41 #include "basiccell.h"
48 gnc_cell_name_equal (
const char * cell_name_1,
49 const char * cell_name_2)
51 return (g_strcmp0 (cell_name_1, cell_name_2) == 0);
55 gnc_basic_cell_new (
void)
61 gnc_basic_cell_init (cell);
69 g_free (cell->cell_name);
70 cell->cell_name = NULL;
71 g_free (cell->cell_type_name);
72 cell->cell_type_name = NULL;
73 cell->changed = FALSE;
74 cell->conditionally_changed = FALSE;
77 cell->value_chars = 0;
79 cell->set_value = NULL;
80 cell->enter_cell = NULL;
81 cell->modify_verify = NULL;
82 cell->direct_update = NULL;
83 cell->leave_cell = NULL;
84 cell->gui_realize = NULL;
85 cell->gui_move = NULL;
86 cell->gui_destroy = NULL;
88 cell->is_popup = FALSE;
90 cell->gui_private = NULL;
92 g_free (cell->sample_text);
93 cell->sample_text = NULL;
99 gnc_basic_cell_clear (cell);
101 cell->value = g_strdup (
"");
109 cell->destroy (cell);
112 if (cell->gui_destroy)
113 (*(cell->gui_destroy)) (cell);
116 g_free (cell->value);
120 gnc_basic_cell_clear (cell);
128 gnc_basic_cell_set_name (
BasicCell *cell,
const char *name)
131 if (cell->cell_name == name)
return;
133 g_free (cell->cell_name);
134 cell->cell_name = g_strdup (name);
138 gnc_basic_cell_has_name (
BasicCell *cell,
const char *name)
140 if (!cell)
return FALSE;
141 if (!name)
return FALSE;
142 if (!cell->cell_name)
return FALSE;
144 return (strcmp (name, cell->cell_name) == 0);
149 gnc_basic_cell_set_type_name (
BasicCell *cell,
const gchar *type_name)
152 if (cell->cell_type_name == type_name)
return;
154 g_free (cell->cell_type_name);
155 cell->cell_type_name = g_strdup(type_name);
159 gnc_basic_cell_has_type_name (
BasicCell *cell,
const gchar *type_name)
161 if (!cell)
return FALSE;
162 if (!type_name)
return FALSE;
163 if (!cell->cell_type_name)
return FALSE;
165 return (g_strcmp0 (type_name, cell->cell_type_name));
169 gnc_basic_cell_set_sample_text (
BasicCell *cell,
170 const char *sample_text)
173 if (cell->sample_text == sample_text)
return;
175 g_free (cell->sample_text);
176 cell->sample_text = g_strdup (sample_text);
180 gnc_basic_cell_set_alignment (
BasicCell *cell,
181 CellAlignment alignment)
184 cell->alignment = alignment;
188 gnc_basic_cell_set_expandable (
BasicCell *cell, gboolean expandable)
191 cell->expandable = expandable;
195 gnc_basic_cell_set_span (
BasicCell *cell, gboolean span)
202 gnc_basic_cell_get_value (
BasicCell *cell)
204 g_return_val_if_fail (cell != NULL, NULL);
210 gnc_basic_cell_set_value (
BasicCell *cell,
const char *val)
214 cb = cell->set_value;
219 cell->set_value = NULL;
221 cell->set_value = cb;
224 gnc_basic_cell_set_value_internal (cell, val);
228 gnc_basic_cell_get_changed (
BasicCell *cell)
230 if (!cell)
return FALSE;
232 return cell->changed;
236 gnc_basic_cell_get_conditionally_changed (
BasicCell *cell)
238 if (!cell)
return FALSE;
240 return cell->conditionally_changed;
244 gnc_basic_cell_set_changed (
BasicCell *cell, gboolean changed)
248 cell->changed = changed;
252 gnc_basic_cell_set_conditionally_changed (
BasicCell *cell, gboolean changed)
256 cell->conditionally_changed = changed;
260 gnc_basic_cell_set_value_internal (
BasicCell *cell,
const char *value)
270 if (cell->value == value)
273 g_free (cell->value);
274 cell->value = g_strdup (value);
275 cell->value_chars = g_utf8_strlen(value, -1);
#define ENTER(format, args...)
All type declarations for the whole Gnucash engine.
#define LEAVE(format, args...)
const gchar * QofLogModule