Separated psppire_selector_set_subjects into two individual functions
[pspp-builds.git] / src / ui / gui / psppire-selector.h
index 6385c14c2155b48ae2d7a3664d4e8cf058f54e49..ebe8fb66247a07e646534653d249c13823d196ff 100644 (file)
@@ -46,7 +46,8 @@ typedef struct _PsppireSelectorClass  PsppireSelectorClass;
 /* 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);
@@ -76,7 +77,10 @@ struct _PsppireSelector
   GtkWidget *arrow;
   GtkAction *action;
 
+  gboolean dispose_has_run;
+
   enum psppire_selector_dir direction;
+
   GtkWidget *source;
   GtkWidget *dest;
 
@@ -91,6 +95,8 @@ struct _PsppireSelector
   GtkTreeModelFilter *filtered_source;
 
   SelectItemsFunc *select_items;
+  gpointer select_user_data;
+
   FilterItemsFunc *filter;
 
   AllowSelectionFunc *allow_selection;
@@ -107,13 +113,19 @@ struct _PsppireSelectorClass
 
 GType      psppire_selector_get_type        (void);
 GtkWidget* psppire_selector_new             (void);
-void       psppire_selector_set_subjects    (PsppireSelector *,
-                                            GtkWidget *,
-                                            GtkWidget *,
-                                            SelectItemsFunc *,
-                                            FilterItemsFunc * );
 
-void      psppire_selector_set_allow        (PsppireSelector *, AllowSelectionFunc *);
+
+/* Set FILTER_FUNC for this selector */
+void psppire_selector_set_filter_func (PsppireSelector *selector,
+                                      FilterItemsFunc *filter_func);
+
+/* Set SELECT_FUNC for this selector */
+void psppire_selector_set_select_func (PsppireSelector *selector,
+                                      SelectItemsFunc *select_func,
+                                      gpointer user_data);
+
+
+void psppire_selector_set_allow (PsppireSelector *, AllowSelectionFunc *);
 
 
 GType psppire_selector_orientation_get_type (void) G_GNUC_CONST;
@@ -126,7 +138,7 @@ typedef enum {
   PSPPIRE_SELECT_SOURCE_BELOW_DEST
 } PsppireSelectorOrientation;
 
-#define G_TYPE_PSPPIRE_SELECTOR_ORIENTATION \
+#define PSPPIRE_TYPE_SELECTOR_ORIENTATION \
   (psppire_selector_orientation_get_type())