Implemented the recode dialogs.
[pspp-builds.git] / src / ui / gui / psppire-selector.h
index cb3f10f824e41b031a7331467bf7466a4d10def3..6385c14c2155b48ae2d7a3664d4e8cf058f54e49 100644 (file)
@@ -1,10 +1,9 @@
-/*
-   PSPPIRE --- A Graphical User Interface for PSPP
+/* PSPPIRE - a graphical user interface for PSPP.
    Copyright (C) 2007  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,
    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 <http://www.gnu.org/licenses/>. */
 
 
 #ifndef __PSPPIRE_SELECTOR_H__
@@ -26,6 +22,7 @@
 #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>
@@ -51,6 +48,9 @@ typedef void SelectItemsFunc (GtkTreeIter iter,
                              GtkWidget *dest,
                              GtkTreeModel *source_model);
 
+/* 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
    is currently selected.
@@ -74,6 +74,7 @@ struct _PsppireSelector
 
   /* <private> */
   GtkWidget *arrow;
+  GtkAction *action;
 
   enum psppire_selector_dir direction;
   GtkWidget *source;
@@ -91,6 +92,8 @@ struct _PsppireSelector
 
   SelectItemsFunc *select_items;
   FilterItemsFunc *filter;
+
+  AllowSelectionFunc *allow_selection;
 };
 
 struct _PsppireSelectorClass
@@ -110,6 +113,9 @@ void       psppire_selector_set_subjects    (PsppireSelector *,
                                             SelectItemsFunc *,
                                             FilterItemsFunc * );
 
+void      psppire_selector_set_allow        (PsppireSelector *, AllowSelectionFunc *);
+
+
 GType psppire_selector_orientation_get_type (void) G_GNUC_CONST;