Made the active cell border a lot more noticeable
[pspp-builds.git] / lib / gtksheet / gtksheet.c
index 3bb6bcab36270e023070f8a5d2958c7f0139e425..e3a145f66b3f8998b341dedd3c0e6a4346f4e812 100644 (file)
@@ -53,7 +53,7 @@
 #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>
@@ -836,7 +836,7 @@ gtk_sheet_class_init (GtkSheetClass *klass)
                  G_SIGNAL_RUN_LAST,
                  0,
                  NULL, NULL,
-                 gtkextra_VOID__INT_POINTER,
+                 psppire_marshal_VOID__INT_POINTER,
                  G_TYPE_NONE,
                  2,
                  G_TYPE_INT,
@@ -857,7 +857,7 @@ gtk_sheet_class_init (GtkSheetClass *klass)
                  G_SIGNAL_RUN_LAST,
                  0,
                  NULL, NULL,
-                 gtkextra_VOID__INT_POINTER,
+                 psppire_marshal_VOID__INT_POINTER,
                  G_TYPE_NONE,
                  2,
                  G_TYPE_INT,
@@ -883,7 +883,7 @@ gtk_sheet_class_init (GtkSheetClass *klass)
                  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
@@ -895,7 +895,7 @@ gtk_sheet_class_init (GtkSheetClass *klass)
                  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
@@ -907,7 +907,7 @@ gtk_sheet_class_init (GtkSheetClass *klass)
                  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);
@@ -919,7 +919,7 @@ gtk_sheet_class_init (GtkSheetClass *klass)
                  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);
@@ -930,7 +930,7 @@ gtk_sheet_class_init (GtkSheetClass *klass)
                  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);
 
 
@@ -1709,6 +1709,8 @@ gtk_sheet_style_set (GtkWidget *widget,
 
 }
 
+#define BORDER_WIDTH 4
+
 static void
 gtk_sheet_realize (GtkWidget *widget)
 {
@@ -1819,7 +1821,7 @@ 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,
@@ -2050,8 +2052,6 @@ gtk_sheet_cell_draw (GtkSheet *sheet, gint row, gint col)
                          area.width, area.height);
     }
 
-  //  gtk_sheet_cell_draw_label (sheet, row, col);
-
 
   label = gtk_sheet_cell_get_text (sheet, row, col);
   if (NULL == label)
@@ -2936,6 +2936,8 @@ gtk_sheet_new_selection (GtkSheet *sheet, GtkSheetRange *range)
   *range = new_range;
 }
 
+
+
 static void
 gtk_sheet_draw_border (GtkSheet *sheet, GtkSheetRange new_range)
 {
@@ -2946,10 +2948,10 @@ 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);
 }
 
 
@@ -4522,7 +4524,6 @@ gtk_sheet_size_allocate_entry (GtkSheet *sheet)
   GtkSheetCellAttr attributes = { 0 };
   GtkEntry *sheet_entry;
 
-
   if (!GTK_WIDGET_REALIZED (GTK_WIDGET (sheet))) return;
   if (!GTK_WIDGET_MAPPED (GTK_WIDGET (sheet))) return;
 
@@ -4533,8 +4534,6 @@ gtk_sheet_size_allocate_entry (GtkSheet *sheet)
                                   &attributes) )
     return ;
 
-  gtk_widget_ensure_style (GTK_WIDGET (sheet_entry));
-
   if ( GTK_WIDGET_REALIZED (sheet->entry_widget) )
     {
       GtkStyle *style = GTK_WIDGET (sheet_entry)->style;
@@ -4545,10 +4544,6 @@ gtk_sheet_size_allocate_entry (GtkSheet *sheet)
       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,
@@ -4568,15 +4563,8 @@ create_sheet_entry (GtkSheet *sheet)
       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);
 
@@ -5199,7 +5187,6 @@ gtk_sheet_get_attributes (const GtkSheet *sheet, gint row, gint col,
 
   if (row < 0 || col < 0) return FALSE;
 
-
   attr->foreground = GTK_WIDGET (sheet)->style->black;
   attr->background = sheet->color[BG_COLOR];