X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fgtksheet%2Fgsheetmodel.h;h=6a54d7e85ab25a72abf8815548e5bec4c9bb910b;hb=7c78141f0fd0e29f0b2c4b8822f760218709e4df;hp=ae5a372bb697e3eba83faebdb7b48f0d33e01d2c;hpb=88eb1ede60522d3893dfe1c75cbab2d03f5cb2d5;p=pspp-builds.git diff --git a/lib/gtksheet/gsheetmodel.h b/lib/gtksheet/gsheetmodel.h index ae5a372b..6a54d7e8 100644 --- a/lib/gtksheet/gsheetmodel.h +++ b/lib/gtksheet/gsheetmodel.h @@ -26,7 +26,7 @@ #include #include #include - +#include "gtkextra-sheet.h" G_BEGIN_DECLS @@ -51,8 +51,8 @@ typedef struct _GtkSheetCellBorder GtkSheetCellBorder; 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 @@ -85,10 +85,12 @@ struct _GSheetModelIface 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); + + @@ -96,7 +98,7 @@ struct _GSheetModelIface /* 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); @@ -104,29 +106,33 @@ struct _GSheetModelIface 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); }; @@ -134,63 +140,86 @@ struct _GSheetModelIface 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); + -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); + +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