X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=inline;f=src%2Fui%2Fgui%2Fpsppire-dialog.h;h=29381261bf4c134c5b7ba062b841c1bc4f42776e;hb=ca1382f24fd0a8a90dd65daf98a279d6a549d9da;hp=b7e39a7c41687e3b7184b1ee9362a96ec952047f;hpb=1d5a97ba2afec23855a8294ff2814ab052f6777a;p=pspp
diff --git a/src/ui/gui/psppire-dialog.h b/src/ui/gui/psppire-dialog.h
index b7e39a7c41..29381261bf 100644
--- a/src/ui/gui/psppire-dialog.h
+++ b/src/ui/gui/psppire-dialog.h
@@ -1,47 +1,85 @@
+/* PSPPIRE - a graphical user interface for PSPP.
+ 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
+ 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,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ 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, see . */
+
+
#ifndef __PSPPIRE_DIALOG_H__
#define __PSPPIRE_DIALOG_H__
#include
#include
-#include
+#include
+#include "psppire-window-base.h"
-#define PSPPIRE_RESPONSE_PASTE 1
+#define PSPPIRE_RESPONSE_PASTE 1
+#define PSPPIRE_RESPONSE_GOTO 2
+#define PSPPIRE_RESPONSE_CONTINUE 3
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;
typedef struct _PsppireDialogClass PsppireDialogClass;
+typedef gboolean (*ContentsAreValid) (gpointer);
+
struct _PsppireDialog
{
- GtkWindow window;
- GtkWidget *box;
+ PsppireWindowBase window;
/* Private */
GMainLoop *loop;
gint response;
+
+ ContentsAreValid contents_are_valid;
+ gpointer validity_data;
+ ContentsAreValid contents_are_acceptable;
+ gpointer acceptable_data;
+ gboolean slidable;
+ gchar *help_page;
+
};
struct _PsppireDialogClass
{
- GtkWindowClass parent_class;
+ PsppireWindowBaseClass parent_class;
};
+
GType psppire_dialog_get_type (void);
GtkWidget* psppire_dialog_new (void);
void psppire_dialog_reload (PsppireDialog *);
+void psppire_dialog_help (PsppireDialog *);
void psppire_dialog_close (PsppireDialog *);
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 *);
G_END_DECLS