Commit Graph

8 Commits

Author SHA1 Message Date
40d58afa7c 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
2001-02-23 23:00:09 +00:00
5480b1b7bd From a patch submitted by Murray Cumming <Murray.Cumming@mybau.com>
2001-02-17  Christopher James Lahey  <clahey@ximian.com>

	From a patch submitted by Murray Cumming <Murray.Cumming@mybau.com>

	* e-cell-checkbox.h, e-cell-date.h, e-cell-number.h,
	e-cell-size.h, e-cell-text.h, e-cell-toggle.h, e-cell-tree.h,
	e-cell.h, e-table-click-to-add.h, e-table-col-dnd.h,
	e-table-col.h, e-table-column-specification.h,
	e-table-config-field.h, e-table-config.h, e-table-defines.h,
	e-table-extras.h, e-table-field-chooser-item.h,
	e-table-group-container.h, e-table-group-leaf.h, e-table-group.h,
	e-table-header-item.h, e-table-header-utils.h, e-table-header.h,
	e-table-item.h, e-table-model.h, e-table-one.h,
	e-table-selection-model.h, e-table-simple.h, e-table-sort-info.h,
	e-table-sorted-variable.h, e-table-sorted.h, e-table-sorter.h,
	e-table-specification.h, e-table-state.h,
	e-table-subset-variable.h, e-table-subset.h, e-table-tooltip.h,
	e-table-tree.h, e-tree-model.h, e-tree-simple.h,
	e-tree-sorted-variable.h: Added GNOME_DECLS.

svn path=/trunk/; revision=8265
2001-02-17 08:36:01 +00:00
58eba683f8 Changed to take into account the sort group, if the table has one.x
2000-10-04  Not Zed  <NotZed@HelixCode.com>

        * e-table-sorted-variable.c (etsv_add): Changed to take into
        account the sort group, if the table has one.x
        (etsv_insert_idle): Clear the insert count if we hit an idle loop.
        (etsv_sort_idle): Reset the insert count if we perform a sort.
        (etsv_add): If we are adding a lot (>ETSV_INSERT_MAX) items,
        without hitting an idle loop, assume we're better off performing a
        sort instead.  Use another idle handler to reset the count.

2000-10-03  Not Zed  <NotZed@HelixCode.com>

        * e-table-sorted-variable.c (etsv_sort_by_group): Sort based on
        the sort_group stuff.

        * e-tree-model.c (e_tree_init): Setup the group sort info string.
        (etree_destroy): And free it.
        (build_sort_group): Build a string for this node.

2000-09-29  Not Zed  <NotZed@HelixCode.com>

        * e-cell-tree.c (e_cell_tree_get_node): Changed to take the source
        model, not the tree model.  The source model may be a subset, and
        it needs to remap the rows for us.
        (ect_draw):
        (ect_event):
        (ect_max_width):
        (ect_print): Changed callers.

        * e-table-sorted-variable.c (etsv_sort_subset):
        (etsv_sort_build_subset):
        (etsv_sort_free_subset): Functions to perfom grouping of sorts for
        sorts that have row_sort_group returning useful info.
        (etsv_sort): Use the complex sort routines if we need to.

        * e-table-model.c (e_table_model_row_sort_group): Return a sort-id
        for a given row.
        (e_table_model_has_sort_group): Return if the sort-id provides any
        useful information.

svn path=/trunk/; revision=5705
2000-10-04 15:51:35 +00:00
a3de274f7c Moved files, fixed header files and paths - Federico
svn path=/trunk/; revision=5513
2000-09-19 22:57:58 +00:00
1f89b12d0b Replace insert sort completely with a qsort.
2000-05-04  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-sorted-variable.c: Replace insert sort completely with a
	qsort.

svn path=/trunk/; revision=2786
2000-05-04 01:36:06 +00:00
eb5dc08dc9 Made this more reentrant.
2000-04-30  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-header-item.c: Made this more reentrant.

	* e-table-sorted-variable.c, e-table-sorted-variable.h: Does a
	proper resort when the sorting info changes.

	* e-table.c, e-table.h: Made it so that ETable doesn't destroy and
	recreate the entire table when sorting info changes.

svn path=/trunk/; revision=2704
2000-05-01 04:01:05 +00:00
fe016cce58 Got rid of some warnings.
2000-04-06  Christopher James Lahey  <clahey@helixcode.com>

	* test-cols.c, test-table.c: Got rid of some warnings.

	* e-table-group-container.c, e-table-group-container.h,
	e-table-group-leaf.c, e-table-group-leaf.h, e-table-group.c,
	e-table-group.h, e-table-header-item.c, e-table-header-item.h,
	e-table-sort-info.c, e-table-sort-info.h,
	e-table-sorted-variable.c, e-table-sorted-variable.h, e-table.c,
	e-table.h: Changed ETableSortInfo to not use xml internally.

svn path=/trunk/; revision=2305
2000-04-06 08:00:35 +00:00
14bfde56c8 Added duplicate_value and add_value. Use the new compare functions. Made
2000-02-24  Christopher James Lahey  <clahey@helixcode.com>

        * test-table.c: Added duplicate_value and add_value.  Use the new
        compare functions.  Made it so we only create one model to better
        test model view stuff.  Changed the test to not have as many
        extra, useless, columns.

        * test-cols.c, test-check.c: Added duplicate_value and add_value.  Use the new
        compare functions.

        * e-table.c, e-table.h: Use all the new features of e-table-groups
        (sorting and grouping).  Handle on the fly reorganization of
        groups in an idle loop.  Compare functions now are to return -1 if
        the first item is greater, 0 if they are equal, or 1 if the second
        item is greater.

        * e-table-subset.c, e-table-subset.h: Made e-table-subset
        disconnect properly from its signals when it dies.

        * e-table-subset-variable.c, e-table-subset-variable.h:
        Virtualized the add and remove commands so that
        e_table_sorted_variable could override the add command to do sorting.

        * e-table-sorted.c: Fixed this to inherit properly from
        ETableSubset.

        * e-table-simple.h, e-table-simple.c: Added handling of
        duplicate_value and free_value;

        * e-table-model.c, e-table-model.h: Added duplicate_value and
        free_value for memory allocation of table elements outside the
        table.

        * e-table-item.c: Fixed a crashing bug.

        * e-table-group.c: Added sorting.  Fixed destruction to delete the
        right things.

        * e-table-group-leaf.c, e-table-group-leaf.h: Pass column and sort
        order information into the e_table_sorted_variable.  Properly
        destroy things when deleted.

        * e-table-group-container.c, e-table-group-container.h: Properly
        handle the list of subgroups.  Handle proper sorting and grouping
        of subgroups.

        * e-table-sorted-variable.c, e-table-sorted-variable.h: Files to
        do a sorted model that stays sorted as you add and remove rows.

        * Makefile.am: Added e-table-sorted-variable.c and
        e-table-sorted-variable.h.

svn path=/trunk/; revision=1930
2000-02-25 04:08:59 +00:00