GtkContainer container; guint16 flags; GtkSelectionMode selection_mode;
guint freeze_count; /* Background colors */
GdkColor bg_color;
GdkColor grid_color;
gboolean show_grid; /* sheet children */
GList *children; /* allocation rectangle after the container_border_width
and the width of the shadow border */
GdkRectangle internal_allocation; gchar *name; GtkSheetRow *row;
GtkSheetColumn *column;
/* max number of diplayed cells */
gint maxrow;
gint maxcol; /* Displayed range */ GtkSheetRange view; /* sheet data: dynamically allocated array of cell pointers */
GtkSheetCell ***data; /* max number of allocated cells */
gint maxallocrow;
gint maxalloccol; /* active cell */
GtkSheetCell active_cell;
GtkWidget *sheet_entry;
GdkWindow *sheet_entry_window; /* for NO_WINDOW entry widgets(ala GtkLayout) */
GtkType entry_type; /* expanding selection */
GtkSheetCell selection_cell; /* timer for automatic scroll during selection */
gint32 timer;
/* timer for flashing clipped range */
gint32 clip_timer;
gint interval; /* global selection button */
GtkWidget *button; /* sheet state */
gint state; /* selected range */
GtkSheetRange range;
/*the scrolling window and it's height and width to
* make things a little speedier */
GdkWindow *sheet_window;
guint sheet_window_width;
guint sheet_window_height; /* sheet backing pixmap */
GdkWindow *pixmap; /* offsets for scrolling */
gint hoffset;
gint voffset;
gfloat old_hadjustment;
gfloat old_vadjustment;
/* border shadow style */
GtkShadowType shadow_type;
/* Column Titles */
GdkRectangle column_title_area;
GdkWindow *column_title_window; /* Row Titles */
GdkRectangle row_title_area;
GdkWindow *row_title_window; /*scrollbars*/
GtkAdjustment *hadjustment;
GtkAdjustment *vadjustment; /* xor GC for the verticle drag line */
GdkGC *xor_gc;
/* gc for drawing unselected cells */
GdkGC *fg_gc;
GdkGC *bg_gc; /* cursor used to indicate dragging */
GdkCursor *cursor_drag; /* the current x-pixel location of the xor-drag vline */
gint x_drag; /* the current y-pixel location of the xor-drag hline */
gint y_drag; /* current cell being dragged */
GtkSheetCell drag_cell;
/* current range being dragged */
GtkSheetRange drag_range; /* clipped range */
GtkSheetRange clip_range;
};
|