/* PSPPIRE - a graphical user interface for PSPP.
- Copyright (C) 2007 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
#include <glib.h>
#include <glib-object.h>
-#include <gtk/gtkwindow.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;
typedef gboolean (*ContentsAreValid) (gpointer);
-typedef enum
- {
- PSPPIRE_HORIZONTAL,
- PSPPIRE_VERTICAL,
- PSPPIRE_TABULAR
- } PsppireOrientation;
-
-
-
struct _PsppireDialog
{
- GtkWindow window;
- GtkWidget *box;
+ PsppireWindowBase window;
/* Private */
GMainLoop *loop;
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;
};
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 *);
-
-
-GType psppire_orientation_get_type (void);
-
-
-#define G_TYPE_PSPPIRE_ORIENTATION (psppire_orientation_get_type ())
-
-
G_END_DECLS
#endif /* __PSPPIRE_DIALOG_H__ */