#include <glib-object.h>
#include <gdk/gdk.h>
#include <gtk/gtk.h>
-
+#include "gtkextra-sheet.h"
G_BEGIN_DECLS
struct _GtkSheetRange
{
- glong row0,col0; /* upper-left cell */
- glong rowi,coli; /* lower-right cell */
+ gint row0, col0; /* upper-left cell */
+ gint rowi, coli; /* lower-right cell */
};
struct _GtkSheetCellBorder
glong row, glong n_rows);
void (* columns_inserted) (GSheetModel *sheet_model,
- glong column, glong n_columns);
+ glong column, glong n_columns);
void (* columns_deleted) (GSheetModel *sheet_model,
- glong column, glong n_columns);
+ glong column, glong n_columns);
+
+
/* Virtual Table */
gchar * (* get_string) (const GSheetModel *sheet_model,
- glong row, glong column);
+ glong row, glong column);
gboolean (* set_string) (GSheetModel *sheet_model,
const gchar *s, glong row, glong column);
gboolean (* clear_datum) (GSheetModel *sheet_model,
glong row, glong column);
- gboolean (* is_visible) (const GSheetModel *sheet_model, glong row, glong column);
gboolean (* is_editable) (const GSheetModel *sheet_model, glong row, glong column);
GdkColor * (* get_foreground) (const GSheetModel *sheet_model,
- glong row, glong column);
+ glong row, glong column);
GdkColor * (* get_background) (const GSheetModel *sheet_model,
- glong row, glong column);
+ glong row, glong column);
const GtkJustification * (* get_justification) (const GSheetModel *sheet_model,
glong row, glong column);
- const PangoFontDescription * (* get_font_desc) (const GSheetModel *sheet_model,
- glong row, glong column);
-
- const GtkSheetCellBorder * (* get_cell_border) (const GSheetModel *sheet_model,
- glong row, glong column);
+ /* column related metadata */
+ gchar * (*get_column_title) (const GSheetModel *, gint col);
+ gchar * (*get_column_subtitle) (const GSheetModel *, gint col);
+ gboolean (*get_column_sensitivity) (const GSheetModel *, gint col);
+ GtkJustification (*get_column_justification) (const GSheetModel *mode, gint col);
+ const GtkSheetButton * (* get_button) (const GSheetModel *model, gint col);
glong (*get_column_count) (const GSheetModel *model);
- glong (*get_row_count) (const GSheetModel *model);
+ /* row related metadata */
+ gchar * (*get_row_title) (const GSheetModel *, gint row);
+ gchar * (*get_row_subtitle) (const GSheetModel *, gint row);
+ glong (*get_row_count) (const GSheetModel *model);
+ gboolean (*get_row_sensitivity) (const GSheetModel *, gint row);
};
GType g_sheet_model_get_type (void) G_GNUC_CONST;
-inline gchar * g_sheet_model_get_string (const GSheetModel *sheet_model,
- glong row, glong column);
+gchar * g_sheet_model_get_string (const GSheetModel *sheet_model,
+ glong row, glong column);
+
+gboolean g_sheet_model_set_string (GSheetModel *sheet_model,
+ const gchar *s,
+ glong row, glong column);
+
+gboolean g_sheet_model_datum_clear (GSheetModel *sheet_model,
+ glong row, glong column);
+
+
+void g_sheet_model_range_changed (GSheetModel *sheet_model,
+ glong row0, glong col0,
+ glong rowi, glong coli);
+
+void g_sheet_model_rows_deleted (GSheetModel *sheet_model,
+ glong row, glong n_rows);
+
+void g_sheet_model_rows_inserted (GSheetModel *sheet_model,
+ glong row, glong n_rows);
+
+void g_sheet_model_columns_inserted (GSheetModel *sheet_model,
+ glong column, glong n_columns);
+
+void g_sheet_model_columns_deleted (GSheetModel *sheet_model,
+ glong column, glong n_columns);
+
+
+gboolean g_sheet_model_is_editable (const GSheetModel *model,
+ glong row, glong column);
+
+gboolean g_sheet_model_is_visible
+ (const GSheetModel *model, glong row, glong column);
-inline gboolean g_sheet_model_set_string (GSheetModel *sheet_model,
- const gchar *s,
- glong row, glong column);
-inline gboolean g_sheet_model_datum_clear (GSheetModel *sheet_model,
- glong row, glong column);
+GdkColor *g_sheet_model_get_foreground
+ (const GSheetModel *model, glong row, glong column);
+GdkColor *g_sheet_model_get_background
+ (const GSheetModel *model, glong row, glong column);
-inline void g_sheet_model_range_changed (GSheetModel *sheet_model,
- glong row0, glong col0,
- glong rowi, glong coli);
+const GtkJustification *g_sheet_model_get_justification
+ (const GSheetModel *model, glong row, glong column);
-inline void g_sheet_model_rows_deleted (GSheetModel *sheet_model,
- glong row, glong n_rows);
+const GtkSheetCellBorder * g_sheet_model_get_cell_border
+ (const GSheetModel *model, glong row, glong column);
-inline void g_sheet_model_rows_inserted (GSheetModel *sheet_model,
- glong row, glong n_rows);
+gboolean g_sheet_model_free_strings (const GSheetModel *sheet_model);
-inline void g_sheet_model_columns_inserted (GSheetModel *sheet_model,
- glong column, glong n_columns);
+glong g_sheet_model_get_column_count (const GSheetModel *sheet_model);
-inline void g_sheet_model_columns_deleted (GSheetModel *sheet_model,
- glong column, glong n_columns);
+gint g_sheet_model_get_row_count (const GSheetModel *sheet_model);
+\f
-inline gboolean g_sheet_model_is_editable (const GSheetModel *model,
- glong row, glong column);
+gboolean g_sheet_model_get_column_sensitivity (const GSheetModel *model,
+ gint col);
-inline gboolean g_sheet_model_is_visible
- (const GSheetModel *model, glong row, glong column);
+gchar * g_sheet_model_get_column_subtitle (const GSheetModel *model,
+ gint col);
+GtkSheetButton * g_sheet_model_get_column_button (const GSheetModel *, gint);
-inline GdkColor *g_sheet_model_get_foreground
- (const GSheetModel *model, glong row, glong column);
+GtkJustification g_sheet_model_get_column_justification (const GSheetModel *,
+ gint);
-inline GdkColor *g_sheet_model_get_background
- (const GSheetModel *model, glong row, glong column);
+\f
+gboolean g_sheet_model_get_row_sensitivity (const GSheetModel *model,
+ gint row);
-inline const GtkJustification *g_sheet_model_get_justification
- (const GSheetModel *model, glong row, glong column);
+gchar * g_sheet_model_get_row_subtitle (const GSheetModel *model,
+ gint row);
-inline const PangoFontDescription *g_sheet_model_get_font_desc
- (const GSheetModel *model, glong row, glong column);
-inline const GtkSheetCellBorder * g_sheet_model_get_cell_border
- (const GSheetModel *model, glong row, glong column);
+GtkSheetButton * g_sheet_model_get_row_button (const GSheetModel *, gint);
-inline gboolean g_sheet_model_free_strings (const GSheetModel *sheet_model);
-inline glong g_sheet_model_get_column_count (const GSheetModel *sheet_model);
-inline gint g_sheet_model_get_row_count (const GSheetModel *sheet_model);
G_END_DECLS