Replace the cell foreground and background colour handlers

By using CSS classes, there is no need to have separate handlers for
the foreground and background colours so replace them with one being of
a similar format to that of cell_border_handlers.
This commit is contained in:
Robert Fewell 2017-11-01 12:20:35 +00:00
parent 451161837d
commit 7a2c1492fd
2 changed files with 23 additions and 78 deletions

View File

@ -134,8 +134,7 @@ gnc_table_model_new (void)
model->label_handlers = gnc_table_model_handler_hash_new ();
model->help_handlers = gnc_table_model_handler_hash_new ();
model->io_flags_handlers = gnc_table_model_handler_hash_new ();
model->fg_color_handlers = gnc_table_model_handler_hash_new ();
model->bg_color_handlers = gnc_table_model_handler_hash_new ();
model->cell_color_handlers = gnc_table_model_handler_hash_new ();
model->cell_border_handlers = gnc_table_model_handler_hash_new ();
model->confirm_handlers = gnc_table_model_handler_hash_new ();
model->save_handlers = gnc_table_model_handler_hash_new ();
@ -165,11 +164,8 @@ gnc_table_model_destroy (TableModel *model)
gnc_table_model_handler_hash_destroy (model->io_flags_handlers);
model->io_flags_handlers = NULL;
gnc_table_model_handler_hash_destroy (model->fg_color_handlers);
model->fg_color_handlers = NULL;
gnc_table_model_handler_hash_destroy (model->bg_color_handlers);
model->bg_color_handlers = NULL;
gnc_table_model_handler_hash_destroy (model->cell_color_handlers);
model->cell_color_handlers = NULL;
gnc_table_model_handler_hash_destroy (model->cell_border_handlers);
model->cell_border_handlers = NULL;
@ -334,75 +330,39 @@ gnc_table_model_get_io_flags_handler (TableModel *model,
}
void
gnc_table_model_set_fg_color_handler
gnc_table_model_set_cell_color_handler
(TableModel *model,
TableGetFGColorHandler fg_color_handler,
TableGetCellColorHandler color_handler,
const char * cell_name)
{
g_return_if_fail (model != NULL);
g_return_if_fail (cell_name != NULL);
gnc_table_model_handler_hash_insert (model->fg_color_handlers,
gnc_table_model_handler_hash_insert (model->cell_color_handlers,
cell_name,
fg_color_handler);
color_handler);
}
void
gnc_table_model_set_default_fg_color_handler
gnc_table_model_set_default_cell_color_handler
(TableModel *model,
TableGetFGColorHandler fg_color_handler)
TableGetCellColorHandler color_handler)
{
g_return_if_fail (model != NULL);
gnc_table_model_handler_hash_insert (model->fg_color_handlers,
gnc_table_model_handler_hash_insert (model->cell_color_handlers,
DEFAULT_HANDLER,
fg_color_handler);
color_handler);
}
TableGetFGColorHandler
gnc_table_model_get_fg_color_handler (TableModel *model,
const char * cell_name)
TableGetCellColorHandler
gnc_table_model_get_cell_color_handler (TableModel *model,
const char * cell_name)
{
g_return_val_if_fail (model != NULL, NULL);
return gnc_table_model_handler_hash_lookup (model->fg_color_handlers,
cell_name);
}
void
gnc_table_model_set_bg_color_handler
(TableModel *model,
TableGetBGColorHandler bg_color_handler,
const char * cell_name)
{
g_return_if_fail (model != NULL);
g_return_if_fail (cell_name != NULL);
gnc_table_model_handler_hash_insert (model->bg_color_handlers,
cell_name,
bg_color_handler);
}
void
gnc_table_model_set_default_bg_color_handler
(TableModel *model,
TableGetBGColorHandler bg_color_handler)
{
g_return_if_fail (model != NULL);
gnc_table_model_handler_hash_insert (model->bg_color_handlers,
DEFAULT_HANDLER,
bg_color_handler);
}
TableGetBGColorHandler
gnc_table_model_get_bg_color_handler (TableModel *model,
const char * cell_name)
{
g_return_val_if_fail (model != NULL, NULL);
return gnc_table_model_handler_hash_lookup (model->bg_color_handlers,
cell_name);
return gnc_table_model_handler_hash_lookup (model->cell_color_handlers,
cell_name);
}
void

View File

@ -76,10 +76,7 @@ typedef char * (*TableGetHelpHandler) (VirtualLocation virt_loc,
typedef CellIOFlags (*TableGetCellIOFlagsHandler) (VirtualLocation virt_loc,
gpointer user_data);
typedef guint32 (*TableGetFGColorHandler) (VirtualLocation virt_loc,
gpointer user_data);
typedef guint32 (*TableGetBGColorHandler) (VirtualLocation virt_loc,
typedef guint32 (*TableGetCellColorHandler) (VirtualLocation virt_loc,
gboolean *hatching,
gpointer user_data);
@ -107,8 +104,7 @@ typedef struct
GHashTable *label_handlers;
GHashTable *help_handlers;
GHashTable *io_flags_handlers;
GHashTable *fg_color_handlers;
GHashTable *bg_color_handlers;
GHashTable *cell_color_handlers;
GHashTable *cell_border_handlers;
GHashTable *confirm_handlers;
@ -189,25 +185,14 @@ TableGetCellIOFlagsHandler gnc_table_model_get_io_flags_handler
(TableModel *model,
const char * cell_name);
void gnc_table_model_set_fg_color_handler
void gnc_table_model_set_cell_color_handler
(TableModel *model,
TableGetFGColorHandler io_flags_handler,
TableGetCellColorHandler io_flags_handler,
const char * cell_name);
void gnc_table_model_set_default_fg_color_handler
void gnc_table_model_set_default_cell_color_handler
(TableModel *model,
TableGetFGColorHandler io_flags_handler);
TableGetFGColorHandler gnc_table_model_get_fg_color_handler
(TableModel *model,
const char * cell_name);
void gnc_table_model_set_bg_color_handler
(TableModel *model,
TableGetBGColorHandler io_flags_handler,
const char * cell_name);
void gnc_table_model_set_default_bg_color_handler
(TableModel *model,
TableGetBGColorHandler io_flags_handler);
TableGetBGColorHandler gnc_table_model_get_bg_color_handler
TableGetCellColorHandler io_flags_handler);
TableGetCellColorHandler gnc_table_model_get_cell_color_handler
(TableModel *model,
const char * cell_name);