Fixed bug reporting the significance of paired value t-test.
[pspp-builds.git] / lib / gtksheet / gsheet-column-iface.c
index a4cc9f36b3a54359eae56bba396f152c34b08141..1cd7996d4823def6aafb0501a2bdf466f89d52e4 100644 (file)
@@ -1,4 +1,4 @@
-/* GSheetColumn --- an abstract model of the column geometry of a 
+/* GSheetColumn --- an abstract model of the column geometry of a
    GSheet widget.
 
  * Copyright (C) 2006 Free Software Foundation
@@ -18,6 +18,8 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
+#include <config.h>
+
 #include <stdlib.h>
 #include <string.h>
 #include <glib.h>
@@ -25,7 +27,7 @@
 #include <gobject/gvaluecollector.h>
 #include "gsheet-column-iface.h"
 #include "gtkextra-marshal.h"
-
+#include "gtkextra-sheet.h"
 
 enum {
   COLUMNS_CHANGED,
@@ -39,7 +41,7 @@ static guint sheet_column_signals[LAST_SIGNAL];
 static void      g_sheet_column_base_init   (gpointer g_class);
 
 
-inline GType
+GType
 g_sheet_column_get_type (void)
 {
   static GType sheet_column_type = 0;
@@ -73,8 +75,6 @@ g_sheet_column_get_type (void)
 }
 
 
-static GtkSheetButton default_button;
-
 static void
 g_sheet_column_base_init (gpointer g_class)
 {
@@ -95,187 +95,190 @@ g_sheet_column_base_init (gpointer g_class)
                      G_TYPE_INT);
 
 
-      default_button.state = GTK_STATE_NORMAL;
-      default_button.label = NULL;
-      default_button.label_visible = TRUE;
-      default_button.child = NULL;
-      default_button.justification = GTK_JUSTIFY_FILL;
-
       initialized = TRUE;
     }
 }
 
 
-inline void  
-g_sheet_column_set_width (GSheetColumn *column,
-                               gint col, gint size, const GtkSheet *sheet)
+void
+g_sheet_column_set_width (GSheetColumn *column, glong col, gint size)
 {
   g_return_if_fail (G_IS_SHEET_COLUMN (column));
 
-  if ((G_SHEET_COLUMN_GET_IFACE (column)->set_width) ) 
-    (G_SHEET_COLUMN_GET_IFACE (column)->set_width) (column, col, 
-                                                       size, sheet);
+  if ((G_SHEET_COLUMN_GET_IFACE (column)->set_width) )
+    (G_SHEET_COLUMN_GET_IFACE (column)->set_width) (column, col, size);
 }
 
 
-inline gint 
-g_sheet_column_get_width     (const GSheetColumn *column, 
-                                   gint col, const GtkSheet *sheet)
+gint
+g_sheet_column_get_width (const GSheetColumn *column, glong col)
 {
   g_return_val_if_fail (G_IS_SHEET_COLUMN (column), -1);
 
   g_assert (G_SHEET_COLUMN_GET_IFACE (column)->get_width);
-  
-  return (G_SHEET_COLUMN_GET_IFACE (column)->get_width) (column, col, 
-                                                            sheet);
+
+  return (G_SHEET_COLUMN_GET_IFACE (column)->get_width) (column, col);
 }
 
 
 
-inline gboolean  
+gboolean
 g_sheet_column_get_visibility(const GSheetColumn *column,
-                                           gint col, const GtkSheet *sheet)
+                                           glong col)
 {
   g_return_val_if_fail (G_IS_SHEET_COLUMN (column), FALSE);
 
   g_assert (G_SHEET_COLUMN_GET_IFACE (column)->get_visibility);
-  
-  return (G_SHEET_COLUMN_GET_IFACE (column)->get_visibility) (column, 
-                                                                 col, sheet);
+
+  return (G_SHEET_COLUMN_GET_IFACE (column)->get_visibility) (column,
+                                                                 col);
 
 }
 
-inline gboolean  
+gboolean
 g_sheet_column_get_sensitivity(const GSheetColumn *column,
-                                            gint col, const GtkSheet *sheet)
+                                            glong col)
 {
   g_return_val_if_fail (G_IS_SHEET_COLUMN (column), FALSE);
 
   g_assert (G_SHEET_COLUMN_GET_IFACE (column)->get_sensitivity);
-  
-  return (G_SHEET_COLUMN_GET_IFACE (column)->get_sensitivity) (column, 
-                                                                  col, sheet);
+
+  return (G_SHEET_COLUMN_GET_IFACE (column)->get_sensitivity) (column,
+                                                                  col);
 
 }
 
 
-inline const GtkSheetButton *
+GtkSheetButton *
 g_sheet_column_get_button(const GSheetColumn *column,
-                             gint col, const GtkSheet *sheet)
+                             glong col)
 {
-  static GtkSheetButton button ;
+  GtkSheetButton *button = gtk_sheet_button_new();
+
   GSheetColumnIface *iface = G_SHEET_COLUMN_GET_IFACE (column);
 
   g_return_val_if_fail (G_IS_SHEET_COLUMN (column), FALSE);
 
-  memcpy(&button, &default_button, sizeof (button));
-
   if ( iface->get_button_label)
-    button.label = iface->get_button_label(column, col, sheet);
+    button->label = iface->get_button_label(column, col);
 
-  return &button;
+  return button;
 }
 
-inline GtkJustification 
-g_sheet_column_get_justification(const GSheetColumn *column, 
-                                    gint col, const GtkSheet *sheet)
+GtkJustification
+g_sheet_column_get_justification(const GSheetColumn *column,
+                                    glong col)
 {
   g_return_val_if_fail (G_IS_SHEET_COLUMN (column), FALSE);
 
   g_assert (G_SHEET_COLUMN_GET_IFACE (column)->get_justification);
-  
-  return (G_SHEET_COLUMN_GET_IFACE (column)->get_justification) (column, col, sheet);
+
+  return (G_SHEET_COLUMN_GET_IFACE (column)->get_justification) (column, col);
 }
 
+gchar *
+g_sheet_column_get_subtitle (const GSheetColumn *column, glong col)
+{
+  g_return_val_if_fail (G_IS_SHEET_COLUMN (column), NULL);
+
+  if  ( ! G_SHEET_COLUMN_GET_IFACE (column)->get_subtitle)
+    return NULL;
+
+  return (G_SHEET_COLUMN_GET_IFACE (column)->get_subtitle) (column, col);
+}
 
 
 
-inline gint  
+gint
 g_sheet_column_get_left_text_column (const GSheetColumn *column,
-                                        gint col, const GtkSheet *sheet)
+                                        glong col)
 {
   g_return_val_if_fail (G_IS_SHEET_COLUMN (column), -1);
 
   if  ( ! G_SHEET_COLUMN_GET_IFACE (column)->get_left_text_column)
     return col;
-  
-  return (G_SHEET_COLUMN_GET_IFACE (column)->get_left_text_column) (column, col, sheet);
+
+  return (G_SHEET_COLUMN_GET_IFACE (column)->get_left_text_column) (column, col);
 
 }
 
-inline gint  
+gint
 g_sheet_column_get_right_text_column (const GSheetColumn *column,
-                                         gint col, const GtkSheet *sheet)
+                                         glong col)
 {
   g_return_val_if_fail (G_IS_SHEET_COLUMN (column), -1);
 
   if  ( ! G_SHEET_COLUMN_GET_IFACE (column)->get_right_text_column)
     return col;
-  
-  return (G_SHEET_COLUMN_GET_IFACE (column)->get_right_text_column) (column, col, sheet);
+
+  return (G_SHEET_COLUMN_GET_IFACE (column)->get_right_text_column) (column, col);
 
 }
 
-inline void 
+void
 g_sheet_column_set_left_text_column (const GSheetColumn *column,
-                                        gint col, gint i, const GtkSheet *sheet)
+                                        glong col, gint i)
 {
   g_return_if_fail (G_IS_SHEET_COLUMN (column));
 
   if  ( G_SHEET_COLUMN_GET_IFACE (column)->set_left_text_column)
-    (G_SHEET_COLUMN_GET_IFACE (column)->set_left_text_column) (column, col, i, sheet);
+    (G_SHEET_COLUMN_GET_IFACE (column)->set_left_text_column) (column, col, i);
 
 }
 
 
-inline void 
+void
 g_sheet_column_set_right_text_column (const GSheetColumn *column,
-                                         gint col, gint i, const GtkSheet *sheet)
+                                         glong col, gint i)
 {
   g_return_if_fail (G_IS_SHEET_COLUMN (column));
 
   if  ( G_SHEET_COLUMN_GET_IFACE (column)->set_right_text_column)
-    (G_SHEET_COLUMN_GET_IFACE (column)->set_right_text_column) (column, col, i, sheet);
+    (G_SHEET_COLUMN_GET_IFACE (column)->set_right_text_column) (column, col, i);
 }
 
-inline gint  
-g_sheet_column_get_column_count(const GSheetColumn *geo, const GtkSheet *sheet)
+glong
+g_sheet_column_get_column_count(const GSheetColumn *geo)
 {
   g_return_val_if_fail (G_IS_SHEET_COLUMN (geo), -1);
 
   g_assert  ( G_SHEET_COLUMN_GET_IFACE (geo)->get_column_count);
 
-  return (G_SHEET_COLUMN_GET_IFACE (geo)->get_column_count) (geo, sheet);
+  return (G_SHEET_COLUMN_GET_IFACE (geo)->get_column_count) (geo);
 }
 
-inline gint  
-g_sheet_column_start_pixel(const GSheetColumn *geo, gint col, const GtkSheet *sheet)
+gint
+g_sheet_column_start_pixel(const GSheetColumn *geo, glong col)
 {
   gint i;
   gint start_pixel = 0;
 
   g_return_val_if_fail (G_IS_SHEET_COLUMN (geo), -1);
-  g_return_val_if_fail (col < 
-                       g_sheet_column_get_column_count(geo, sheet),-1);
+  g_return_val_if_fail (col <
+                       g_sheet_column_get_column_count(geo),-1);
 
-  for ( i = 0 ; i < col ; ++i ) 
+  for ( i = 0 ; i < col ; ++i )
     {
-      if ( g_sheet_column_get_visibility(geo, i, sheet))
-       start_pixel += g_sheet_column_get_width(geo, i, sheet);
+      if ( g_sheet_column_get_visibility(geo, i))
+       start_pixel += g_sheet_column_get_width(geo, i);
     }
-  
+
   return start_pixel;
 
 }
 
 
 
-inline void
-g_sheet_column_columns_deleted(GSheetColumn *geo, 
-                                gint first, gint n_columns)
+void
+g_sheet_column_columns_changed(GSheetColumn *geo,
+                                glong first, glong n_columns)
 {
   g_return_if_fail (G_IS_SHEET_COLUMN (geo));
 
-  g_signal_emit (geo, sheet_column_signals[COLUMNS_CHANGED], 0, 
+  g_signal_emit (geo, sheet_column_signals[COLUMNS_CHANGED], 0,
                 first, n_columns);
 }
+
+
+
+