Merge remote-tracking branch 'origin/sheet'
[pspp] / src / ui / gui / missing-val-dialog.h
index 82acf9757f0738eea85ec186a9a51047c18ebad3..6d04d55bd5cd942cc68bad7b97b53d71c5bc0746 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPPIRE - a graphical user interface for PSPP.
-   Copyright (C) 2005  Free Software Foundation
+   Copyright (C) 2005, 2011, 2012  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
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>. */
 
-#ifndef __PSPPIRE_MISSING_VAL_DIALOG_H
-#define __PSPPIRE_MISSING_VAL_DIALOG_H
+#ifndef PSPPIRE_MISSING_VAL_DIALOG_H
+#define PSPPIRE_MISSING_VAL_DIALOG_H 1
 
 /*  This module describes the behaviour of the Missing Values dialog box,
     used for input of the missing values in the variable sheet */
 
-
 #include <gtk/gtk.h>
+#include "data/format.h"
+#include "data/missing-values.h"
+#include "ui/gui/psppire-dialog.h"
+
+G_BEGIN_DECLS
 
-#include <data/missing-values.h>
+struct variable;
 
-struct missing_val_dialog
-{
-  GtkWidget *window;
+#define PSPPIRE_TYPE_MISSING_VAL_DIALOG             (psppire_missing_val_dialog_get_type())
+#define PSPPIRE_MISSING_VAL_DIALOG(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj),PSPPIRE_TYPE_MISSING_VAL_DIALOG,PsppireMissingValDialog))
+#define PSPPIRE_MISSING_VAL_DIALOG_CLASS(class)     (G_TYPE_CHECK_CLASS_CAST ((class),PSPPIRE_TYPE_MISSING_VAL_DIALOG,PsppireMissingValDialogClass))
+#define PSPPIRE_IS_MISSING_VAL_DIALOG(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj),PSPPIRE_TYPE_MISSING_VAL_DIALOG))
+#define PSPPIRE_IS_MISSING_VAL_DIALOG_CLASS(class)  (G_TYPE_CHECK_CLASS_TYPE ((class),PSPPIRE_TYPE_MISSING_VAL_DIALOG))
+#define PSPPIRE_MISSING_VAL_DIALOG_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj),PSPPIRE_TYPE_MISSING_VAL_DIALOG,PsppireMissingValDialogClass))
 
-  /* The variable whose missing values are to be updated */
-  struct variable *pv;
+typedef struct _PsppireMissingValDialog      PsppireMissingValDialog;
+typedef struct _PsppireMissingValDialogClass PsppireMissingValDialogClass;
 
-  /* The dictionary to which that value belongs */
-  PsppireDict *dict;
+struct _PsppireMissingValDialog {
+  PsppireDialog parent;
 
-  /* local copy */
   struct missing_values mvl;
+  gchar *encoding;
+  struct fmt_spec format;
 
   /* Radio Buttons */
   GtkToggleButton *button_none;
@@ -50,8 +58,24 @@ struct missing_val_dialog
   GtkWidget *discrete;
 };
 
-struct missing_val_dialog * missing_val_dialog_create (GtkWindow *toplevel);
+struct _PsppireMissingValDialogClass {
+  PsppireDialogClass parent_class;
+};
+
+GType psppire_missing_val_dialog_get_type (void) G_GNUC_CONST;
+PsppireMissingValDialog* psppire_missing_val_dialog_new (
+  const struct variable *);
+
+void psppire_missing_val_dialog_set_variable (PsppireMissingValDialog *,
+                                              const struct variable *);
+const struct missing_values *psppire_missing_val_dialog_get_missing_values (
+  const PsppireMissingValDialog *);
+
+gint psppire_missing_val_dialog_run (GtkWindow *parent_window,
+                                     const struct variable *,
+                                     struct missing_values *);
+
 
-void missing_val_dialog_show (struct missing_val_dialog *dialog);
+G_END_DECLS
 
-#endif
+#endif /* PSPPIRE_MISSING_VAL_DIALOG_H */