X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpspp-sheet-view.c;h=a5439e854a1998107b4af782c05208507be540d4;hb=838cd359986e2b974e2908ca9bb5b40f0cad3f72;hp=955b8f42d6eef87c27f193ace313ddfbf23db7c6;hpb=1f7a2ff72823601164c2b4b7bc664e7693d54fa3;p=pspp diff --git a/src/ui/gui/pspp-sheet-view.c b/src/ui/gui/pspp-sheet-view.c index 955b8f42d6..a5439e854a 100644 --- a/src/ui/gui/pspp-sheet-view.c +++ b/src/ui/gui/pspp-sheet-view.c @@ -1477,10 +1477,9 @@ pspp_sheet_view_realize (GtkWidget *widget) attributes.height = allocation.height; attributes.wclass = GDK_INPUT_OUTPUT; attributes.visual = gtk_widget_get_visual (widget); - attributes.colormap = gtk_widget_get_colormap (widget); attributes.event_mask = GDK_VISIBILITY_NOTIFY_MASK; - attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP; + attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL; gtk_widget_set_window (widget, gdk_window_new (gtk_widget_get_parent_window (widget), @@ -3851,6 +3850,14 @@ pspp_sheet_view_bin_expose (GtkWidget *widget, gboolean draw_vgrid_lines, draw_hgrid_lines; gint min_y, max_y; cairo_t *cr = gdk_cairo_create (event->window); + GdkRectangle Zarea; + GtkAllocation allocation; + gtk_widget_get_allocation (widget, &allocation); + + Zarea.x = 0; + Zarea.y = 0; + Zarea.width = gdk_window_get_width (event->window); + Zarea.height = allocation.height; rtl = (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL); @@ -3864,17 +3871,19 @@ pspp_sheet_view_bin_expose (GtkWidget *widget, if (tree_view->priv->row_count == 0) { - draw_empty_focus (tree_view, &event->area); + draw_empty_focus (tree_view, &Zarea); return TRUE; } +#if GTK3_TRANSITION /* clip event->area to the visible area */ - if (event->area.height < 0.5) + if (Zarea.height < 0.5) return TRUE; +#endif validate_visible_area (tree_view); - new_y = TREE_WINDOW_Y_TO_RBTREE_Y (tree_view, event->area.y); + new_y = TREE_WINDOW_Y_TO_RBTREE_Y (tree_view, Zarea.y); if (new_y < 0) new_y = 0; @@ -3892,7 +3901,7 @@ pspp_sheet_view_bin_expose (GtkWidget *widget, event->window, gtk_widget_get_state (widget), GTK_SHADOW_NONE, - &event->area, + &Zarea, widget, "cell_even", 0, tree_view->priv->height, @@ -3974,7 +3983,7 @@ pspp_sheet_view_bin_expose (GtkWidget *widget, cell_offset = 0; - background_area.y = y_offset + event->area.y; + background_area.y = y_offset + Zarea.y; background_area.height = max_height; max_y = background_area.y + max_height; @@ -4025,12 +4034,14 @@ pspp_sheet_view_bin_expose (GtkWidget *widget, else selected_column = TRUE; - if (cell_offset > event->area.x + event->area.width || - cell_offset + column->width < event->area.x) +#if GTK3_TRANSITION + if (cell_offset > Zarea.x + Zarea.width || + cell_offset + column->width < Zarea.x) { cell_offset += column->width; continue; } +#endif if (selected && selected_column) flags |= GTK_CELL_RENDERER_SELECTED; @@ -4166,7 +4177,7 @@ pspp_sheet_view_bin_expose (GtkWidget *widget, event->window, state, GTK_SHADOW_NONE, - &event->area, + &Zarea, widget, new_detail, background_area.x, @@ -4180,7 +4191,7 @@ pspp_sheet_view_bin_expose (GtkWidget *widget, event->window, state, GTK_SHADOW_NONE, - &event->area, + &Zarea, widget, detail, background_area.x, @@ -4209,7 +4220,7 @@ pspp_sheet_view_bin_expose (GtkWidget *widget, #endif } - if (y_offset + max_height >= event->area.height - 0.5) + if (y_offset + max_height >= Zarea.height - 0.5) { #if GTK3_TRANSITION gdk_draw_line (event->window, @@ -4231,7 +4242,7 @@ pspp_sheet_view_bin_expose (GtkWidget *widget, event->window, &background_area, &cell_area, - &event->area, + &Zarea, flags); if (node == cursor && has_special_cell && @@ -4244,25 +4255,25 @@ pspp_sheet_view_bin_expose (GtkWidget *widget, event->window, &background_area, &cell_area, - &event->area, + &Zarea, flags); } cell_offset += column->width; } - if (cell_offset < event->area.x) + if (cell_offset < Zarea.x) { gtk_paint_flat_box (gtk_widget_get_style (widget), event->window, GTK_STATE_NORMAL, GTK_SHADOW_NONE, - &event->area, + &Zarea, widget, "base", cell_offset, background_area.y, - event->area.x - cell_offset, + Zarea.x - cell_offset, background_area.height); } @@ -4298,7 +4309,7 @@ pspp_sheet_view_bin_expose (GtkWidget *widget, gtk_paint_focus (gtk_widget_get_style (widget), tree_view->priv->bin_window, gtk_widget_get_state (widget), - &event->area, + &Zarea, widget, (is_first ? (is_last ? "treeview-drop-indicator" : "treeview-drop-indicator-left" ) @@ -4311,7 +4322,7 @@ pspp_sheet_view_bin_expose (GtkWidget *widget, gtk_paint_focus (gtk_widget_get_style (widget), tree_view->priv->bin_window, gtk_widget_get_state (widget), - &event->area, + &Zarea, widget, "treeview-drop-indicator", 0, BACKGROUND_FIRST_PIXEL (tree_view, node) @@ -4366,7 +4377,7 @@ pspp_sheet_view_bin_expose (GtkWidget *widget, gtk_paint_focus (gtk_widget_get_style (widget), tree_view->priv->bin_window, focus_rect_state, - &event->area, + &Zarea, widget, (is_first ? (is_last ? "treeview" : "treeview-left" ) @@ -4377,7 +4388,7 @@ pspp_sheet_view_bin_expose (GtkWidget *widget, gtk_paint_focus (gtk_widget_get_style (widget), tree_view->priv->bin_window, focus_rect_state, - &event->area, + &Zarea, widget, "treeview", 0, tmp_y, @@ -4402,7 +4413,7 @@ pspp_sheet_view_bin_expose (GtkWidget *widget, } while (!done); } - while (y_offset < event->area.height); + while (y_offset < Zarea.height); done: pspp_sheet_view_draw_vertical_grid_lines (tree_view, cr, n_visible_columns, @@ -7691,9 +7702,8 @@ _pspp_sheet_view_column_start_drag (PsppSheetView *tree_view, attributes.width = column->allocation.width; attributes.height = column->allocation.height; attributes.visual = gtk_widget_get_visual (GTK_WIDGET (tree_view)); - attributes.colormap = gtk_widget_get_colormap (GTK_WIDGET (tree_view)); attributes.event_mask = GDK_VISIBILITY_NOTIFY_MASK | GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK; - attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP; + attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL ; tree_view->priv->drag_window = gdk_window_new (tree_view->priv->bin_window, &attributes,