172typedef BasicCell * (*CellCreateFunc) (void);
174typedef void (*CellSetValueFunc) (BasicCell *cell,
175 const char * new_value);
177typedef gboolean (*CellEnterFunc) (BasicCell *cell,
178 int *cursor_position,
179 int *start_selection,
182typedef void (*CellModifyVerifyFunc) (BasicCell *cell,
185 const char *new_value,
187 int *cursor_position,
188 int *start_selection,
191typedef gboolean (*CellDirectUpdateFunc) (BasicCell *cell,
192 int *cursor_position,
193 int *start_selection,
197typedef void (*CellLeaveFunc) (BasicCell *cell);
199typedef void (*CellRealizeFunc) (BasicCell *cell, gpointer gui_handle);
201typedef void (*CellMoveFunc) (BasicCell *cell);
203typedef void (*CellDestroyFunc) (BasicCell *cell);
215 gchar *cell_type_name;
224 CellDestroyFunc destroy;
227 CellEnterFunc enter_cell;
228 CellModifyVerifyFunc modify_verify;
229 CellDirectUpdateFunc direct_update;
230 CellLeaveFunc leave_cell;
233 CellRealizeFunc gui_realize;
234 CellMoveFunc gui_move;
235 CellDestroyFunc gui_destroy;
248gboolean gnc_cell_name_equal (
const char * cell_name_1,
249 const char * cell_name_2);
251BasicCell * gnc_basic_cell_new (
void);
252void gnc_basic_cell_init (BasicCell *bcell);
253void gnc_basic_cell_destroy (BasicCell *bcell);
255void gnc_basic_cell_set_name (BasicCell *cell,
const char *name);
256gboolean gnc_basic_cell_has_name (BasicCell *cell,
const char *name);
257void gnc_basic_cell_set_type_name (BasicCell *cell,
const gchar *type_name);
258gboolean gnc_basic_cell_has_type_name (BasicCell *cell,
const gchar *type_name);
262void gnc_basic_cell_set_sample_text (BasicCell *cell,
263 const char *sample_text);
264void gnc_basic_cell_set_alignment (BasicCell *cell,
265 CellAlignment alignment);
266void gnc_basic_cell_set_expandable (BasicCell *cell,
267 gboolean expandable);
268void gnc_basic_cell_set_span (BasicCell *cell,
271const char * gnc_basic_cell_get_value (BasicCell *cell);
272void gnc_basic_cell_set_value (BasicCell *bcell,
const char *value);
274gboolean gnc_basic_cell_get_changed (BasicCell *cell);
275gboolean gnc_basic_cell_get_conditionally_changed (BasicCell *cell);
277void gnc_basic_cell_set_changed (BasicCell *cell, gboolean changed);
278void gnc_basic_cell_set_conditionally_changed (BasicCell *cell,
282void gnc_basic_cell_set_value_internal (BasicCell *bcell,
285char * gnc_basic_cell_validate (BasicCell *bcell,
290 gint *cursor_position);
utility functions for the GnuCash UI
guint value_chars
current value
gboolean conditionally_changed
true if value modified
CellAlignment alignment
sample text for sizing purposes
gboolean changed
number of characters in value
CellSetValueFunc set_value
true if value modified conditionally
gboolean expandable
horizontal alignment in column
gpointer gui_private
is a popup widget
gboolean span
can fill with extra space
gboolean is_popup
can span multiple columns
The BasicCell class provides an abstract base class defining the handling of the editing of a cell of...