/* PSPPIRE - a graphical user interface for PSPP.
- Copyright (C) 2007 Free Software Foundation
+ Copyright (C) 2007, 2010 Free Software Foundation
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#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>
+#include <gtk/gtk.h>
G_BEGIN_DECLS
/* <private> */
GtkWidget *arrow;
- GtkAction *action;
+
+ gboolean dispose_has_run;
enum psppire_selector_dir direction;
+
GtkWidget *source;
GtkWidget *dest;
gint orientation;
- GtkTreeModelFilter *filtered_source;
-
SelectItemsFunc *select_items;
gpointer select_user_data;
FilterItemsFunc *filter;
AllowSelectionFunc *allow_selection;
+
+ gulong row_activate_id ;
+ gulong source_select_id ;
+
+ gboolean primary_requested;
+ GList *source_litem;
};
struct _PsppireSelectorClass
/* This is a hash of Lists of FilterItemsFunc pointers, keyed by address of
the source widget */
GHashTable *source_hash;
+
+ /* A hash of SelectItemFuncs indexed by GType */
+ GHashTable *default_selection_funcs;
};
GType psppire_selector_get_type (void);
GtkWidget* psppire_selector_new (void);
-void psppire_selector_set_subjects (PsppireSelector *,
- GtkWidget *,
- GtkWidget *,
- SelectItemsFunc *,
- FilterItemsFunc *,
- gpointer );
-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;
(psppire_selector_orientation_get_type())
+void psppire_selector_set_default_selection_func (GType type, SelectItemsFunc *);
+
G_END_DECLS