/* PSPPIRE - a graphical user interface for PSPP.
- Copyright (C) 2008, 2010, 2011 Free Software Foundation
+ Copyright (C) 2008, 2010, 2011, 2012, 2013, 2014, 2016 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
#ifndef __PSPPIRE_DATA_WINDOW_H__
#define __PSPPIRE_DATA_WINDOW_H__
+/* PsppireDataWindow is a top-level window for editing a PSPP dataset.
+
+ PsppireDataWindow contains a PsppireDataEditor.
+
+ PsppireDataWindow's own functionality basically amounts to managing menus
+ and toolbars. In addition to maintaining some menu itema and toolbar items
+ of its own, it merges in menu and toolbar items provided by its child
+ PsppireDataEditor (based on the "ui-manager" property of PsppireDataEditor).
+ */
#include <glib.h>
#include <glib-object.h>
typedef struct _PsppireDataWindowClass PsppireDataWindowClass;
+enum PsppireDataWindowFormat {
+ PSPPIRE_DATA_WINDOW_SAV,
+ PSPPIRE_DATA_WINDOW_ZSAV,
+ PSPPIRE_DATA_WINDOW_POR
+};
+
struct _PsppireDataWindow
{
PsppireWindow parent;
+ gboolean dispose_has_run;
+
/* <private> */
PsppireDataEditor *data_editor;
GtkBuilder *builder;
- PsppireVarStore *var_store;
+ PsppireDict *dict;
struct dataset *dataset;
PsppireDataStore *data_store;
- GtkAction *invoke_goto_dialog;
-
- GtkAction *insert_variable;
- GtkAction *insert_case;
- GtkAction *delete_variables;
- GtkAction *delete_cases;
-
-
- gboolean save_as_portable;
+ enum PsppireDataWindowFormat format;
struct ll ll; /* In global 'all_data_windows' list. */
unsigned long int lazy_serial;
unsigned int dataset_seqno;
+
+ GtkToolItem *ti_value_labels_button;
+
+ GtkToolItem *ti_jump_to_variable;
+ GtkToolItem *ti_insert_variable;
+ GtkToolItem *ti_jump_to_case;
+ GtkToolItem *ti_insert_case;
+ GtkToolItem *ti_find;
+
+ GtkWidget *mi_go_to_case;
+ GtkWidget *mi_insert_case;
+ GtkWidget *mi_find;
+ GtkWidget *mi_find_separator;
+ GtkWidget *mi_options;
+
+ GtkWidget *mi_edit_separator ;
+ GtkWidget *mi_cut;
+ GtkWidget *mi_copy;
+ GtkWidget *mi_paste;
+ GtkWidget *mi_clear_variables;
+ GtkWidget *mi_clear_cases;
+ GtkWidget *mi_insert_var;
};
struct _PsppireDataWindowClass
void psppire_data_window_undefault (PsppireDataWindow *);
PsppireDataWindow *psppire_data_window_for_dataset (struct dataset *);
+PsppireDataWindow *psppire_data_window_for_data_store (PsppireDataStore *);
bool psppire_data_window_is_empty (PsppireDataWindow *);
-void create_data_window (void);
+GtkWindow * create_data_window (void);
+GtkWindow * open_data_window (PsppireWindow *victim, const char *file_name,
+ const char *encoding, gpointer hint);
G_END_DECLS