#include <glib.h>
#include <glib-object.h>
#include <gtk/gtkbutton.h>
+#include <gtk/gtkaction.h>
#include <gtk/gtkarrow.h>
#include <gtk/gtktreemodel.h>
#include <gtk/gtktreemodelfilter.h>
/* Function for appending selected items to the destination widget */
typedef void SelectItemsFunc (GtkTreeIter iter,
GtkWidget *dest,
- GtkTreeModel *source_model);
+ GtkTreeModel *source_model,
+ gpointer data);
+
+/* Function to determine if items may be selected */
+typedef gboolean AllowSelectionFunc (GtkWidget *src, GtkWidget *dest);
/* Function to determine whether an item in MODEL, pointed to by ITER
/* <private> */
GtkWidget *arrow;
+ GtkAction *action;
enum psppire_selector_dir direction;
GtkWidget *source;
GtkTreeModelFilter *filtered_source;
SelectItemsFunc *select_items;
+ gpointer select_user_data;
+
FilterItemsFunc *filter;
+
+ AllowSelectionFunc *allow_selection;
};
struct _PsppireSelectorClass
GtkWidget *,
GtkWidget *,
SelectItemsFunc *,
- FilterItemsFunc * );
+ FilterItemsFunc *,
+ gpointer );
+
+void psppire_selector_set_allow (PsppireSelector *, AllowSelectionFunc *);
+
GType psppire_selector_orientation_get_type (void) G_GNUC_CONST;