From c50636dba333983e99deeb76338bbec3390a1fbe Mon Sep 17 00:00:00 2001 From: Miguel de Icaza Date: Tue, 30 Nov 1999 05:50:54 +0000 Subject: New file. Implement a multi-state image toggle cell object. 1999-11-29 Miguel de Icaza * e-cell-toggle.c, e-cell-toggle.h: New file. Implement a multi-state image toggle cell object. * e-cell-text.c (ect_leave_edit): Handle the case of us calling leave edit manually. (ect_stop_editing): Leave manually editing here. (ect_draw): Add one pixel to the border for left and right; Handle off-screen cursor (must be improved). (ect_edit_select_all): New function. (ect_event): Select all text on editing start * e-table-item.c (eti_event): Map mouse events and dispatch them. (eti_event): Add spreadsheet mode for editing; Enter editing only with visual characters; Leave editing mode when a different row has been selected. (eti_get_height): Fix the computation for this; Fix logic for the length_threshold. (eti_draw): Add borders on all sides of the box; Only draw focus if the cell is not being edited. svn path=/trunk/; revision=1445 --- widgets/e-table/e-cell-toggle.h | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 widgets/e-table/e-cell-toggle.h (limited to 'widgets/e-table/e-cell-toggle.h') diff --git a/widgets/e-table/e-cell-toggle.h b/widgets/e-table/e-cell-toggle.h new file mode 100644 index 0000000000..3cd99f5d04 --- /dev/null +++ b/widgets/e-table/e-cell-toggle.h @@ -0,0 +1,37 @@ +#ifndef _E_CELL_TOGGLE_H_ +#define _E_CELL_TOGGLE_H_ + +#include +#include +#include "e-cell.h" + +#define E_CELL_TOGGLE_TYPE (e_cell_toggle_get_type ()) +#define E_CELL_TOGGLE(o) (GTK_CHECK_CAST ((o), E_CELL_TOGGLE_TYPE, ECellToggle)) +#define E_CELL_TOGGLE_CLASS(k) (GTK_CHECK_CLASS_CAST((k), E_CELL_TOGGLE_TYPE, ECellToggleClass)) +#define E_IS_CELL_TOGGLE(o) (GTK_CHECK_TYPE ((o), E_CELL_TOGGLE_TYPE)) +#define E_IS_CELL_TOGGLE_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), E_CELL_TOGGLE_TYPE)) + +typedef struct { + ECell parent; + + int border; + int n_states; + GdkPixbuf **images; + + int height; +} ECellToggle; + +typedef struct { + ECellClass parent_class; +} ECellToggleClass; + +GtkType e_cell_toggle_get_type (void); +ECell *e_cell_toggle_new (ETableModel *model, int border, + int n_states, + GdkPibux **images); +void e_cell_toggle_construct (ECellToggle *etog, ETableModel *etm, + int border, int n_states, GdkPixbuf **images); + +#endif /* _E_CELL_TOGGLE_H_ */ + + -- cgit