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),
* is empty.
*/
static void
-draw_empty_focus (PsppSheetView *tree_view, GdkRectangle *clip_area)
+draw_empty_focus (PsppSheetView *tree_view)
{
GtkWidget *widget = GTK_WIDGET (tree_view);
gint w, h;
+ cairo_t *cr = gdk_cairo_create (tree_view->priv->bin_window);
if (!gtk_widget_has_focus (widget))
return;
if (w > 0 && h > 0)
gtk_paint_focus (gtk_widget_get_style (widget),
- tree_view->priv->bin_window,
+ cr,
gtk_widget_get_state (widget),
- clip_area,
widget,
NULL,
1, 1, w, h);
+ cairo_destroy (cr);
}
static void
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);
if (tree_view->priv->row_count == 0)
{
- draw_empty_focus (tree_view, &event->area);
+ draw_empty_focus (tree_view);
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;
event->window,
gtk_widget_get_state (widget),
GTK_SHADOW_NONE,
- &event->area,
+ &Zarea,
widget,
"cell_even",
0, tree_view->priv->height,
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;
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;
event->window,
state,
GTK_SHADOW_NONE,
- &event->area,
+ &Zarea,
widget,
new_detail,
background_area.x,
event->window,
state,
GTK_SHADOW_NONE,
- &event->area,
+ &Zarea,
widget,
detail,
background_area.x,
#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,
}
_pspp_sheet_view_column_cell_render (column,
- event->window,
+ cr,
&background_area,
&cell_area,
- &event->area,
+ &Zarea,
flags);
if (node == cursor && has_special_cell &&
(column == tree_view->priv->edited_column)))
{
_pspp_sheet_view_column_cell_draw_focus (column,
- event->window,
+ cr,
&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);
}
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" )
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)
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" )
gtk_paint_focus (gtk_widget_get_style (widget),
tree_view->priv->bin_window,
focus_rect_state,
- &event->area,
+ &Zarea,
widget,
"treeview",
0, tmp_y,
}
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,
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,
gtk_tree_path_free (path);
handled = gtk_binding_set_activate (edit_bindings, keyval, event->state,
- GTK_OBJECT (tree_view));
+ G_OBJECT (tree_view));
if (handled)
g_signal_stop_emission_by_name (widget, "event");