forked from AuroraMiddleware/gtk
gtk/gtktreeview.c: use accessor functions to access GtkWidget
This commit is contained in:
parent
2d0a655201
commit
d05d713068
@ -1770,25 +1770,30 @@ gtk_tree_view_map (GtkWidget *widget)
|
||||
|
||||
gtk_tree_view_map_buttons (tree_view);
|
||||
|
||||
gdk_window_show (widget->window);
|
||||
gdk_window_show (gtk_widget_get_window (widget));
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_tree_view_realize (GtkWidget *widget)
|
||||
{
|
||||
GtkAllocation allocation;
|
||||
GtkStyle *style;
|
||||
GtkTreeView *tree_view = GTK_TREE_VIEW (widget);
|
||||
GList *tmp_list;
|
||||
GdkWindow *window;
|
||||
GdkWindowAttr attributes;
|
||||
GList *tmp_list;
|
||||
gint attributes_mask;
|
||||
|
||||
gtk_widget_set_realized (widget, TRUE);
|
||||
|
||||
gtk_widget_get_allocation (widget, &allocation);
|
||||
|
||||
/* Make the main, clipping window */
|
||||
attributes.window_type = GDK_WINDOW_CHILD;
|
||||
attributes.x = widget->allocation.x;
|
||||
attributes.y = widget->allocation.y;
|
||||
attributes.width = widget->allocation.width;
|
||||
attributes.height = widget->allocation.height;
|
||||
attributes.x = allocation.x;
|
||||
attributes.y = allocation.y;
|
||||
attributes.width = allocation.width;
|
||||
attributes.height = allocation.height;
|
||||
attributes.wclass = GDK_INPUT_OUTPUT;
|
||||
attributes.visual = gtk_widget_get_visual (widget);
|
||||
attributes.colormap = gtk_widget_get_colormap (widget);
|
||||
@ -1796,15 +1801,18 @@ gtk_tree_view_realize (GtkWidget *widget)
|
||||
|
||||
attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP;
|
||||
|
||||
widget->window = gdk_window_new (gtk_widget_get_parent_window (widget),
|
||||
&attributes, attributes_mask);
|
||||
gdk_window_set_user_data (widget->window, widget);
|
||||
window = gdk_window_new (gtk_widget_get_parent_window (widget),
|
||||
&attributes, attributes_mask);
|
||||
gtk_widget_set_window (widget, window);
|
||||
gdk_window_set_user_data (window, widget);
|
||||
|
||||
gtk_widget_get_allocation (widget, &allocation);
|
||||
|
||||
/* Make the window for the tree */
|
||||
attributes.x = 0;
|
||||
attributes.y = TREE_VIEW_HEADER_HEIGHT (tree_view);
|
||||
attributes.width = MAX (tree_view->priv->width, widget->allocation.width);
|
||||
attributes.height = widget->allocation.height;
|
||||
attributes.width = MAX (tree_view->priv->width, allocation.width);
|
||||
attributes.height = allocation.height;
|
||||
attributes.event_mask = (GDK_EXPOSURE_MASK |
|
||||
GDK_SCROLL_MASK |
|
||||
GDK_POINTER_MOTION_MASK |
|
||||
@ -1814,14 +1822,16 @@ gtk_tree_view_realize (GtkWidget *widget)
|
||||
GDK_BUTTON_RELEASE_MASK |
|
||||
gtk_widget_get_events (widget));
|
||||
|
||||
tree_view->priv->bin_window = gdk_window_new (widget->window,
|
||||
tree_view->priv->bin_window = gdk_window_new (window,
|
||||
&attributes, attributes_mask);
|
||||
gdk_window_set_user_data (tree_view->priv->bin_window, widget);
|
||||
|
||||
gtk_widget_get_allocation (widget, &allocation);
|
||||
|
||||
/* Make the column header window */
|
||||
attributes.x = 0;
|
||||
attributes.y = 0;
|
||||
attributes.width = MAX (tree_view->priv->width, widget->allocation.width);
|
||||
attributes.width = MAX (tree_view->priv->width, allocation.width);
|
||||
attributes.height = tree_view->priv->header_height;
|
||||
attributes.event_mask = (GDK_EXPOSURE_MASK |
|
||||
GDK_SCROLL_MASK |
|
||||
@ -1833,15 +1843,17 @@ gtk_tree_view_realize (GtkWidget *widget)
|
||||
GDK_KEY_RELEASE_MASK |
|
||||
gtk_widget_get_events (widget));
|
||||
|
||||
tree_view->priv->header_window = gdk_window_new (widget->window,
|
||||
tree_view->priv->header_window = gdk_window_new (window,
|
||||
&attributes, attributes_mask);
|
||||
gdk_window_set_user_data (tree_view->priv->header_window, widget);
|
||||
|
||||
/* Add them all up. */
|
||||
widget->style = gtk_style_attach (widget->style, widget->window);
|
||||
gdk_window_set_back_pixmap (widget->window, NULL, FALSE);
|
||||
gdk_window_set_background (tree_view->priv->bin_window, &widget->style->base[widget->state]);
|
||||
gtk_style_set_background (widget->style, tree_view->priv->header_window, GTK_STATE_NORMAL);
|
||||
gtk_widget_style_attach (widget);
|
||||
gdk_window_set_back_pixmap (window, NULL, FALSE);
|
||||
style = gtk_widget_get_style (widget);
|
||||
gdk_window_set_background (tree_view->priv->bin_window,
|
||||
&style->base[gtk_widget_get_state (widget)]);
|
||||
gtk_style_set_background (style, tree_view->priv->header_window, GTK_STATE_NORMAL);
|
||||
|
||||
tmp_list = tree_view->priv->children;
|
||||
while (tmp_list)
|
||||
@ -2098,14 +2110,16 @@ invalidate_column (GtkTreeView *tree_view,
|
||||
GtkTreeViewColumn *tmpcolumn = list->data;
|
||||
if (tmpcolumn == column)
|
||||
{
|
||||
GtkAllocation allocation;
|
||||
GdkRectangle invalid_rect;
|
||||
|
||||
|
||||
gtk_widget_get_allocation (widget, &allocation);
|
||||
invalid_rect.x = column_offset;
|
||||
invalid_rect.y = 0;
|
||||
invalid_rect.width = column->width;
|
||||
invalid_rect.height = widget->allocation.height;
|
||||
|
||||
gdk_window_invalidate_rect (widget->window, &invalid_rect, TRUE);
|
||||
invalid_rect.height = allocation.height;
|
||||
|
||||
gdk_window_invalidate_rect (gtk_widget_get_window (widget), &invalid_rect, TRUE);
|
||||
break;
|
||||
}
|
||||
|
||||
@ -2175,6 +2189,7 @@ gtk_tree_view_size_allocate_columns (GtkWidget *widget,
|
||||
GList *list, *first_column, *last_column;
|
||||
GtkTreeViewColumn *column;
|
||||
GtkAllocation allocation;
|
||||
GtkAllocation widget_allocation;
|
||||
gint width = 0;
|
||||
gint extra, extra_per_column, extra_for_last;
|
||||
gint full_requested_width = 0;
|
||||
@ -2228,14 +2243,15 @@ gtk_tree_view_size_allocate_columns (GtkWidget *widget,
|
||||
|
||||
tree_view->priv->post_validation_flag = FALSE;
|
||||
|
||||
gtk_widget_get_allocation (widget, &widget_allocation);
|
||||
if (!update_expand)
|
||||
{
|
||||
extra = tree_view->priv->last_extra_space;
|
||||
extra_for_last = MAX (widget->allocation.width - full_requested_width - extra, 0);
|
||||
extra_for_last = MAX (widget_allocation.width - full_requested_width - extra, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
extra = MAX (widget->allocation.width - full_requested_width, 0);
|
||||
extra = MAX (widget_allocation.width - full_requested_width, 0);
|
||||
extra_for_last = 0;
|
||||
|
||||
tree_view->priv->last_extra_space = extra;
|
||||
@ -2346,15 +2362,18 @@ static void
|
||||
gtk_tree_view_size_allocate (GtkWidget *widget,
|
||||
GtkAllocation *allocation)
|
||||
{
|
||||
GtkAllocation widget_allocation;
|
||||
GtkTreeView *tree_view = GTK_TREE_VIEW (widget);
|
||||
GList *tmp_list;
|
||||
gboolean width_changed = FALSE;
|
||||
gint old_width = widget->allocation.width;
|
||||
gint old_width;
|
||||
|
||||
if (allocation->width != widget->allocation.width)
|
||||
gtk_widget_get_allocation (widget, &widget_allocation);
|
||||
old_width = widget_allocation.width;
|
||||
if (allocation->width != widget_allocation.width)
|
||||
width_changed = TRUE;
|
||||
|
||||
widget->allocation = *allocation;
|
||||
gtk_widget_set_allocation (widget, allocation);
|
||||
|
||||
tmp_list = tree_view->priv->children;
|
||||
|
||||
@ -2433,7 +2452,7 @@ gtk_tree_view_size_allocate (GtkWidget *widget,
|
||||
|
||||
if (gtk_widget_get_realized (widget))
|
||||
{
|
||||
gdk_window_move_resize (widget->window,
|
||||
gdk_window_move_resize (gtk_widget_get_window (widget),
|
||||
allocation->x, allocation->y,
|
||||
allocation->width, allocation->height);
|
||||
gdk_window_move_resize (tree_view->priv->header_window,
|
||||
@ -2887,6 +2906,7 @@ gtk_tree_view_button_press (GtkWidget *widget,
|
||||
column->resizable &&
|
||||
column->window)
|
||||
{
|
||||
GtkAllocation button_allocation;
|
||||
gpointer drag_data;
|
||||
|
||||
if (event->type == GDK_2BUTTON_PRESS &&
|
||||
@ -2916,8 +2936,9 @@ gtk_tree_view_button_press (GtkWidget *widget,
|
||||
0, 0, NULL, NULL,
|
||||
drag_data);
|
||||
|
||||
gtk_widget_get_allocation (column->button, &button_allocation);
|
||||
tree_view->priv->drag_pos = i;
|
||||
tree_view->priv->x_drag = column->button->allocation.x + (rtl ? 0 : column->button->allocation.width);
|
||||
tree_view->priv->x_drag = button_allocation.x + (rtl ? 0 : button_allocation.width);
|
||||
|
||||
if (!gtk_widget_has_focus (widget))
|
||||
gtk_widget_grab_focus (widget);
|
||||
@ -3391,12 +3412,20 @@ gtk_tree_view_motion_draw_column_motion_arrow (GtkTreeView *tree_view)
|
||||
arrow_type = DRAG_COLUMN_WINDOW_STATE_ORIGINAL;
|
||||
else if (reorder->left_column || reorder->right_column)
|
||||
{
|
||||
GtkAllocation left_allocation, right_allocation;
|
||||
GdkRectangle visible_rect;
|
||||
|
||||
gtk_tree_view_get_visible_rect (tree_view, &visible_rect);
|
||||
if (reorder->left_column)
|
||||
x = reorder->left_column->button->allocation.x + reorder->left_column->button->allocation.width;
|
||||
{
|
||||
gtk_widget_get_allocation (reorder->left_column->button, &left_allocation);
|
||||
x = left_allocation.x + left_allocation.width;
|
||||
}
|
||||
else
|
||||
x = reorder->right_column->button->allocation.x;
|
||||
{
|
||||
gtk_widget_get_allocation (reorder->right_column->button, &right_allocation);
|
||||
x = right_allocation.x;
|
||||
}
|
||||
|
||||
if (x < visible_rect.x)
|
||||
arrow_type = DRAG_COLUMN_WINDOW_STATE_ARROW_LEFT;
|
||||
@ -3411,6 +3440,8 @@ gtk_tree_view_motion_draw_column_motion_arrow (GtkTreeView *tree_view)
|
||||
{
|
||||
if (tree_view->priv->drag_column_window_state != DRAG_COLUMN_WINDOW_STATE_ORIGINAL)
|
||||
{
|
||||
GtkAllocation drag_allocation;
|
||||
|
||||
if (tree_view->priv->drag_highlight_window)
|
||||
{
|
||||
gdk_window_set_user_data (tree_view->priv->drag_highlight_window,
|
||||
@ -3422,8 +3453,9 @@ gtk_tree_view_motion_draw_column_motion_arrow (GtkTreeView *tree_view)
|
||||
attributes.wclass = GDK_INPUT_OUTPUT;
|
||||
attributes.x = tree_view->priv->drag_column_x;
|
||||
attributes.y = 0;
|
||||
width = attributes.width = tree_view->priv->drag_column->button->allocation.width;
|
||||
height = attributes.height = tree_view->priv->drag_column->button->allocation.height;
|
||||
gtk_widget_get_allocation (tree_view->priv->drag_column->button, &drag_allocation);
|
||||
width = attributes.width = drag_allocation.width;
|
||||
height = attributes.height = drag_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;
|
||||
@ -3449,19 +3481,23 @@ gtk_tree_view_motion_draw_column_motion_arrow (GtkTreeView *tree_view)
|
||||
}
|
||||
else if (arrow_type == DRAG_COLUMN_WINDOW_STATE_ARROW)
|
||||
{
|
||||
GtkAllocation button_allocation;
|
||||
|
||||
width = tree_view->priv->expander_size;
|
||||
|
||||
/* Get x, y, width, height of arrow */
|
||||
gdk_window_get_origin (tree_view->priv->header_window, &x, &y);
|
||||
if (reorder->left_column)
|
||||
{
|
||||
x += reorder->left_column->button->allocation.x + reorder->left_column->button->allocation.width - width/2;
|
||||
height = reorder->left_column->button->allocation.height;
|
||||
gtk_widget_get_allocation (reorder->left_column->button, &button_allocation);
|
||||
x += button_allocation.x + button_allocation.width - width/2;
|
||||
height = button_allocation.height;
|
||||
}
|
||||
else
|
||||
{
|
||||
x += reorder->right_column->button->allocation.x - width/2;
|
||||
height = reorder->right_column->button->allocation.height;
|
||||
gtk_widget_get_allocation (reorder->right_column->button, &button_allocation);
|
||||
x += button_allocation.x - width/2;
|
||||
height = button_allocation.height;
|
||||
}
|
||||
y -= tree_view->priv->expander_size/2; /* The arrow takes up only half the space */
|
||||
height += tree_view->priv->expander_size;
|
||||
@ -3516,18 +3552,30 @@ gtk_tree_view_motion_draw_column_motion_arrow (GtkTreeView *tree_view)
|
||||
else if (arrow_type == DRAG_COLUMN_WINDOW_STATE_ARROW_LEFT ||
|
||||
arrow_type == DRAG_COLUMN_WINDOW_STATE_ARROW_RIGHT)
|
||||
{
|
||||
GtkAllocation allocation;
|
||||
|
||||
width = tree_view->priv->expander_size;
|
||||
|
||||
/* Get x, y, width, height of arrow */
|
||||
width = width/2; /* remember, the arrow only takes half the available width */
|
||||
gdk_window_get_origin (widget->window, &x, &y);
|
||||
gdk_window_get_origin (gtk_widget_get_window (widget),
|
||||
&x, &y);
|
||||
if (arrow_type == DRAG_COLUMN_WINDOW_STATE_ARROW_RIGHT)
|
||||
x += widget->allocation.width - width;
|
||||
{
|
||||
gtk_widget_get_allocation (widget, &allocation);
|
||||
x += allocation.width - width;
|
||||
}
|
||||
|
||||
if (reorder->left_column)
|
||||
height = reorder->left_column->button->allocation.height;
|
||||
{
|
||||
gtk_widget_get_allocation (reorder->left_column->button, &allocation);
|
||||
height = allocation.height;
|
||||
}
|
||||
else
|
||||
height = reorder->right_column->button->allocation.height;
|
||||
{
|
||||
gtk_widget_get_allocation (reorder->right_column->button, &allocation);
|
||||
height = allocation.height;
|
||||
}
|
||||
|
||||
y -= tree_view->priv->expander_size;
|
||||
height += 2*tree_view->priv->expander_size;
|
||||
@ -3607,7 +3655,7 @@ gtk_tree_view_motion_resize_column (GtkWidget *widget,
|
||||
|
||||
column = gtk_tree_view_get_column (tree_view, tree_view->priv->drag_pos);
|
||||
|
||||
if (event->is_hint || event->window != widget->window)
|
||||
if (event->is_hint || event->window != gtk_widget_get_window (widget))
|
||||
gtk_widget_get_pointer (widget, &x, NULL);
|
||||
else
|
||||
x = event->x;
|
||||
@ -3711,6 +3759,7 @@ static gboolean
|
||||
gtk_tree_view_motion_drag_column (GtkWidget *widget,
|
||||
GdkEventMotion *event)
|
||||
{
|
||||
GtkAllocation allocation, button_allocation;
|
||||
GtkTreeView *tree_view = (GtkTreeView *) widget;
|
||||
GtkTreeViewColumn *column = tree_view->priv->drag_column;
|
||||
gint x, y;
|
||||
@ -3722,8 +3771,10 @@ gtk_tree_view_motion_drag_column (GtkWidget *widget,
|
||||
|
||||
/* Handle moving the header */
|
||||
gdk_window_get_position (tree_view->priv->drag_window, &x, &y);
|
||||
gtk_widget_get_allocation (widget, &allocation);
|
||||
gtk_widget_get_allocation (column->button, &button_allocation);
|
||||
x = CLAMP (x + (gint)event->x - column->drag_x, 0,
|
||||
MAX (tree_view->priv->width, GTK_WIDGET (tree_view)->allocation.width) - column->button->allocation.width);
|
||||
MAX (tree_view->priv->width, allocation.width) - button_allocation.width);
|
||||
gdk_window_move (tree_view->priv->drag_window, x, y);
|
||||
|
||||
/* autoscroll, if needed */
|
||||
@ -4042,6 +4093,7 @@ static void
|
||||
gtk_tree_view_paint_rubber_band (GtkTreeView *tree_view,
|
||||
GdkRectangle *area)
|
||||
{
|
||||
GtkStyle *style;
|
||||
cairo_t *cr;
|
||||
GdkRectangle rect;
|
||||
GdkRectangle rubber_rect;
|
||||
@ -4057,10 +4109,12 @@ gtk_tree_view_paint_rubber_band (GtkTreeView *tree_view,
|
||||
cr = gdk_cairo_create (tree_view->priv->bin_window);
|
||||
cairo_set_line_width (cr, 1.0);
|
||||
|
||||
style = gtk_widget_get_style (GTK_WIDGET (tree_view));
|
||||
|
||||
cairo_set_source_rgba (cr,
|
||||
GTK_WIDGET (tree_view)->style->fg[GTK_STATE_NORMAL].red / 65535.,
|
||||
GTK_WIDGET (tree_view)->style->fg[GTK_STATE_NORMAL].green / 65535.,
|
||||
GTK_WIDGET (tree_view)->style->fg[GTK_STATE_NORMAL].blue / 65535.,
|
||||
style->fg[GTK_STATE_NORMAL].red / 65535.,
|
||||
style->fg[GTK_STATE_NORMAL].green / 65535.,
|
||||
style->fg[GTK_STATE_NORMAL].blue / 65535.,
|
||||
.25);
|
||||
|
||||
gdk_cairo_rectangle (cr, &rect);
|
||||
@ -4068,9 +4122,9 @@ gtk_tree_view_paint_rubber_band (GtkTreeView *tree_view,
|
||||
cairo_paint (cr);
|
||||
|
||||
cairo_set_source_rgb (cr,
|
||||
GTK_WIDGET (tree_view)->style->fg[GTK_STATE_NORMAL].red / 65535.,
|
||||
GTK_WIDGET (tree_view)->style->fg[GTK_STATE_NORMAL].green / 65535.,
|
||||
GTK_WIDGET (tree_view)->style->fg[GTK_STATE_NORMAL].blue / 65535.);
|
||||
style->fg[GTK_STATE_NORMAL].red / 65535.,
|
||||
style->fg[GTK_STATE_NORMAL].green / 65535.,
|
||||
style->fg[GTK_STATE_NORMAL].blue / 65535.);
|
||||
|
||||
cairo_rectangle (cr,
|
||||
rubber_rect.x + 0.5, rubber_rect.y + 0.5,
|
||||
@ -4242,7 +4296,7 @@ gtk_tree_view_draw_line (GtkTreeView *tree_view,
|
||||
case GTK_TREE_VIEW_FOREGROUND_LINE:
|
||||
cairo_set_line_width (cr, 1.0);
|
||||
gdk_cairo_set_source_color (cr,
|
||||
>K_WIDGET (tree_view)->style->fg[gtk_widget_get_state (GTK_WIDGET (tree_view))]);
|
||||
>k_widget_get_style (GTK_WIDGET (tree_view))->fg[gtk_widget_get_state (GTK_WIDGET (tree_view))]);
|
||||
break;
|
||||
}
|
||||
|
||||
@ -4299,6 +4353,7 @@ gtk_tree_view_bin_expose (GtkWidget *widget,
|
||||
{
|
||||
GtkTreeView *tree_view = GTK_TREE_VIEW (widget);
|
||||
GtkTreePath *path;
|
||||
GtkStyle *style;
|
||||
GtkRBTree *tree;
|
||||
GList *list;
|
||||
GtkRBNode *node;
|
||||
@ -4354,6 +4409,8 @@ gtk_tree_view_bin_expose (GtkWidget *widget,
|
||||
|
||||
validate_visible_area (tree_view);
|
||||
|
||||
style = gtk_widget_get_style (widget);
|
||||
|
||||
new_y = TREE_WINDOW_Y_TO_RBTREE_Y (tree_view, event->area.y);
|
||||
|
||||
if (new_y < 0)
|
||||
@ -4364,9 +4421,9 @@ gtk_tree_view_bin_expose (GtkWidget *widget,
|
||||
|
||||
if (tree_view->priv->height < bin_window_height)
|
||||
{
|
||||
gtk_paint_flat_box (widget->style,
|
||||
gtk_paint_flat_box (style,
|
||||
event->window,
|
||||
widget->state,
|
||||
gtk_widget_get_state (widget),
|
||||
GTK_SHADOW_NONE,
|
||||
&event->area,
|
||||
widget,
|
||||
@ -4604,7 +4661,7 @@ gtk_tree_view_bin_expose (GtkWidget *widget,
|
||||
|
||||
g_assert (detail);
|
||||
|
||||
if (widget->state == GTK_STATE_INSENSITIVE)
|
||||
if (gtk_widget_get_state (widget) == GTK_STATE_INSENSITIVE)
|
||||
state = GTK_STATE_INSENSITIVE;
|
||||
else if (flags & GTK_CELL_RENDERER_SELECTED)
|
||||
state = GTK_STATE_SELECTED;
|
||||
@ -4627,7 +4684,7 @@ gtk_tree_view_bin_expose (GtkWidget *widget,
|
||||
else
|
||||
g_snprintf (new_detail, 127, "%s_middle", detail);
|
||||
|
||||
gtk_paint_flat_box (widget->style,
|
||||
gtk_paint_flat_box (style,
|
||||
event->window,
|
||||
state,
|
||||
GTK_SHADOW_NONE,
|
||||
@ -4660,7 +4717,7 @@ gtk_tree_view_bin_expose (GtkWidget *widget,
|
||||
expander_cell_width = cell_area.width;
|
||||
|
||||
if (is_separator)
|
||||
gtk_paint_hline (widget->style,
|
||||
gtk_paint_hline (style,
|
||||
event->window,
|
||||
state,
|
||||
&cell_area,
|
||||
@ -4695,7 +4752,7 @@ gtk_tree_view_bin_expose (GtkWidget *widget,
|
||||
else
|
||||
{
|
||||
if (is_separator)
|
||||
gtk_paint_hline (widget->style,
|
||||
gtk_paint_hline (style,
|
||||
event->window,
|
||||
state,
|
||||
&cell_area,
|
||||
@ -4849,7 +4906,7 @@ gtk_tree_view_bin_expose (GtkWidget *widget,
|
||||
gdk_drawable_get_size (tree_view->priv->bin_window,
|
||||
&width, NULL);
|
||||
|
||||
gtk_paint_focus (widget->style,
|
||||
gtk_paint_focus (style,
|
||||
tree_view->priv->bin_window,
|
||||
gtk_widget_get_state (widget),
|
||||
&event->area,
|
||||
@ -4904,7 +4961,7 @@ gtk_tree_view_bin_expose (GtkWidget *widget,
|
||||
tmp_height = ROW_HEIGHT (tree_view, BACKGROUND_HEIGHT (node));
|
||||
}
|
||||
|
||||
gtk_paint_focus (widget->style,
|
||||
gtk_paint_focus (style,
|
||||
tree_view->priv->bin_window,
|
||||
focus_rect_state,
|
||||
&event->area,
|
||||
@ -5339,8 +5396,10 @@ gtk_tree_view_key_press (GtkWidget *widget,
|
||||
column->resized_width = MAX (button_req.width,
|
||||
column->resized_width);
|
||||
else
|
||||
column->resized_width = MAX (column->min_width,
|
||||
column->resized_width);
|
||||
{
|
||||
column->resized_width = MAX (column->min_width,
|
||||
column->resized_width);
|
||||
}
|
||||
|
||||
if (column->max_width != -1)
|
||||
column->resized_width = MIN (column->resized_width,
|
||||
@ -5459,7 +5518,7 @@ gtk_tree_view_key_press (GtkWidget *widget,
|
||||
old_text = g_strdup (gtk_entry_get_text (GTK_ENTRY (tree_view->priv->search_entry)));
|
||||
new_event = gdk_event_copy ((GdkEvent *) event);
|
||||
g_object_unref (((GdkEventKey *) new_event)->window);
|
||||
((GdkEventKey *) new_event)->window = g_object_ref (tree_view->priv->search_window->window);
|
||||
((GdkEventKey *) new_event)->window = g_object_ref (gtk_widget_get_window (tree_view->priv->search_window));
|
||||
gtk_widget_realize (tree_view->priv->search_window);
|
||||
|
||||
popup_menu_id = g_signal_connect (tree_view->priv->search_entry,
|
||||
@ -5618,15 +5677,17 @@ gtk_tree_view_node_queue_redraw (GtkTreeView *tree_view,
|
||||
GtkRBTree *tree,
|
||||
GtkRBNode *node)
|
||||
{
|
||||
GtkAllocation allocation;
|
||||
gint y;
|
||||
|
||||
y = _gtk_rbtree_node_find_offset (tree, node)
|
||||
- tree_view->priv->vadjustment->value
|
||||
+ TREE_VIEW_HEADER_HEIGHT (tree_view);
|
||||
|
||||
gtk_widget_get_allocation (GTK_WIDGET (tree_view), &allocation);
|
||||
gtk_widget_queue_draw_area (GTK_WIDGET (tree_view),
|
||||
0, y,
|
||||
GTK_WIDGET (tree_view)->allocation.width,
|
||||
allocation.width,
|
||||
GTK_RBNODE_GET_HEIGHT (node));
|
||||
}
|
||||
|
||||
@ -5784,6 +5845,7 @@ validate_row (GtkTreeView *tree_view,
|
||||
static void
|
||||
validate_visible_area (GtkTreeView *tree_view)
|
||||
{
|
||||
GtkAllocation allocation;
|
||||
GtkTreePath *path = NULL;
|
||||
GtkTreePath *above_path = NULL;
|
||||
GtkTreeIter iter;
|
||||
@ -5802,7 +5864,8 @@ validate_visible_area (GtkTreeView *tree_view)
|
||||
tree_view->priv->scroll_to_path == NULL)
|
||||
return;
|
||||
|
||||
total_height = GTK_WIDGET (tree_view)->allocation.height - TREE_VIEW_HEADER_HEIGHT (tree_view);
|
||||
gtk_widget_get_allocation (GTK_WIDGET (tree_view), &allocation);
|
||||
total_height = allocation.height - TREE_VIEW_HEADER_HEIGHT (tree_view);
|
||||
|
||||
if (total_height == 0)
|
||||
return;
|
||||
@ -8013,14 +8076,17 @@ gtk_tree_view_style_set (GtkWidget *widget,
|
||||
GtkStyle *previous_style)
|
||||
{
|
||||
GtkTreeView *tree_view = GTK_TREE_VIEW (widget);
|
||||
GtkStyle *style;
|
||||
GList *list;
|
||||
GtkTreeViewColumn *column;
|
||||
|
||||
if (gtk_widget_get_realized (widget))
|
||||
{
|
||||
gdk_window_set_back_pixmap (widget->window, NULL, FALSE);
|
||||
gdk_window_set_background (tree_view->priv->bin_window, &widget->style->base[widget->state]);
|
||||
gtk_style_set_background (widget->style, tree_view->priv->header_window, GTK_STATE_NORMAL);
|
||||
gdk_window_set_back_pixmap (gtk_widget_get_window (widget), NULL, FALSE);
|
||||
style = gtk_widget_get_style (widget);
|
||||
gdk_window_set_background (tree_view->priv->bin_window,
|
||||
&style->base[gtk_widget_get_state (widget)]);
|
||||
gtk_style_set_background (style, tree_view->priv->header_window, GTK_STATE_NORMAL);
|
||||
|
||||
gtk_tree_view_set_grid_lines (tree_view, tree_view->priv->grid_lines);
|
||||
gtk_tree_view_set_enable_tree_lines (tree_view, tree_view->priv->tree_lines_enabled);
|
||||
@ -8883,13 +8949,15 @@ gtk_tree_view_clamp_column_visible (GtkTreeView *tree_view,
|
||||
GtkTreeViewColumn *column,
|
||||
gboolean focus_to_cell)
|
||||
{
|
||||
GtkAllocation allocation;
|
||||
gint x, width;
|
||||
|
||||
if (column == NULL)
|
||||
return;
|
||||
|
||||
x = column->button->allocation.x;
|
||||
width = column->button->allocation.width;
|
||||
gtk_widget_get_allocation (column->button, &allocation);
|
||||
x = allocation.x;
|
||||
width = allocation.width;
|
||||
|
||||
if (width > tree_view->priv->hadjustment->page_size)
|
||||
{
|
||||
@ -9250,10 +9318,13 @@ gtk_tree_view_set_column_drag_info (GtkTreeView *tree_view,
|
||||
reorder->left_align = left;
|
||||
if (tmp_list->next != NULL)
|
||||
{
|
||||
GtkAllocation right_allocation, left_allocation;
|
||||
|
||||
g_assert (tmp_list->next->data);
|
||||
left = reorder->right_align = (reorder->right_column->button->allocation.x +
|
||||
reorder->right_column->button->allocation.width +
|
||||
((GtkTreeViewColumnReorder *)tmp_list->next->data)->left_column->button->allocation.x)/2;
|
||||
|
||||
gtk_widget_get_allocation (reorder->right_column->button, &right_allocation);
|
||||
gtk_widget_get_allocation (((GtkTreeViewColumnReorder *)tmp_list->next->data)->left_column->button, &left_allocation);
|
||||
left = reorder->right_align = (right_allocation.x + right_allocation.width + left_allocation.x) / 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -9272,6 +9343,7 @@ _gtk_tree_view_column_start_drag (GtkTreeView *tree_view,
|
||||
{
|
||||
GdkEvent *send_event;
|
||||
GtkAllocation allocation;
|
||||
GtkAllocation button_allocation;
|
||||
gint x, y, width, height;
|
||||
GdkScreen *screen = gtk_widget_get_screen (GTK_WIDGET (tree_view));
|
||||
GdkDisplay *display = gdk_screen_get_display (screen);
|
||||
@ -9289,12 +9361,14 @@ _gtk_tree_view_column_start_drag (GtkTreeView *tree_view,
|
||||
GdkWindowAttr attributes;
|
||||
guint attributes_mask;
|
||||
|
||||
gtk_widget_get_allocation (column->button, &button_allocation);
|
||||
|
||||
attributes.window_type = GDK_WINDOW_CHILD;
|
||||
attributes.wclass = GDK_INPUT_OUTPUT;
|
||||
attributes.x = column->button->allocation.x;
|
||||
attributes.x = button_allocation.x;
|
||||
attributes.y = 0;
|
||||
attributes.width = column->button->allocation.width;
|
||||
attributes.height = column->button->allocation.height;
|
||||
attributes.width = button_allocation.width;
|
||||
attributes.height = button_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;
|
||||
@ -9345,8 +9419,9 @@ _gtk_tree_view_column_start_drag (GtkTreeView *tree_view,
|
||||
gtk_widget_set_parent (column->button, GTK_WIDGET (tree_view));
|
||||
g_object_unref (column->button);
|
||||
|
||||
tree_view->priv->drag_column_x = column->button->allocation.x;
|
||||
allocation = column->button->allocation;
|
||||
gtk_widget_get_allocation (column->button, &button_allocation);
|
||||
tree_view->priv->drag_column_x = button_allocation.x;
|
||||
allocation = button_allocation;
|
||||
allocation.x = 0;
|
||||
gtk_widget_size_allocate (column->button, &allocation);
|
||||
gtk_widget_set_parent_window (column->button, tree_view->priv->drag_window);
|
||||
@ -9377,13 +9452,15 @@ gtk_tree_view_queue_draw_arrow (GtkTreeView *tree_view,
|
||||
GtkRBNode *node,
|
||||
const GdkRectangle *clip_rect)
|
||||
{
|
||||
GtkAllocation allocation;
|
||||
GdkRectangle rect;
|
||||
|
||||
if (!gtk_widget_get_realized (GTK_WIDGET (tree_view)))
|
||||
return;
|
||||
|
||||
gtk_widget_get_allocation (GTK_WIDGET (tree_view), &allocation);
|
||||
rect.x = 0;
|
||||
rect.width = MAX (tree_view->priv->expander_size, MAX (tree_view->priv->width, GTK_WIDGET (tree_view)->allocation.width));
|
||||
rect.width = MAX (tree_view->priv->expander_size, MAX (tree_view->priv->width, allocation.width));
|
||||
|
||||
rect.y = BACKGROUND_FIRST_PIXEL (tree_view, tree, node);
|
||||
rect.height = ROW_HEIGHT (tree_view, BACKGROUND_HEIGHT (node));
|
||||
@ -9408,13 +9485,15 @@ _gtk_tree_view_queue_draw_node (GtkTreeView *tree_view,
|
||||
GtkRBNode *node,
|
||||
const GdkRectangle *clip_rect)
|
||||
{
|
||||
GtkAllocation allocation;
|
||||
GdkRectangle rect;
|
||||
|
||||
if (!gtk_widget_get_realized (GTK_WIDGET (tree_view)))
|
||||
return;
|
||||
|
||||
gtk_widget_get_allocation (GTK_WIDGET (tree_view), &allocation);
|
||||
rect.x = 0;
|
||||
rect.width = MAX (tree_view->priv->width, GTK_WIDGET (tree_view)->allocation.width);
|
||||
rect.width = MAX (tree_view->priv->width, allocation.width);
|
||||
|
||||
rect.y = BACKGROUND_FIRST_PIXEL (tree_view, tree, node);
|
||||
rect.height = ROW_HEIGHT (tree_view, BACKGROUND_HEIGHT (node));
|
||||
@ -9513,7 +9592,7 @@ gtk_tree_view_draw_arrow (GtkTreeView *tree_view,
|
||||
else
|
||||
expander_style = GTK_EXPANDER_COLLAPSED;
|
||||
|
||||
gtk_paint_expander (widget->style,
|
||||
gtk_paint_expander (gtk_widget_get_style (widget),
|
||||
tree_view->priv->bin_window,
|
||||
state,
|
||||
&area,
|
||||
@ -10284,21 +10363,24 @@ send_focus_change (GtkWidget *widget,
|
||||
{
|
||||
GdkDevice *dev = d->data;
|
||||
GdkEvent *fevent;
|
||||
GdkWindow *window;
|
||||
|
||||
if (dev->source != GDK_SOURCE_KEYBOARD)
|
||||
continue;
|
||||
|
||||
window = gtk_widget_get_window (widget);
|
||||
|
||||
/* Skip non-master keyboards that haven't
|
||||
* selected for events from this window
|
||||
*/
|
||||
if (gdk_device_get_device_type (dev) != GDK_DEVICE_TYPE_MASTER &&
|
||||
!gdk_window_get_device_events (widget->window, dev))
|
||||
!gdk_window_get_device_events (window, dev))
|
||||
continue;
|
||||
|
||||
fevent = gdk_event_new (GDK_FOCUS_CHANGE);
|
||||
|
||||
fevent->focus_change.type = GDK_FOCUS_CHANGE;
|
||||
fevent->focus_change.window = g_object_ref (widget->window);
|
||||
fevent->focus_change.window = g_object_ref (window);
|
||||
fevent->focus_change.in = in;
|
||||
gdk_event_set_device (fevent, device);
|
||||
|
||||
@ -10489,6 +10571,7 @@ gtk_tree_view_new_column_width (GtkTreeView *tree_view,
|
||||
gint i,
|
||||
gint *x)
|
||||
{
|
||||
GtkAllocation allocation;
|
||||
GtkTreeViewColumn *column;
|
||||
GtkRequisition button_req;
|
||||
gint width;
|
||||
@ -10499,8 +10582,9 @@ gtk_tree_view_new_column_width (GtkTreeView *tree_view,
|
||||
*/
|
||||
rtl = (gtk_widget_get_direction (GTK_WIDGET (tree_view)) == GTK_TEXT_DIR_RTL);
|
||||
column = g_list_nth (tree_view->priv->columns, i)->data;
|
||||
width = rtl ? (column->button->allocation.x + column->button->allocation.width - *x) : (*x - column->button->allocation.x);
|
||||
|
||||
gtk_widget_get_allocation (column->button, &allocation);
|
||||
width = rtl ? (allocation.x + allocation.width - *x) : (*x - allocation.x);
|
||||
|
||||
/* Clamp down the value */
|
||||
if (column->min_width == -1)
|
||||
{
|
||||
@ -10513,8 +10597,8 @@ gtk_tree_view_new_column_width (GtkTreeView *tree_view,
|
||||
if (column->max_width != -1)
|
||||
width = MIN (width, column->max_width);
|
||||
|
||||
*x = rtl ? (column->button->allocation.x + column->button->allocation.width - width) : (column->button->allocation.x + width);
|
||||
|
||||
*x = rtl ? (allocation.x + allocation.width - width) : (allocation.x + width);
|
||||
|
||||
return width;
|
||||
}
|
||||
|
||||
@ -10532,25 +10616,27 @@ typedef struct
|
||||
|
||||
/* The window to which widget->window is relative */
|
||||
#define ALLOCATION_WINDOW(widget) \
|
||||
(!gtk_widget_get_has_window (widget) ? \
|
||||
(widget)->window : \
|
||||
gdk_window_get_parent ((widget)->window))
|
||||
(!gtk_widget_get_has_window (widget) ? \
|
||||
gtk_widget_get_window (widget) : \
|
||||
gdk_window_get_parent (gtk_widget_get_window (widget)))
|
||||
|
||||
static void
|
||||
adjust_allocation_recurse (GtkWidget *widget,
|
||||
gpointer data)
|
||||
{
|
||||
GtkAllocation allocation;
|
||||
ScrollData *scroll_data = data;
|
||||
|
||||
/* Need to really size allocate instead of just poking
|
||||
* into widget->allocation if the widget is not realized.
|
||||
* FIXME someone figure out why this was.
|
||||
*/
|
||||
gtk_widget_get_allocation (widget, &allocation);
|
||||
if (!gtk_widget_get_realized (widget))
|
||||
{
|
||||
if (gtk_widget_get_visible (widget))
|
||||
{
|
||||
GdkRectangle tmp_rectangle = widget->allocation;
|
||||
GdkRectangle tmp_rectangle = allocation;
|
||||
tmp_rectangle.x += scroll_data->dx;
|
||||
tmp_rectangle.y += scroll_data->dy;
|
||||
|
||||
@ -10561,9 +10647,10 @@ adjust_allocation_recurse (GtkWidget *widget,
|
||||
{
|
||||
if (ALLOCATION_WINDOW (widget) == scroll_data->window)
|
||||
{
|
||||
widget->allocation.x += scroll_data->dx;
|
||||
widget->allocation.y += scroll_data->dy;
|
||||
|
||||
allocation.x += scroll_data->dx;
|
||||
allocation.y += scroll_data->dy;
|
||||
gtk_widget_set_allocation (widget, &allocation);
|
||||
|
||||
if (GTK_IS_CONTAINER (widget))
|
||||
gtk_container_forall (GTK_CONTAINER (widget),
|
||||
adjust_allocation_recurse,
|
||||
@ -10981,6 +11068,7 @@ gtk_tree_view_set_headers_visible (GtkTreeView *tree_view,
|
||||
gint x, y;
|
||||
GList *list;
|
||||
GtkTreeViewColumn *column;
|
||||
GtkAllocation allocation;
|
||||
|
||||
g_return_if_fail (GTK_IS_TREE_VIEW (tree_view));
|
||||
|
||||
@ -10999,7 +11087,10 @@ gtk_tree_view_set_headers_visible (GtkTreeView *tree_view,
|
||||
gdk_window_get_position (tree_view->priv->bin_window, &x, &y);
|
||||
if (headers_visible)
|
||||
{
|
||||
gdk_window_move_resize (tree_view->priv->bin_window, x, y + TREE_VIEW_HEADER_HEIGHT (tree_view), tree_view->priv->width, GTK_WIDGET (tree_view)->allocation.height - + TREE_VIEW_HEADER_HEIGHT (tree_view));
|
||||
gtk_widget_get_allocation (GTK_WIDGET (tree_view), &allocation);
|
||||
gdk_window_move_resize (tree_view->priv->bin_window,
|
||||
x, y + TREE_VIEW_HEADER_HEIGHT (tree_view),
|
||||
tree_view->priv->width, allocation.height - + TREE_VIEW_HEADER_HEIGHT (tree_view));
|
||||
|
||||
if (gtk_widget_get_mapped (GTK_WIDGET (tree_view)))
|
||||
gtk_tree_view_map_buttons (tree_view);
|
||||
@ -11017,8 +11108,9 @@ gtk_tree_view_set_headers_visible (GtkTreeView *tree_view,
|
||||
}
|
||||
}
|
||||
|
||||
tree_view->priv->vadjustment->page_size = GTK_WIDGET (tree_view)->allocation.height - TREE_VIEW_HEADER_HEIGHT (tree_view);
|
||||
tree_view->priv->vadjustment->page_increment = (GTK_WIDGET (tree_view)->allocation.height - TREE_VIEW_HEADER_HEIGHT (tree_view)) / 2;
|
||||
gtk_widget_get_allocation (GTK_WIDGET (tree_view), &allocation);
|
||||
tree_view->priv->vadjustment->page_size = allocation.height - TREE_VIEW_HEADER_HEIGHT (tree_view);
|
||||
tree_view->priv->vadjustment->page_increment = (allocation.height - TREE_VIEW_HEADER_HEIGHT (tree_view)) / 2;
|
||||
tree_view->priv->vadjustment->lower = 0;
|
||||
tree_view->priv->vadjustment->upper = tree_view->priv->height;
|
||||
gtk_adjustment_changed (tree_view->priv->vadjustment);
|
||||
@ -12906,6 +12998,7 @@ gtk_tree_view_get_cell_area (GtkTreeView *tree_view,
|
||||
GtkTreeViewColumn *column,
|
||||
GdkRectangle *rect)
|
||||
{
|
||||
GtkAllocation allocation;
|
||||
GtkRBTree *tree = NULL;
|
||||
GtkRBNode *node = NULL;
|
||||
gint vertical_separator;
|
||||
@ -12929,8 +13022,9 @@ gtk_tree_view_get_cell_area (GtkTreeView *tree_view,
|
||||
|
||||
if (column)
|
||||
{
|
||||
rect->x = column->button->allocation.x + horizontal_separator/2;
|
||||
rect->width = column->button->allocation.width - horizontal_separator;
|
||||
gtk_widget_get_allocation (column->button, &allocation);
|
||||
rect->x = allocation.x + horizontal_separator/2;
|
||||
rect->width = allocation.width - horizontal_separator;
|
||||
}
|
||||
|
||||
if (path)
|
||||
@ -13041,6 +13135,7 @@ void
|
||||
gtk_tree_view_get_visible_rect (GtkTreeView *tree_view,
|
||||
GdkRectangle *visible_rect)
|
||||
{
|
||||
GtkAllocation allocation;
|
||||
GtkWidget *widget;
|
||||
|
||||
g_return_if_fail (GTK_IS_TREE_VIEW (tree_view));
|
||||
@ -13049,10 +13144,11 @@ gtk_tree_view_get_visible_rect (GtkTreeView *tree_view,
|
||||
|
||||
if (visible_rect)
|
||||
{
|
||||
gtk_widget_get_allocation (widget, &allocation);
|
||||
visible_rect->x = tree_view->priv->hadjustment->value;
|
||||
visible_rect->y = tree_view->priv->vadjustment->value;
|
||||
visible_rect->width = widget->allocation.width;
|
||||
visible_rect->height = widget->allocation.height - TREE_VIEW_HEADER_HEIGHT (tree_view);
|
||||
visible_rect->width = allocation.width;
|
||||
visible_rect->height = allocation.height - TREE_VIEW_HEADER_HEIGHT (tree_view);
|
||||
}
|
||||
}
|
||||
|
||||
@ -13671,6 +13767,7 @@ gtk_tree_view_create_row_drag_icon (GtkTreeView *tree_view,
|
||||
GtkTreeIter iter;
|
||||
GtkRBTree *tree;
|
||||
GtkRBNode *node;
|
||||
GtkStyle *style;
|
||||
gint cell_offset;
|
||||
GList *list;
|
||||
GdkRectangle background_area;
|
||||
@ -13707,7 +13804,9 @@ gtk_tree_view_create_row_drag_icon (GtkTreeView *tree_view,
|
||||
&iter,
|
||||
path))
|
||||
return NULL;
|
||||
|
||||
|
||||
style = gtk_widget_get_style (widget);
|
||||
|
||||
is_separator = row_is_separator (tree_view, &iter, NULL);
|
||||
|
||||
cell_offset = x;
|
||||
@ -13729,7 +13828,7 @@ gtk_tree_view_create_row_drag_icon (GtkTreeView *tree_view,
|
||||
expose_area.height = background_area.height + 2;
|
||||
|
||||
cr = gdk_cairo_create (drawable);
|
||||
gdk_cairo_set_source_color (cr, &widget->style->base [gtk_widget_get_state (widget)]);
|
||||
gdk_cairo_set_source_color (cr, &style->base [gtk_widget_get_state (widget)]);
|
||||
cairo_paint (cr);
|
||||
|
||||
rtl = gtk_widget_get_direction (GTK_WIDGET (tree_view)) == GTK_TEXT_DIR_RTL;
|
||||
@ -13778,7 +13877,7 @@ gtk_tree_view_create_row_drag_icon (GtkTreeView *tree_view,
|
||||
if (gtk_tree_view_column_cell_is_visible (column))
|
||||
{
|
||||
if (is_separator)
|
||||
gtk_paint_hline (widget->style,
|
||||
gtk_paint_hline (style,
|
||||
drawable,
|
||||
GTK_STATE_NORMAL,
|
||||
&cell_area,
|
||||
@ -14157,7 +14256,7 @@ gtk_tree_view_search_position_func (GtkTreeView *tree_view,
|
||||
gint x, y;
|
||||
gint tree_x, tree_y;
|
||||
gint tree_width, tree_height;
|
||||
GdkWindow *tree_window = GTK_WIDGET (tree_view)->window;
|
||||
GdkWindow *tree_window = gtk_widget_get_window (GTK_WIDGET (tree_view));
|
||||
GdkScreen *screen = gdk_drawable_get_screen (tree_window);
|
||||
GtkRequisition requisition;
|
||||
gint monitor_num;
|
||||
@ -15079,8 +15178,9 @@ gtk_tree_view_state_changed (GtkWidget *widget,
|
||||
|
||||
if (gtk_widget_get_realized (widget))
|
||||
{
|
||||
gdk_window_set_back_pixmap (widget->window, NULL, FALSE);
|
||||
gdk_window_set_background (tree_view->priv->bin_window, &widget->style->base[widget->state]);
|
||||
gdk_window_set_back_pixmap (gtk_widget_get_window (widget), NULL, FALSE);
|
||||
gdk_window_set_background (tree_view->priv->bin_window,
|
||||
>k_widget_get_style (widget)->base[gtk_widget_get_state (widget)]);
|
||||
}
|
||||
|
||||
gtk_widget_queue_draw (widget);
|
||||
@ -15409,6 +15509,7 @@ gtk_tree_view_set_tooltip_cell (GtkTreeView *tree_view,
|
||||
GtkTreeViewColumn *column,
|
||||
GtkCellRenderer *cell)
|
||||
{
|
||||
GtkAllocation allocation;
|
||||
GdkRectangle rect;
|
||||
|
||||
g_return_if_fail (GTK_IS_TREE_VIEW (tree_view));
|
||||
@ -15449,8 +15550,9 @@ gtk_tree_view_set_tooltip_cell (GtkTreeView *tree_view,
|
||||
}
|
||||
else
|
||||
{
|
||||
gtk_widget_get_allocation (GTK_WIDGET (tree_view), &allocation);
|
||||
rect.x = 0;
|
||||
rect.width = GTK_WIDGET (tree_view)->allocation.width;
|
||||
rect.width = allocation.width;
|
||||
}
|
||||
|
||||
/* Determine y values. */
|
||||
|
Loading…
Reference in New Issue
Block a user