Add a resize method to the axis
authorJohn Darrington <john@darrington.wattle.id.au>
Sun, 7 Dec 2008 00:12:32 +0000 (09:12 +0900)
committerJohn Darrington <john@darrington.wattle.id.au>
Sun, 7 Dec 2008 00:12:32 +0000 (09:12 +0900)
lib/gtksheet/gtksheet.c
lib/gtksheet/psppire-axis-impl.c
lib/gtksheet/psppire-axis.c
lib/gtksheet/psppire-axis.h

index be86de258480b7af113208c98cd11ffba28d4bba..3baee065607f6a2e980ba0f6b31d1885cc3a74de 100644 (file)
@@ -5158,7 +5158,7 @@ set_column_width (GtkSheet *sheet,
   gtk_sheet_column_size_request (sheet, column, &min_width);
   if (width < min_width) return;
 
-  psppire_axis_impl_resize (sheet->haxis, column, width);
+  psppire_axis_resize (sheet->haxis, column, width);
 
   if (GTK_WIDGET_REALIZED (GTK_WIDGET (sheet)))
     {
@@ -5186,7 +5186,7 @@ set_row_height (GtkSheet *sheet,
   gtk_sheet_row_size_request (sheet, row, &min_height);
   if (height < min_height) return;
 
-  psppire_axis_impl_resize (sheet->vaxis, row, height);
+  psppire_axis_resize (sheet->vaxis, row, height);
 
   if (GTK_WIDGET_REALIZED (GTK_WIDGET (sheet)) )
     {
index 2e9228f3e62868fa556ef397b9ec38107890300e..be47d874c2f88b9f079c2fb9a7b2fa85da81c8ab 100644 (file)
@@ -132,6 +132,8 @@ total_size (const PsppireAxis *axis)
 }
 
 
+static void resize (PsppireAxis *axis, gint posn, glong size);
+
 
 
 static void
@@ -142,6 +144,7 @@ psppire_impl_iface_init (PsppireAxisIface *iface)
   iface->start_pixel = start_pixel;
   iface->unit_at_pixel = unit_at_pixel;
   iface->total_size = total_size;
+  iface->resize = resize;
 }
 
 /* --- functions --- */
@@ -368,9 +371,11 @@ make_single (PsppireAxisImpl *a, gint posn)
   return tower_data (n, struct axis_node, unit_node);
 }
 
-void
-psppire_axis_impl_resize (PsppireAxisImpl *a, gint posn, gint size)
+static void
+resize (PsppireAxis *axis, gint posn, glong size)
 {
+  PsppireAxisImpl *a = PSPPIRE_AXIS_IMPL (axis);
+
   struct axis_node *an;
   g_return_if_fail (posn >= 0);
 
@@ -385,6 +390,14 @@ psppire_axis_impl_resize (PsppireAxisImpl *a, gint posn, gint size)
 }
 
 
+void
+psppire_axis_impl_resize (PsppireAxisImpl *a, gint posn, gint size)
+{
+  resize (PSPPIRE_AXIS (a), posn, size);
+}
+
+
+
 
 void
 psppire_axis_impl_clear (PsppireAxisImpl *a)
index ef95ec9989264a2a39e38adf07f82b0b19bacb9f..8a4eb568545a9c4725afa61c3eaede17ea037e33 100644 (file)
@@ -253,3 +253,18 @@ psppire_axis_unit_at_pixel (const PsppireAxis *a, glong pixel)
 
   return PSPPIRE_AXIS_GET_IFACE (a)->unit_at_pixel (a, pixel);
 }
+
+
+/* Set UNIT to size SIZE */
+void
+psppire_axis_resize (PsppireAxis *a, gint unit, glong size)
+{
+  g_return_if_fail (PSPPIRE_IS_AXIS (a));
+
+  g_return_if_fail (PSPPIRE_AXIS_GET_IFACE (a));
+
+  if (PSPPIRE_AXIS_GET_IFACE (a)->resize)
+    PSPPIRE_AXIS_GET_IFACE (a)->resize (a, unit, size);
+}
+
+
index 7a8e1cc02ee3bee7657b9537e6f1446983deafa2..3836ecf05175eda01a0e31374003c5f4a4d163eb 100644 (file)
@@ -79,7 +79,10 @@ struct _PsppireAxisIface
 
   gint  (*unit_at_pixel) (const PsppireAxis *a, glong pixel);
 
-  glong (*total_size ) (const PsppireAxis *a);
+  glong (*total_size) (const PsppireAxis *a);
+
+
+  void (*resize) (PsppireAxis *a, gint unit, glong pixels);
 };
 
 
@@ -94,6 +97,8 @@ glong psppire_axis_start_pixel (const PsppireAxis *a, gint unit);
 gint psppire_axis_unit_at_pixel (const PsppireAxis *a, glong pixel);
 
 
+void psppire_axis_resize (PsppireAxis *a, gint unit, glong size);
+
 G_END_DECLS
 
 #endif /* PSPPIRE_AXIS_H__ */