X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=inline;f=src%2Fui%2Fgui%2Fpsppire-selector.h;h=af3d45a372f6d8b6f5235b351cef94294409bae5;hb=dc29c57e7908b0bdc6ab84f8aa4b7cb8a780026c;hp=cb3f10f824e41b031a7331467bf7466a4d10def3;hpb=1d5a97ba2afec23855a8294ff2814ab052f6777a;p=pspp
diff --git a/src/ui/gui/psppire-selector.h b/src/ui/gui/psppire-selector.h
index cb3f10f824..af3d45a372 100644
--- a/src/ui/gui/psppire-selector.h
+++ b/src/ui/gui/psppire-selector.h
@@ -1,10 +1,9 @@
-/*
- PSPPIRE --- A Graphical User Interface for PSPP
- Copyright (C) 2007 Free Software Foundation
+/* PSPPIRE - a graphical user interface for PSPP.
+ Copyright (C) 2007, 2010 Free Software Foundation
- This program is free software; you can redistribute it and/or modify
+ 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
- the Free Software Foundation; either version 2 of the License, or
+ the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
@@ -13,10 +12,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301, USA.
-*/
+ along with this program. If not, see . */
#ifndef __PSPPIRE_SELECTOR_H__
@@ -25,10 +21,7 @@
#include
#include
-#include
-#include
-#include
-#include
+#include
G_BEGIN_DECLS
@@ -49,7 +42,11 @@ 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);
/* Function to determine whether an item in MODEL, pointed to by ITER
@@ -75,7 +72,10 @@ struct _PsppireSelector
/* */
GtkWidget *arrow;
+ gboolean dispose_has_run;
+
enum psppire_selector_dir direction;
+
GtkWidget *source;
GtkWidget *dest;
@@ -90,7 +90,17 @@ struct _PsppireSelector
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;
};
struct _PsppireSelectorClass
@@ -100,15 +110,27 @@ 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 * );
+
+
+/* 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;
@@ -120,10 +142,12 @@ typedef enum {
PSPPIRE_SELECT_SOURCE_BELOW_DEST
} PsppireSelectorOrientation;
-#define G_TYPE_PSPPIRE_SELECTOR_ORIENTATION \
+#define PSPPIRE_TYPE_SELECTOR_ORIENTATION \
(psppire_selector_orientation_get_type())
+void psppire_selector_set_default_selection_func (GType type, SelectItemsFunc *);
+
G_END_DECLS