From 862d1f25dea4fde774aca9b8e849f22b2e0b9d93 Mon Sep 17 00:00:00 2001 From: Christopher James Lahey Date: Sat, 19 Aug 2000 23:32:50 +0000 Subject: Made background colors alternate. 2000-08-19 Christopher James Lahey * e-cell-text.c: Made background colors alternate. * e-table-click-to-add.c: Made tabbing off the right edge of the click to add commit the new values. * e-table-group-container.c, e-table-group-leaf.c, e-table-group.c, e-table-group.h, e-table-sorted-variable.c, e-table-subset-variable.c, e-table-subset-variable.h: Added a decrement method. Made the add and remove methods not automatically increment and decrement. * e-table-item.c: Fixed some view vs model issues for both rows and columns. * e-table-model.c: Added debugging code. Removed automatic signalling of changes by the ETableModel set_value_at function (the model should send these signals itself.) * e-table.c: Added increment and decrement calls when a row is removed or added from the source model. svn path=/trunk/; revision=4881 --- widgets/e-table/e-table-subset-variable.c | 38 +++++++++++++++---------------- 1 file changed, 19 insertions(+), 19 deletions(-) (limited to 'widgets/e-table/e-table-subset-variable.c') diff --git a/widgets/e-table/e-table-subset-variable.c b/widgets/e-table/e-table-subset-variable.c index f418337092..d429604301 100644 --- a/widgets/e-table/e-table-subset-variable.c +++ b/widgets/e-table/e-table-subset-variable.c @@ -28,7 +28,6 @@ etssv_add (ETableSubsetVariable *etssv, { ETableModel *etm = E_TABLE_MODEL(etssv); ETableSubset *etss = E_TABLE_SUBSET(etssv); - int i; e_table_model_pre_change(etm); @@ -36,10 +35,7 @@ etssv_add (ETableSubsetVariable *etssv, etss->map_table = g_realloc (etss->map_table, (etssv->n_vals_allocated + INCREMENT_AMOUNT) * sizeof(int)); etssv->n_vals_allocated += INCREMENT_AMOUNT; } - if (row < e_table_model_row_count(etss->source) - 1) - for ( i = 0; i < etss->n_map; i++ ) - if (etss->map_table[i] >= row) - etss->map_table[i] ++; + etss->map_table[etss->n_map++] = row; e_table_model_row_inserted (etm, etss->n_map - 1); @@ -73,27 +69,18 @@ etssv_remove (ETableSubsetVariable *etssv, ETableModel *etm = E_TABLE_MODEL(etssv); ETableSubset *etss = E_TABLE_SUBSET(etssv); int i; - int ret_val = FALSE; for (i = 0; i < etss->n_map; i++){ if (etss->map_table[i] == row) { e_table_model_pre_change (etm); memmove (etss->map_table + i, etss->map_table + i + 1, (etss->n_map - i - 1) * sizeof(int)); etss->n_map --; - - e_table_model_changed (etm); - ret_val = TRUE; - break; - } - } - - for (i = 0; i < etss->n_map; i++){ - if (etss->map_table[i] > row) { - etss->map_table[i] --; + + e_table_model_row_deleted (etm, i); + return TRUE; } } - - return ret_val; + return FALSE; } static void @@ -174,12 +161,25 @@ e_table_subset_variable_increment (ETableSubsetVariable *etssv, { int i; ETableSubset *etss = E_TABLE_SUBSET(etssv); - for (i = 0; i < etss->n_map; i++){ + for (i = 0; i < etss->n_map; i++) { if (etss->map_table[i] > position) etss->map_table[i] += amount; } } +void +e_table_subset_variable_decrement (ETableSubsetVariable *etssv, + gint position, + gint amount) +{ + int i; + ETableSubset *etss = E_TABLE_SUBSET(etssv); + for (i = 0; i < etss->n_map; i++) { + if (etss->map_table[i] > position) + etss->map_table[i] -= amount; + } +} + void e_table_subset_variable_set_allocation (ETableSubsetVariable *etssv, gint total) -- cgit v1.2.3