diff options
author | Christopher James Lahey <clahey@ximian.com> | 2001-02-24 07:00:09 +0800 |
---|---|---|
committer | Chris Lahey <clahey@src.gnome.org> | 2001-02-24 07:00:09 +0800 |
commit | 40d58afa7ce854ae8154a7f0ce32997f57d99ea4 (patch) | |
tree | 70cac56e91a6a9c056218837dc14be298f8befd6 /widgets/table/e-table-sorter.c | |
parent | 669c08181079cc48352959b829f578ea922351a6 (diff) | |
download | gsoc2013-evolution-40d58afa7ce854ae8154a7f0ce32997f57d99ea4.tar gsoc2013-evolution-40d58afa7ce854ae8154a7f0ce32997f57d99ea4.tar.gz gsoc2013-evolution-40d58afa7ce854ae8154a7f0ce32997f57d99ea4.tar.bz2 gsoc2013-evolution-40d58afa7ce854ae8154a7f0ce32997f57d99ea4.tar.lz gsoc2013-evolution-40d58afa7ce854ae8154a7f0ce32997f57d99ea4.tar.xz gsoc2013-evolution-40d58afa7ce854ae8154a7f0ce32997f57d99ea4.tar.zst gsoc2013-evolution-40d58afa7ce854ae8154a7f0ce32997f57d99ea4.zip |
Added e-table/e-table-sorting-utils.lo.
2001-02-23 Christopher James Lahey <clahey@ximian.com>
* gal/Makefile.am (libgal_la_LIBADD): Added
e-table/e-table-sorting-utils.lo.
From gal/e-table/ChangeLog:
2001-02-23 Christopher James Lahey <clahey@ximian.com>
* Makefile.am (libetable_la_SOURCES): Added
e-table-sorting-utils.c.
(libetableinclude_HEADERS): Added e-table-sorting-utils.h.
* e-table-group-container.c: Implemented add_array method. Use
add_array to implement add_all instead of using add. Did some
general clean up.
* e-table-group-leaf.c, e-table-group-leaf.h: Implemented
add_array method. Changed everything to use an ETableSubset
variable instead of an ETableSortedVariable. Implemented it as
ETableSortedVariable if there's grouping involved and ETableSorted
if there isn't.
* e-table-group.c, e-table-group.h: Added add_array method. Added
unused get_position code.
* e-table-sorted-variable.c, e-table-sorted-variable.h: Moved a
lot of the actual implementation of sorting to
e-table-sorting-utils.c. Got rid of the signal handlers here
since we weren't using them and ETableSubset has the proxy virtual
methods.
* e-table-sorted.c, e-table-sorted.h: Completely replaced these
files with a variation on ETableSortedVariable that doesn't have
the add methods and such but instead just mimics the source
model's set of rows completely.
* e-table-sorter.c, e-table-sorter.h: Added functions to get at
the arrays here.
* e-table-sorting-utils.c, e-table-sorting-utils.h: Utility
functions for doing sorting.
* e-table-subset-variable.c, e-table-subset-variable.h: Added
add_array method.
* e-table-subset.c, e-table-subset.h: Made it so that the signal
hookups to the source model's signals are virtual methods.
* e-table.c, e-table.h: Don't call add_all and add and remove type
functions if not grouped. Don't rebuild for sort changes unless
it was either grouped before or will be grouped now.
svn path=/trunk/; revision=8374
Diffstat (limited to 'widgets/table/e-table-sorter.c')
-rw-r--r-- | widgets/table/e-table-sorter.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/widgets/table/e-table-sorter.c b/widgets/table/e-table-sorter.c index a103e3cd85..08c7c1b120 100644 --- a/widgets/table/e-table-sorter.c +++ b/widgets/table/e-table-sorter.c @@ -524,3 +524,29 @@ e_table_sorter_sorted_to_model (ETableSorter *sorter, int row) else return row; } + +void +e_table_sorter_get_model_to_sorted_array (ETableSorter *sorter, int **array, int *count) +{ + if (array || count) { + ets_backsort(sorter); + + if (array) + *array = sorter->backsorted; + if (count) + *count = e_table_model_row_count(sorter->source); + } +} + +void +e_table_sorter_get_sorted_to_model_array (ETableSorter *sorter, int **array, int *count) +{ + if (array || count) { + ets_sort(sorter); + + if (array) + *array = sorter->sorted; + if (count) + *count = e_table_model_row_count(sorter->source); + } +} |