Set the cell value when the reference entry changes
[pspp] / src / ui / gui / psppire-dialog.h
index ae1f41d92b630277e7bf5ac6435cf1b0fac374f5..29381261bf4c134c5b7ba062b841c1bc4f42776e 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPPIRE - a graphical user interface for PSPP.
-   Copyright (C) 2007, 2010, 2011  Free Software Foundation
+   Copyright (C) 2007, 2010, 2011, 2012, 2015  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
@@ -22,6 +22,7 @@
 #include <glib.h>
 #include <glib-object.h>
 #include <gtk/gtk.h>
+#include "psppire-window-base.h"
 
 
 #define PSPPIRE_RESPONSE_PASTE 1
 
 G_BEGIN_DECLS
 
-#define PSPPIRE_DIALOG_TYPE            (psppire_dialog_get_type ())
-#define PSPPIRE_DIALOG(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), PSPPIRE_DIALOG_TYPE, PsppireDialog))
-#define PSPPIRE_DIALOG_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), PSPPIRE_DIALOG_TYPE, PsppireDialogClass))
-#define PSPPIRE_IS_DIALOG(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PSPPIRE_DIALOG_TYPE))
-#define PSPPIRE_IS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PSPPIRE_DIALOG_TYPE))
+#define PSPPIRE_TYPE_DIALOG            (psppire_dialog_get_type ())
+#define PSPPIRE_DIALOG(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), PSPPIRE_TYPE_DIALOG, PsppireDialog))
+#define PSPPIRE_DIALOG_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), PSPPIRE_TYPE_DIALOG, PsppireDialogClass))
+#define PSPPIRE_IS_DIALOG(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PSPPIRE_TYPE_DIALOG))
+#define PSPPIRE_IS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PSPPIRE_TYPE_DIALOG))
 
 
 typedef struct _PsppireDialog       PsppireDialog;
@@ -42,19 +43,9 @@ typedef struct _PsppireDialogClass  PsppireDialogClass;
 
 typedef gboolean (*ContentsAreValid) (gpointer);
 
-typedef enum
-  {
-    PSPPIRE_HORIZONTAL,
-    PSPPIRE_VERTICAL,
-    PSPPIRE_TABULAR
-  } PsppireOrientation;
-
-
-
 struct _PsppireDialog
 {
-  GtkWindow window;
-  GtkWidget *box;
+  PsppireWindowBase window;
 
   /* Private */
   GMainLoop *loop;
@@ -62,13 +53,16 @@ struct _PsppireDialog
 
   ContentsAreValid contents_are_valid;
   gpointer validity_data;
+  ContentsAreValid contents_are_acceptable;
+  gpointer acceptable_data;
   gboolean slidable;
-  PsppireOrientation orientation;
+  gchar *help_page;
+
 };
 
 struct _PsppireDialogClass
 {
-  GtkWindowClass parent_class;
+  PsppireWindowBaseClass parent_class;
 };
 
 
@@ -81,16 +75,12 @@ gint           psppire_dialog_run             (PsppireDialog *);
 void           psppire_dialog_set_valid_predicate (PsppireDialog *,
                                                   ContentsAreValid,
                                                   gpointer );
+void           psppire_dialog_set_accept_predicate (PsppireDialog *,
+                                                    ContentsAreValid,
+                                                    gpointer );
+gboolean       psppire_dialog_is_acceptable (const PsppireDialog *);
 void           psppire_dialog_notify_change (PsppireDialog *);
 
-
-
-GType psppire_orientation_get_type (void);
-
-
-#define PSPPIRE_TYPE_ORIENTATION (psppire_orientation_get_type ())
-
-
 G_END_DECLS
 
 #endif /* __PSPPIRE_DIALOG_H__ */