#include <gtk/gtkcontainer.h>
#include <pango/pango.h>
#include "gtksheet.h"
-#include "gtkextra-marshal.h"
+#include <gtksheet/psppire-marshal.h>
#include "gsheetmodel.h"
#include <libpspp/misc.h>
#include <math.h>
G_SIGNAL_RUN_LAST,
0,
NULL, NULL,
- gtkextra_VOID__INT_POINTER,
+ psppire_marshal_VOID__INT_POINTER,
G_TYPE_NONE,
2,
G_TYPE_INT,
G_SIGNAL_RUN_LAST,
0,
NULL, NULL,
- gtkextra_VOID__INT_POINTER,
+ psppire_marshal_VOID__INT_POINTER,
G_TYPE_NONE,
2,
G_TYPE_INT,
G_SIGNAL_RUN_LAST,
offsetof (GtkSheetClass, resize_range),
NULL, NULL,
- gtkextra_VOID__BOXED_BOXED,
+ psppire_marshal_VOID__BOXED_BOXED,
G_TYPE_NONE,
2,
GTK_TYPE_SHEET_RANGE, GTK_TYPE_SHEET_RANGE
G_SIGNAL_RUN_LAST,
offsetof (GtkSheetClass, move_range),
NULL, NULL,
- gtkextra_VOID__BOXED_BOXED,
+ psppire_marshal_VOID__BOXED_BOXED,
G_TYPE_NONE,
2,
GTK_TYPE_SHEET_RANGE, GTK_TYPE_SHEET_RANGE
G_SIGNAL_RUN_LAST,
offsetof (GtkSheetClass, traverse),
NULL, NULL,
- gtkextra_BOOLEAN__BOXED_POINTER,
+ psppire_marshal_BOOLEAN__BOXED_POINTER,
G_TYPE_BOOLEAN, 2,
GTK_TYPE_SHEET_CELL,
G_TYPE_POINTER);
G_SIGNAL_RUN_LAST,
offsetof (GtkSheetClass, activate),
NULL, NULL,
- gtkextra_VOID__INT_INT_INT_INT,
+ psppire_marshal_VOID__INT_INT_INT_INT,
G_TYPE_NONE, 4,
G_TYPE_INT, G_TYPE_INT,
G_TYPE_INT, G_TYPE_INT);
G_SIGNAL_RUN_LAST,
offsetof (GtkSheetClass, set_scroll_adjustments),
NULL, NULL,
- gtkextra_VOID__OBJECT_OBJECT,
+ psppire_marshal_VOID__OBJECT_OBJECT,
G_TYPE_NONE, 2, GTK_TYPE_ADJUSTMENT, GTK_TYPE_ADJUSTMENT);
}
+#define BORDER_WIDTH 4
+
static void
gtk_sheet_realize (GtkWidget *widget)
{
values.foreground = widget->style->white;
values.function = GDK_INVERT;
values.subwindow_mode = GDK_INCLUDE_INFERIORS;
- values.line_width = 3;
+ values.line_width = BORDER_WIDTH;
sheet->xor_gc = gdk_gc_new_with_values (widget->window,
&values,
area.width, area.height);
}
- // gtk_sheet_cell_draw_label (sheet, row, col);
-
label = gtk_sheet_cell_get_text (sheet, row, col);
if (NULL == label)
*range = new_range;
}
+
+
static void
gtk_sheet_draw_border (GtkSheet *sheet, GtkSheetRange new_range)
{
gdk_draw_rectangle (sheet->sheet_window,
sheet->xor_gc,
FALSE,
- area.x + 1,
- area.y + 1,
- area.width - 2,
- area.height - 2);
+ area.x - BORDER_WIDTH / 2,
+ area.y - BORDER_WIDTH / 2,
+ area.width + BORDER_WIDTH,
+ area.height + BORDER_WIDTH);
}
GtkSheetCellAttr attributes = { 0 };
GtkEntry *sheet_entry;
-
if (!GTK_WIDGET_REALIZED (GTK_WIDGET (sheet))) return;
if (!GTK_WIDGET_MAPPED (GTK_WIDGET (sheet))) return;
&attributes) )
return ;
- gtk_widget_ensure_style (GTK_WIDGET (sheet_entry));
-
if ( GTK_WIDGET_REALIZED (sheet->entry_widget) )
{
GtkStyle *style = GTK_WIDGET (sheet_entry)->style;
style->bg[GTK_STATE_ACTIVE] = attributes.background;
style->fg[GTK_STATE_ACTIVE] = attributes.foreground;
style->text[GTK_STATE_ACTIVE] = attributes.foreground;
-
- pango_font_description_free (style->font_desc);
- g_assert (attributes.font_desc);
- style->font_desc = pango_font_description_copy (attributes.font_desc);
}
rectangle_from_cell (sheet, sheet->active_cell.row,
gtk_widget_unparent (sheet->entry_widget);
}
- if (sheet->entry_type)
- {
- sheet->entry_widget = g_object_new (sheet->entry_type, NULL);
- g_object_ref_sink (sheet->entry_widget);
- }
- else
- {
- sheet->entry_widget = gtk_entry_new ();
- }
+ sheet->entry_widget = g_object_new (sheet->entry_type, NULL);
+ g_object_ref_sink (sheet->entry_widget);
gtk_widget_size_request (sheet->entry_widget, NULL);
if (row < 0 || col < 0) return FALSE;
-
attr->foreground = GTK_WIDGET (sheet)->style->black;
attr->background = sheet->color[BG_COLOR];