#include "data/file-handle-def.h"
#include "data/dataset.h"
#include "libpspp/version.h"
-#include "output/group-item.h"
+#include "output/output-item.h"
#include "output/pivot-table.h"
#include "output/spv/spv.h"
#include "output/spv/spv-output.h"
#include "psppire-syntax-window.h"
#include "psppire-window-register.h"
-static void psppire_window_base_init (PsppireWindowClass *class);
static void psppire_window_class_init (PsppireWindowClass *class);
static void psppire_window_init (PsppireWindow *window);
-
static GObjectClass *parent_class;
-GType
-psppire_window_get_type (void)
-{
- static GType psppire_window_type = 0;
-
- if (!psppire_window_type)
- {
- static const GTypeInfo psppire_window_info =
- {
- sizeof (PsppireWindowClass),
- (GBaseInitFunc) (void (*)(void)) psppire_window_base_init,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) (void (*)(void)) psppire_window_class_init,
- (GClassFinalizeFunc) NULL,
- NULL,
- sizeof (PsppireWindow),
- 0,
- (GInstanceInitFunc) (void (*)(void)) psppire_window_init,
- NULL /* value_table */
- };
-
- psppire_window_type =
- g_type_register_static (PSPPIRE_TYPE_WINDOW_BASE, "PsppireWindow",
- &psppire_window_info, G_TYPE_FLAG_ABSTRACT);
- }
-
- return psppire_window_type;
-}
-
+G_DEFINE_ABSTRACT_TYPE (PsppireWindow, psppire_window, PSPPIRE_TYPE_WINDOW_BASE)
/* Properties */
enum
{
GObjectClass *object_class = G_OBJECT_CLASS (class);
+ object_class->finalize = psppire_window_finalize;
+
GParamSpec *description_spec =
null_if_empty_param ("description",
"Description",
}
-static void
-psppire_window_base_init (PsppireWindowClass *class)
-{
- GObjectClass *object_class = G_OBJECT_CLASS (class);
-
- object_class->finalize = psppire_window_finalize;
-}
-
-
-
static void
insert_menuitem_into_menu (PsppireWindow *window, gpointer key)
{
gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
_("If you don't save, changes from the last %ld seconds will be permanently lost."),
- timespan / G_TIME_SPAN_SECOND);
+ (long int) (timespan / G_TIME_SPAN_SECOND));
gtk_dialog_add_button (GTK_DIALOG (dialog),
_("Close _without saving"),
break;
for (size_t i = common; i < old_path.n; i++)
- group_close_item_submit (group_close_item_create ());
+ output_item_submit (group_close_item_create ());
for (size_t i = common; i < new_path.n; i++)
- group_open_item_submit (group_open_item_create (
- new_path.nodes[i]->command_id));
+ output_item_submit (group_open_item_create (
+ new_path.nodes[i]->command_id,
+ new_path.nodes[i]->label));
free_path (&old_path);
free_path (&new_path);
if (items[i]->type == SPV_ITEM_TEXT)
spv_text_submit (items[i]);
else if (items[i]->type == SPV_ITEM_TABLE)
- pivot_table_submit (spv_item_get_table (items[i]));
+ pivot_table_submit (pivot_table_ref (spv_item_get_table (items[i])));
+ else if (items[i]->type == SPV_ITEM_IMAGE)
+ {
+ cairo_surface_t *image = spv_item_get_image (items[i]);
+ output_item_submit (image_item_create (cairo_surface_reference (
+ image)));
+ }
prev_heading = heading;
}
dump_heading_transition (prev_heading, spv_get_root (spv));
g_free (uri);
}
-