X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-output-window.c;h=e4f6c6ec95de0c2d83e68799b3b21899fbdb4cce;hb=refs%2Fbuilds%2F20140222033038%2Fpspp;hp=8a29fab18cbc1bf4ae38e87c35156687f6b7d736;hpb=fce028c380d496e42823fd24774e0159ed7cc110;p=pspp diff --git a/src/ui/gui/psppire-output-window.c b/src/ui/gui/psppire-output-window.c index 8a29fab18c..e4f6c6ec95 100644 --- a/src/ui/gui/psppire-output-window.c +++ b/src/ui/gui/psppire-output-window.c @@ -162,12 +162,10 @@ psppire_output_cast (struct output_driver *driver) static void on_dwgarea_realize (GtkWidget *widget, gpointer data); static gboolean -expose_event_callback (GtkWidget *widget, GdkEventExpose *event, gpointer data) +draw_callback (GtkWidget *widget, cairo_t *cr, gpointer data) { PsppireOutputWindow *viewer = PSPPIRE_OUTPUT_WINDOW (data); struct xr_rendering *r = g_object_get_data (G_OBJECT (widget), "rendering"); - cairo_t *cr = gdk_cairo_create (widget->window); - const GtkStyle *style = gtk_widget_get_style (GTK_WIDGET (viewer)); PangoFontDescription *font_desc; @@ -194,14 +192,12 @@ expose_event_callback (GtkWidget *widget, GdkEventExpose *event, gpointer data) pango_font_description_free (font_desc); xr_rendering_apply_options (r, &viewer->render_opts); - - xr_rendering_draw (r, cr, event->area.x, event->area.y, - event->area.width, event->area.height); - cairo_destroy (cr); + xr_rendering_draw_all (r, cr); return TRUE; } + static void psppire_output_submit (struct output_driver *this, const struct output_item *item) @@ -245,7 +241,7 @@ psppire_output_submit (struct output_driver *this, return; } - cr = gdk_cairo_create (GTK_WIDGET (pod->viewer)->window); + cr = gdk_cairo_create (gtk_widget_get_window (GTK_WIDGET (pod->viewer))); if (pod->xr == NULL) { const GtkStyle *style = gtk_widget_get_style (GTK_WIDGET (viewer)); @@ -308,8 +304,8 @@ psppire_output_submit (struct output_driver *this, g_signal_connect (drawing_area, "realize", G_CALLBACK (on_dwgarea_realize), pod->viewer); - g_signal_connect (drawing_area, "expose_event", - G_CALLBACK (expose_event_callback), pod->viewer); + g_signal_connect (drawing_area, "draw", + G_CALLBACK (draw_callback), pod->viewer); gtk_widget_set_size_request (drawing_area, tw, th); gtk_layout_put (pod->viewer->output, drawing_area, 0, pod->viewer->y); @@ -453,8 +449,8 @@ on_row_activate (GtkTreeView *overview, g_value_unset (&value); vadj = gtk_layout_get_vadjustment (window->output); - min = vadj->lower; - max = vadj->upper - vadj->page_size; + min = gtk_adjustment_get_lower (vadj); + max = gtk_adjustment_get_upper (vadj) - gtk_adjustment_get_page_size (vadj); if (y < min) y = min; else if (y > max) @@ -832,7 +828,7 @@ clipboard_get_cb (GtkClipboard *clipboard, if ( g_file_get_contents (filename, &text, &length, NULL) ) { - gtk_selection_data_set (selection_data, selection_data->target, + gtk_selection_data_set (selection_data, gtk_selection_data_get_target (selection_data), 8, (const guchar *) text, length); } @@ -1021,11 +1017,14 @@ psppire_output_window_init (PsppireOutputWindow *window) NULL); { + GtkWidget *w; GtkUIManager *uim = GTK_UI_MANAGER (get_object_assert (xml, "uimanager1", GTK_TYPE_UI_MANAGER)); merge_help_menu (uim); + w = gtk_ui_manager_get_widget (uim,"/ui/menubar/windows_menuitem/windows_minimise-all"); + PSPPIRE_WINDOW (window)->menu = - GTK_MENU_SHELL (gtk_ui_manager_get_widget (uim,"/ui/menubar/windows_menuitem/windows_minimise-all")->parent); + GTK_MENU_SHELL (gtk_widget_get_parent (w)); } g_signal_connect_swapped (get_action_assert (xml, "file_export"), "activate",