#include <glib.h>
#include "gsheetmodel.h"
-#include "gtkextra-marshal.h"
+#include <gtksheet/psppire-marshal.h>
enum {
RANGE_CHANGED,
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GSheetModelIface, range_changed),
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_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GSheetModelIface, rows_inserted),
NULL, NULL,
- gtkextra_VOID__INT_INT,
+ psppire_marshal_VOID__INT_INT,
G_TYPE_NONE, 2,
G_TYPE_INT,
G_TYPE_INT);
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GSheetModelIface, rows_deleted),
NULL, NULL,
- gtkextra_VOID__INT_INT,
+ psppire_marshal_VOID__INT_INT,
G_TYPE_NONE, 2,
G_TYPE_INT,
G_TYPE_INT);
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GSheetModelIface, columns_inserted),
NULL, NULL,
- gtkextra_VOID__INT_INT,
+ psppire_marshal_VOID__INT_INT,
G_TYPE_NONE, 2,
G_TYPE_INT,
G_TYPE_INT);
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GSheetModelIface, columns_deleted),
NULL, NULL,
- gtkextra_VOID__INT_INT,
+ psppire_marshal_VOID__INT_INT,
G_TYPE_NONE, 2,
G_TYPE_INT,
G_TYPE_INT);
{
g_return_val_if_fail (G_IS_SHEET_MODEL (model), -1);
-
return G_SHEET_MODEL_GET_IFACE (model)->get_row_count (model);
}
+
+\f
+
+/* Column related functions */
+gboolean
+g_sheet_model_get_column_sensitivity (const GSheetModel *model, gint col)
+{
+ g_return_val_if_fail (G_IS_SHEET_MODEL (model), FALSE);
+
+ if ( NULL == G_SHEET_MODEL_GET_IFACE (model)->get_column_sensitivity)
+ return TRUE;
+
+ return G_SHEET_MODEL_GET_IFACE (model)->get_column_sensitivity (model, col);
+}
+
+
+gchar *
+g_sheet_model_get_column_subtitle (const GSheetModel *model,
+ gint col)
+{
+ g_return_val_if_fail (G_IS_SHEET_MODEL (model), NULL);
+
+ if ( NULL == G_SHEET_MODEL_GET_IFACE (model)->get_column_subtitle)
+ return NULL;
+
+ return G_SHEET_MODEL_GET_IFACE (model)->get_column_subtitle (model, col);
+}
+
+
+GtkSheetButton *
+g_sheet_model_get_column_button (const GSheetModel *model,
+ gint col)
+{
+ GtkSheetButton *button = gtk_sheet_button_new ();
+
+ g_return_val_if_fail (G_IS_SHEET_MODEL (model), NULL);
+
+ if ( G_SHEET_MODEL_GET_IFACE (model)->get_column_title)
+ button->label = G_SHEET_MODEL_GET_IFACE (model)->get_column_title (model, col);
+
+ return button;
+}
+
+GtkJustification
+g_sheet_model_get_column_justification (const GSheetModel *model,
+ gint col)
+{
+ g_return_val_if_fail (G_IS_SHEET_MODEL (model), GTK_JUSTIFY_LEFT);
+
+ if ( G_SHEET_MODEL_GET_IFACE (model)->get_column_justification)
+ return G_SHEET_MODEL_GET_IFACE (model)->get_column_justification (model, col);
+
+ return GTK_JUSTIFY_LEFT;
+}
+
+\f
+
+gboolean
+g_sheet_model_get_row_sensitivity (const GSheetModel *model, gint row)
+{
+ g_return_val_if_fail (G_IS_SHEET_MODEL (model), FALSE);
+
+ if ( NULL == G_SHEET_MODEL_GET_IFACE (model)->get_row_sensitivity)
+ return TRUE;
+
+ return G_SHEET_MODEL_GET_IFACE (model)->get_row_sensitivity (model, row);
+}
+
+
+
+gchar *
+g_sheet_model_get_row_subtitle (const GSheetModel *model,
+ gint row)
+{
+ g_return_val_if_fail (G_IS_SHEET_MODEL (model), NULL);
+
+ if ( NULL == G_SHEET_MODEL_GET_IFACE (model)->get_row_subtitle)
+ return NULL;
+
+ return G_SHEET_MODEL_GET_IFACE (model)->get_row_subtitle (model, row);
+}
+
+
+GtkSheetButton *
+g_sheet_model_get_row_button (const GSheetModel *model,
+ gint row)
+{
+ GtkSheetButton *button = gtk_sheet_button_new ();
+
+ g_return_val_if_fail (G_IS_SHEET_MODEL (model), NULL);
+
+ if ( G_SHEET_MODEL_GET_IFACE (model)->get_row_title)
+ button->label = G_SHEET_MODEL_GET_IFACE (model)->get_row_title (model, row);
+
+ return button;
+}
+