X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpspp-sheet-view-column.c;h=5e5804e812a87926e98d6b951d091081de002b82;hb=2d2a7bf72aaf1f117faeaddb207108463561302f;hp=67e43409541209b965996381e2e7c4d616470c24;hpb=a6b9f4c6618e164059e7aaec9abece94077ace9e;p=pspp diff --git a/src/ui/gui/pspp-sheet-view-column.c b/src/ui/gui/pspp-sheet-view-column.c index 67e4340954..5e5804e812 100644 --- a/src/ui/gui/pspp-sheet-view-column.c +++ b/src/ui/gui/pspp-sheet-view-column.c @@ -437,12 +437,34 @@ pspp_sheet_view_column_class_init (PsppSheetViewColumnClass *class) GTK_PARAM_READWRITE)); } + +static void _cell_layout_buildable_custom_tag_end (GtkBuildable *buildable, + GtkBuilder *builder, + GObject *child, + const gchar *tagname, + gpointer *data); + + +static void _cell_layout_buildable_add_child (GtkBuildable *buildable, + GtkBuilder *builder, + GObject *child, + const gchar *type); + + +static gboolean _cell_layout_buildable_custom_tag_start (GtkBuildable *buildable, + GtkBuilder *builder, + GObject *child, + const gchar *tagname, + GMarkupParser *parser, + gpointer *data); + + static void pspp_sheet_view_column_buildable_init (GtkBuildableIface *iface) { - iface->add_child = _gtk_cell_layout_buildable_add_child; - iface->custom_tag_start = _gtk_cell_layout_buildable_custom_tag_start; - iface->custom_tag_end = _gtk_cell_layout_buildable_custom_tag_end; + iface->add_child = _cell_layout_buildable_add_child; + iface->custom_tag_start = _cell_layout_buildable_custom_tag_start; + iface->custom_tag_end = _cell_layout_buildable_custom_tag_end; } static void @@ -1577,7 +1599,6 @@ _pspp_sheet_view_column_realize_button (PsppSheetViewColumn *column) attr.window_type = GDK_WINDOW_CHILD; attr.wclass = GDK_INPUT_ONLY; attr.visual = gtk_widget_get_visual (GTK_WIDGET (tree_view)); - attr.colormap = gtk_widget_get_colormap (GTK_WIDGET (tree_view)); attr.event_mask = gtk_widget_get_events (GTK_WIDGET (tree_view)) | (GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | @@ -3101,12 +3122,11 @@ enum { static gboolean pspp_sheet_view_column_cell_process_action (PsppSheetViewColumn *tree_column, - GdkWindow *window, + cairo_t *cr, const GdkRectangle *background_area, const GdkRectangle *cell_area, guint flags, gint action, - const GdkRectangle *expose_area, /* RENDER */ GdkRectangle *focus_rectangle, /* FOCUS */ GtkCellEditable **editable_widget, /* EVENT */ GdkEvent *event, /* EVENT */ @@ -3115,7 +3135,6 @@ pspp_sheet_view_column_cell_process_action (PsppSheetViewColumn *tree_column, GList *list; GdkRectangle real_cell_area; GdkRectangle real_background_area; - GdkRectangle real_expose_area = *cell_area; gint depth = 0; gint expand_cell_count = 0; gint full_requested_width = 0; @@ -3260,11 +3279,10 @@ pspp_sheet_view_column_cell_process_action (PsppSheetViewColumn *tree_column, if (action == CELL_ACTION_RENDER) { gtk_cell_renderer_render (info->cell, - window, + cr, tree_column->tree_view, &rtl_background_area, &rtl_cell_area, - &real_expose_area, flags); } /* FOCUS */ @@ -3425,11 +3443,10 @@ pspp_sheet_view_column_cell_process_action (PsppSheetViewColumn *tree_column, if (action == CELL_ACTION_RENDER) { gtk_cell_renderer_render (info->cell, - window, + cr, tree_column->tree_view, &rtl_background_area, &rtl_cell_area, - &real_expose_area, flags); } /* FOCUS */ @@ -3573,7 +3590,6 @@ pspp_sheet_view_column_cell_process_action (PsppSheetViewColumn *tree_column, * @window: a #GdkDrawable to draw to * @background_area: entire cell area (including tree expanders and maybe padding on the sides) * @cell_area: area normally rendered by a cell renderer - * @expose_area: area that actually needs updating * @flags: flags that affect rendering * * Renders the cell contained by #tree_column. This is used primarily by the @@ -3581,24 +3597,21 @@ pspp_sheet_view_column_cell_process_action (PsppSheetViewColumn *tree_column, **/ void _pspp_sheet_view_column_cell_render (PsppSheetViewColumn *tree_column, - GdkWindow *window, + cairo_t *cr, const GdkRectangle *background_area, const GdkRectangle *cell_area, - const GdkRectangle *expose_area, guint flags) { g_return_if_fail (PSPP_IS_SHEET_VIEW_COLUMN (tree_column)); g_return_if_fail (background_area != NULL); g_return_if_fail (cell_area != NULL); - g_return_if_fail (expose_area != NULL); pspp_sheet_view_column_cell_process_action (tree_column, - window, + cr, background_area, cell_area, flags, CELL_ACTION_RENDER, - expose_area, NULL, NULL, NULL, NULL); } @@ -3619,7 +3632,7 @@ _pspp_sheet_view_column_cell_event (PsppSheetViewColumn *tree_column, cell_area, flags, CELL_ACTION_EVENT, - NULL, NULL, + NULL, editable_widget, event, path_string); @@ -3637,7 +3650,6 @@ _pspp_sheet_view_column_get_focus_area (PsppSheetViewColumn *tree_column, cell_area, 0, CELL_ACTION_FOCUS, - NULL, focus_area, NULL, NULL, NULL); } @@ -3893,10 +3905,9 @@ _pspp_sheet_view_column_cell_focus (PsppSheetViewColumn *tree_column, void _pspp_sheet_view_column_cell_draw_focus (PsppSheetViewColumn *tree_column, - GdkWindow *window, + cairo_t *cr, const GdkRectangle *background_area, const GdkRectangle *cell_area, - const GdkRectangle *expose_area, guint flags) { gint focus_line_width; @@ -3926,22 +3937,21 @@ _pspp_sheet_view_column_cell_draw_focus (PsppSheetViewColumn *tree_column, { GdkRectangle focus_rectangle; pspp_sheet_view_column_cell_process_action (tree_column, - window, + cr, background_area, cell_area, flags, CELL_ACTION_FOCUS, - expose_area, &focus_rectangle, NULL, NULL, NULL); cell_state = flags & GTK_CELL_RENDERER_SELECTED ? GTK_STATE_SELECTED : (flags & GTK_CELL_RENDERER_PRELIT ? GTK_STATE_PRELIGHT : (flags & GTK_CELL_RENDERER_INSENSITIVE ? GTK_STATE_INSENSITIVE : GTK_STATE_NORMAL)); + gtk_paint_focus (gtk_widget_get_style (GTK_WIDGET (tree_column->tree_view)), - window, + cr, cell_state, - cell_area, tree_column->tree_view, "treeview", focus_rectangle.x, @@ -4280,8 +4290,8 @@ static const GMarkupParser attributes_parser = attributes_text_element, }; -gboolean -_gtk_cell_layout_buildable_custom_tag_start (GtkBuildable *buildable, +static gboolean +_cell_layout_buildable_custom_tag_start (GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const gchar *tagname, @@ -4308,8 +4318,8 @@ _gtk_cell_layout_buildable_custom_tag_start (GtkBuildable *buildable, return FALSE; } -void -_gtk_cell_layout_buildable_custom_tag_end (GtkBuildable *buildable, +static void +_cell_layout_buildable_custom_tag_end (GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const gchar *tagname, @@ -4322,8 +4332,8 @@ _gtk_cell_layout_buildable_custom_tag_end (GtkBuildable *buildable, g_slice_free (AttributesSubParserData, parser_data); } -void -_gtk_cell_layout_buildable_add_child (GtkBuildable *buildable, +static void +_cell_layout_buildable_add_child (GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const gchar *type)