X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fgtksheet%2Fgtksheet.h;h=3d1e07dff59e26dd63854dd14e0b10e8edf3c56f;hb=f3d0973a5a35adf7219b08e20b657209af73b9d1;hp=468708d346072aa170cb4c3dfb929a801dacac81;hpb=e157e5043740f7798250d475a602f43e6f82799b;p=pspp diff --git a/lib/gtksheet/gtksheet.h b/lib/gtksheet/gtksheet.h index 468708d346..3d1e07dff5 100644 --- a/lib/gtksheet/gtksheet.h +++ b/lib/gtksheet/gtksheet.h @@ -30,9 +30,7 @@ #include "gtkextra-sheet.h" #include "gsheetmodel.h" -#include "gsheet-column-iface.h" -#include "gsheet-row-iface.h" - +#include "psppire-axis.h" G_BEGIN_DECLS @@ -47,6 +45,7 @@ enum #define GTK_TYPE_SHEET_RANGE (gtk_sheet_range_get_type ()) +#define GTK_TYPE_SHEET_CELL (gtk_sheet_cell_get_type ()) #define GTK_TYPE_SHEET (gtk_sheet_get_type ()) #define GTK_SHEET(obj) GTK_CHECK_CAST (obj, gtk_sheet_get_type (), GtkSheet) @@ -56,7 +55,7 @@ enum typedef struct _GtkSheetClass GtkSheetClass; typedef struct _GtkSheetCellAttr GtkSheetCellAttr; -typedef struct _GtkSheetCell GtkSheetCell; + typedef struct _GtkSheetHoverTitle GtkSheetHoverTitle; @@ -71,13 +70,6 @@ struct _GtkSheetCellAttr gboolean is_visible; }; -struct _GtkSheetCell -{ - gint row; - gint col; -}; - - struct _GtkSheetHoverTitle { GtkWidget *window; @@ -97,8 +89,8 @@ struct _GtkSheet GtkBin parent; gboolean dispose_has_run; - GSheetColumn *column_geometry; - GSheetRow *row_geometry; + PsppireAxis *haxis; + PsppireAxis *vaxis; guint16 flags; @@ -110,10 +102,6 @@ struct _GtkSheet GdkColor color[n_COLORS]; gboolean show_grid; - /* allocation rectangle after the container_border_width - and the width of the shadow border */ - GdkRectangle internal_allocation; - gint16 column_requisition; gint16 row_requisition; @@ -126,13 +114,12 @@ struct _GtkSheet /* The GtkEntry used for editing the cells */ GtkWidget *entry_widget; - /* The widget containing entry_widget, or - entry_widget itself if no container */ - GtkWidget *entry_container; - /* The type of entry_widget */ GtkType entry_type; + /* Handler of the "changed" callback for the entry widget */ + glong entry_handler_id; + /* expanding selection */ GtkSheetCell selection_cell; @@ -222,9 +209,6 @@ struct _GtkSheetClass gint row, gint column, gint *new_row, gint *new_column); - gboolean (*deactivate) (GtkSheet *sheet, - gint row, gint column); - gboolean (*activate) (GtkSheet *sheet, gint row, gint column); @@ -237,23 +221,16 @@ GtkType gtk_sheet_range_get_type (void); /* create a new sheet */ -GtkWidget * gtk_sheet_new (GSheetRow *vgeo, GSheetColumn *hgeo, - GSheetModel *model); +GtkWidget * gtk_sheet_new (GSheetModel *model); /* create a new sheet with custom entry */ GtkWidget * -gtk_sheet_new_with_custom_entry (GSheetRow *vgeo, - GSheetColumn *hgeo, - GtkType entry_type); -void -gtk_sheet_construct_with_custom_entry (GtkSheet *sheet, - GSheetRow *vgeo, - GSheetColumn *hgeo, - GtkType entry_type); +gtk_sheet_new_with_custom_entry (GtkType entry_type); + /* Change entry */ void gtk_sheet_change_entry (GtkSheet *sheet, GtkType entry_type); -GtkWidget *gtk_sheet_get_entry (GtkSheet *sheet); +GtkEntry *gtk_sheet_get_entry (GtkSheet *sheet); void gtk_sheet_get_selected_range (GtkSheet *sheet, @@ -299,11 +276,9 @@ void gtk_sheet_get_visible_range (GtkSheet *sheet, GtkSheetRange *range); /* obvious */ void gtk_sheet_unselect_range (GtkSheet *sheet); -/* set active cell where the entry will be displayed - * returns FALSE if current cell can't be deactivated or - * requested cell can't be activated */ -gboolean gtk_sheet_set_active_cell (GtkSheet *sheet, - gint row, gint column); +/* set active cell where the entry will be displayed */ +void gtk_sheet_set_active_cell (GtkSheet *sheet, + gint row, gint column); /* Sets *ROW and *COLUMN to be the coordinates of the active cell. ROW and/or COLUMN may be null if the caller is not interested in their