}
-#define BORDER_WIDTH 4
+#define BORDER_WIDTH 2
static void
gtk_sheet_realize (GtkWidget *widget)
gdk_draw_rectangle (sheet->sheet_window,
sheet->xor_gc,
FALSE,
- area.x - BORDER_WIDTH / 2,
- area.y - BORDER_WIDTH / 2,
- area.width + BORDER_WIDTH,
- area.height + BORDER_WIDTH);
+ area.x,
+ area.y,
+ area.width + 1,
+ area.height + 1);
}
rectangle_from_cell (sheet, sheet->active_cell.row,
sheet->active_cell.col, &entry_alloc);
+ entry_alloc.width -= BORDER_WIDTH;
+ entry_alloc.height -= BORDER_WIDTH;
+ entry_alloc.x += BORDER_WIDTH / 2;
+ entry_alloc.y += BORDER_WIDTH / 2;
+
+
gtk_widget_set_size_request (sheet->entry_widget, entry_alloc.width,
entry_alloc.height);
gtk_widget_size_allocate (sheet->entry_widget, &entry_alloc);
gtk_widget_size_request (sheet->entry_widget, NULL);
+ if ( GTK_IS_ENTRY (sheet->entry_widget))
+ {
+ g_object_set (sheet->entry_widget,
+ "has-frame", FALSE,
+ NULL);
+ }
+
if (GTK_WIDGET_REALIZED (sheet))
{
gtk_widget_set_parent_window (sheet->entry_widget, sheet->sheet_window);
static void
draw_column_title_buttons_range (GtkSheet *sheet, gint first, gint last)
{
- GdkRegion *region;
+ GdkRectangle rect;
gint col;
if (!GTK_WIDGET_REALIZED (GTK_WIDGET (sheet))) return;
g_return_if_fail (first >= min_visible_column (sheet));
g_return_if_fail (last <= max_visible_column (sheet));
- region =
- gdk_drawable_get_visible_region (GDK_DRAWABLE (sheet->column_title_window));
+ rect.y = 0;
+ rect.height = sheet->column_title_area.height;
+ rect.x = psppire_axis_pixel_start (sheet->haxis, first) + CELL_SPACING;
+ rect.width = psppire_axis_pixel_start (sheet->haxis, last) + CELL_SPACING
+ + psppire_axis_unit_size (sheet->haxis, last);
+
+ rect.x -= sheet->hadjustment->value;
+
+ minimize_int (&rect.width, sheet->column_title_area.width);
+ maximize_int (&rect.x, 0);
- gdk_window_begin_paint_region (sheet->column_title_window, region);
+ gdk_window_begin_paint_rect (sheet->column_title_window, &rect);
for (col = first ; col <= last ; ++col)
{
static void
draw_row_title_buttons_range (GtkSheet *sheet, gint first, gint last)
{
- GdkRegion *region;
+ GdkRectangle rect;
gint row;
if (!GTK_WIDGET_REALIZED (GTK_WIDGET (sheet))) return;
g_return_if_fail (first >= min_visible_row (sheet));
g_return_if_fail (last <= max_visible_row (sheet));
+ rect.x = 0;
+ rect.width = sheet->row_title_area.width;
+ rect.y = psppire_axis_pixel_start (sheet->vaxis, first) + CELL_SPACING;
+ rect.height = psppire_axis_pixel_start (sheet->vaxis, last) + CELL_SPACING
+ + psppire_axis_unit_size (sheet->vaxis, last);
- region =
- gdk_drawable_get_visible_region (GDK_DRAWABLE (sheet->row_title_window));
-
- gdk_window_begin_paint_region (sheet->row_title_window, region);
+ rect.y -= sheet->vadjustment->value;
+ minimize_int (&rect.height, sheet->row_title_area.height);
+ maximize_int (&rect.y, 0);
+ gdk_window_begin_paint_rect (sheet->row_title_window, &rect);
for (row = first; row <= last; ++row)
{
GdkRectangle allocation;