Commit Graph

362 Commits

Author SHA1 Message Date
b81be74840 Removed e_table_col_get_arrow and e_table_col_set_arrow.
2000-11-25  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-col.c: Removed e_table_col_get_arrow and
	e_table_col_set_arrow.

svn path=/trunk/; revision=6669
2000-11-26 03:46:45 +00:00
a2ad62af11 Documented.
2000-11-25  Miguel de Icaza  <miguel@helixcode.com>

	* e-cell.c: Documented.

2000-11-24  Miguel de Icaza  <miguel@helixcode.com>

	* e-cell-toggle.c (etog_queue_redraw): Documented.

	* e-cell-text.c: Removed list of unused arguments.  Add docs.

	* e-cell-checkbox.c (e_cell_checkbox_new): Add docs.

	* e-table-simple.c (e_table_simple_new): Add docs.

svn path=/trunk/; revision=6665
2000-11-25 05:05:40 +00:00
0c3908d771 inline documentation added.
2000-11-24  Miguel de Icaza  <miguel@helixcode.com>

	* e-table-header.c: inline documentation added.

	* e-table-col.c Added inline documentation.

	* e-table-model.c: Added some inline documentation.

svn path=/trunk/; revision=6664
2000-11-25 04:25:01 +00:00
f7069251d4 Save the children - Federico
svn path=/trunk/; revision=6652
2000-11-22 18:28:44 +00:00
f300ac0095 Updated version number.
2000-11-13  Christopher James Lahey  <clahey@helixcode.com>

	* configure.in: Updated version number.

	* gal/e-table/e-tree-model.c, gal/e-table/e-tree-model.h: Added
	freeze and thaw functions.

	* gal/menus/gal-define-views-dialog.c: Fixed some warnings.

svn path=/trunk/; revision=6563
2000-11-13 19:27:24 +00:00
93e7a43d68 Changed this to match the new EPopupMenu structre.
2000-11-06  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-header-item.c: Changed this to match the new EPopupMenu
	structre.

svn path=/trunk/; revision=6467
2000-11-06 23:43:57 +00:00
e18070f31c Made it compile again.
svn path=/trunk/; revision=6376
2000-11-03 21:00:47 +00:00
f2b590b943 Turned on proper handling of insert and delete.
2000-11-03  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-selection-model.c: Turned on proper handling of insert
	and delete.

svn path=/trunk/; revision=6375
2000-11-03 20:56:53 +00:00
d9a3710f52 Since we insert at the parent->child position, we need to account for
2000-11-03  Not Zed  <NotZed@HelixCode.com>

        * e-tree-model.c (e_tree_model_node_insert): Since we insert at
        the parent->child position, we need to account for expanded nodes
        above this node to properly calculate the absolute row position of
        the node.
        (e_tree_model_node_insert): If we're inserting at the end of this
        node, then we just use the position directly.
        (e_tree_model_node_remove): Completely rewritten.  Now we delete
        all nodes at once, which should be >> faster, unfortunately still
        have to signal each removal, which is >> SLOW :(  Its still about
        2-3x faster than it was (for 25K nodes).
        (child_free): Free all data/subnodes of a given path, no
        unlinking.
        (e_tree_model_node_remove): If we are removing a lot of nodes
        [>1000 or >1/4 total nodes], then use model_changed, rather then
        removing each node.  Yay.  Now its about 500x faster than it was,
        for 25K nodes.
        (etree_pre_change): Signal handler, so we can find out when we are
        in a pre-change state.
        (etree_changed): Likewise to find when we have finished.
        (e_tree_model_construct): Link to the model*changed signals so we
        know when we are in pre/changed state.
        (e_tree_model_node_insert): Only perform a row_inserted if not in
        pre_change state.  Another significant speed improvement (200-500%)
        on big trees.
        (e_tree_model_node_remove): Do not emit row_deleted (or
        model_changed), if we are in the pre_change state.
        (add_visible_descendents_to_array): Likewise for row_inserted.
        (e_tree_model_node_sort): And here too, for consistency.

svn path=/trunk/; revision=6363
2000-11-03 09:16:41 +00:00
89beb886b9 Updated these unused glade files to better match the versions in the code.
2000-11-02  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-config.glade, e-table-config.glade.h: Updated these
	unused glade files to better match the versions in the code.

	* e-table.c, e-table.h: Added e_table_selected_count and
	"selection_change" signal.

	* e-tree-model.c: Fixed an out of order

svn path=/trunk/; revision=6354
2000-11-02 17:28:16 +00:00
b234a3141b If we are inserting into the root level, we dont have to search the whole
2000-10-27  Not Zed  <NotZed@HelixCode.com>

        * e-tree-model.c (e_tree_model_node_insert): If we are inserting
        into the root level, we dont have to search the whole array for a
        parent node we'll never find.

svn path=/trunk/; revision=6218
2000-10-27 02:31:08 +00:00
7a6e9be357 remove the save_id here, so we don't save state for nodes that no longer
2000-10-25  Chris Toshok  <toshok@helixcode.com>

	* e-tree-model.c (e_tree_model_node_remove): remove the save_id
	here, so we don't save state for nodes that no longer exist.
	(etree_destroy): remove the foreach, since all the save_id's
	should have been removed by now (don't destroy a tree without
	destroying the root node.)  also, make sure to call
	g_hash_table_destroy.

svn path=/trunk/; revision=6202
2000-10-26 06:48:09 +00:00
e05cf1d1a6 Made the column on the right click and click signals be the model column
2000-10-25  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-item.c: Made the column on the right click and click
	signals be the model column instead of the view column.

svn path=/trunk/; revision=6172
2000-10-25 19:03:07 +00:00
5441932367 Add "click" to the list of etable signals we proxy.
* e-table-scrolled.c: Add "click" to the list of etable signals we
	proxy.

svn path=/trunk/; revision=6170
2000-10-25 18:59:25 +00:00
606c6276a8 make ETreeModel opaque, and switch from using g_new0 and g_free for
2000-10-24  Chris Toshok  <toshok@helixcode.com>

	* e-tree-model.c: make ETreeModel opaque, and switch from using
	g_new0 and g_free for ETreePath's to using g_mem_chunk routines.
	(e_tree_model_node_remove): free the path's save_id.  *
	(e_tree_model_set_expanded_default): add method to add default
	expanded status for parent nodes.
	(etree_set_expanded_recurse): make this more efficient.
	e-tree-model.h: make ETreeModel opaque.  add prototype for
	e_tree_model_set_expanded_default.

svn path=/trunk/; revision=6156
2000-10-25 00:09:18 +00:00
067991f6b4 Destroy the tooltip timeout on object destruction.
2000-10-23  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-item.c: Destroy the tooltip timeout on object
	destruction.

svn path=/trunk/; revision=6137
2000-10-24 00:17:21 +00:00
4273e3adbe Made it so that it doesn't recalculate all the rows if a row is changed,
2000-10-22  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-item.c: Made it so that it doesn't recalculate all the
	rows if a row is changed, inserted or deleted.

	* e-table-subset.c: Added debugging code (turned off).

svn path=/trunk/; revision=6102
2000-10-22 06:03:03 +00:00
e4e6331ee5 Made it so that rows inserted with their children nodes already in the
2000-10-21  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-sorted-variable.c: Made it so that rows inserted with
	their children nodes already in the tree get placed before their
	children nodes instead of after.

svn path=/trunk/; revision=6101
2000-10-22 02:11:38 +00:00
3e3b5fc7b8 Added e_table_set_state_object which loads the state from the given
2000-10-20  Christopher James Lahey  <clahey@helixcode.com>

	* e-table.c, e-table.h: Added e_table_set_state_object which loads
	the state from the given ETableState object.

svn path=/trunk/; revision=6099
2000-10-22 02:08:13 +00:00
79d19f353c remove timeouts on destroy so they don't try to write to freed data
svn path=/trunk/; revision=6032
2000-10-19 16:41:07 +00:00
fc142d0110 Switched to saving the version as a double instead of a string.
2000-10-18  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-state.c: Switched to saving the version as a double
	instead of a string.

svn path=/trunk/; revision=6019
2000-10-19 02:59:14 +00:00
9bf8ac3b79 Fixed ETableFieldChooser row heights a bit.
2000-10-18  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-field-chooser-item.c, e-table-field-chooser-item.h:
	Fixed ETableFieldChooser row heights a bit.

	* e-table-header-item.c: Formatting clean up.

	* e-table-state.c: Added saving of the version of the ETableState.
	This way, if we change the format of an ETableState, we can detect
	old version numbers.

svn path=/trunk/; revision=6016
2000-10-19 02:41:55 +00:00
0e2492ca58 Make text a different color if !(flags & E_CELL_FOCUSED).
2000-10-18  Christopher James Lahey  <clahey@helixcode.com>

	* e-cell-text.c: Make text a different color if !(flags &
	E_CELL_FOCUSED).

	* e-cell.h: Added E_CELL_FOCUSED to flags.

	* e-table-item.c: Changed the background color of selected cells
	if the widget is focused.  Send E_CELL_FOCUSED to flags if the
	widget is focused.

	* e-table.c: Repaint the window if focus changes.

svn path=/trunk/; revision=6010
2000-10-19 01:08:44 +00:00
199a9f60a0 Sped up signal propogation.
2000-10-18  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-subset.c, e-table-subset.h: Sped up signal propogation.

svn path=/trunk/; revision=6006
2000-10-18 20:58:34 +00:00
daaabd4d97 Fixed the color of the background rectangle. Made the rectangle start at
2000-10-18  Christopher James Lahey  <clahey@helixcode.com>

	* e-table.c: Fixed the color of the background rectangle.  Made
	the rectangle start at the bottom of the table so that the row
	lines are still there.

svn path=/trunk/; revision=5993
2000-10-18 17:07:57 +00:00
4dca16c6e9 Make background color of ETable match the background color of item rows.
2000-10-18  Christopher James Lahey  <clahey@helixcode.com>

	* e-table.c: Make background color of ETable match the background
	color of item rows.

svn path=/trunk/; revision=5989
2000-10-18 11:43:16 +00:00
7794a1eb62 Removed an unnecessary glade include file.
2000-10-18  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-field-chooser-dialog.h: Removed an unnecessary glade
	include file.

	* e-table-field-chooser.c: Make sure that glade is initialized.

	* e-table.c, e-table.h: Added a white background to the ETable.

svn path=/trunk/; revision=5988
2000-10-18 11:15:55 +00:00
a19cb68422 Moved the glade file directories.
2000-10-18  Christopher James Lahey  <clahey@helixcode.com>

	* Makefile.am: Moved the glade file directories.

	* e-table-header-item.c: Removed an unused variable.

svn path=/trunk/; revision=5982
2000-10-18 08:39:27 +00:00
8b23fc59ea Reworked some of the height stuff?
2000-10-16  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-header-item.c: Reworked some of the height stuff?

svn path=/trunk/; revision=5943
2000-10-16 20:42:08 +00:00
34031a4201 Choose a better size for the e-table-header-item
svn path=/trunk/; revision=5942
2000-10-16 19:54:09 +00:00
40effd4a8a get the next child before traversing/calling func.
2000-10-15  Chris Toshok  <toshok@helixcode.com>

	* e-tree-model.c (e_tree_model_node_traverse): get the next child
	before traversing/calling func.

svn path=/trunk/; revision=5937
2000-10-15 23:46:23 +00:00
ec30090929 get rid of ENode type, as everything in it is now in ETreePath, and add
2000-10-15  Chris Toshok  <toshok@helixcode.com>

	* e-tree-model.c: get rid of ENode type, as everything in it is
	now in ETreePath, and add parent/sibling/child pointers to
	ETreePath.  everywhere where GNode/ENode were used, we just use
	ETreePath now.
	(e_tree_path_depth): new function.
	(e_tree_path_insert): new function.
	(e_tree_path_unlink): new function.
	(e_tree_model_node_traverse): new function.
	(etree_get_first_child): new virtual function impl.
	(etree_get_last_child): same.
	(e_tree_model_class_init): fill in function pointers for
	get_first_child/get_last_child.
	(e_tree_model_node_get_first_child): new function.
	(e_tree_model_node_get_last_child): new function.
	(e_tree_model_node_depth): g_node_depth -> e_tree_path_depth.
	(e_tree_model_node_insert): modify to use ETreePath and new
	e_tree_path functions.  Prepends and appends are now both constant
	time.
	(child_remove): modify for e_tree_model_node_traverse.
	(e_tree_model_node_remove): same, and use e_tree_path functions.
	(e_tree_model_node_insert_before): add a loop here to figure out
	the position, since it's the only place we care about the child
	position.
	(e_tree_model_node_sort): rework to accomodate new e_tree_path
	functions, and put the e_tree_model_node_set_expanded calls in a
	separate loop after all the children have been added.

	* e-tree-model.h: add prototypes and virtual functions for more
	tree traversal operations (get_first_child, get_last_child), as
	well as a new function to traverse depth first the descendents of
	a node (e_tree_model_node_traverse), much like g_node_traverse
	(G_IN_ORDER).  Also, ETreePath is an opaque type now, and is not a
	GNode.

svn path=/trunk/; revision=5932
2000-10-15 23:17:56 +00:00
be894a163a Made it so that ETable won't use a state with 0 columns.
2000-10-15  Christopher James Lahey  <clahey@helixcode.com>

	* e-table.c: Made it so that ETable won't use a state with 0
	columns.

svn path=/trunk/; revision=5931
2000-10-15 22:32:01 +00:00
43b8acb68a Fixed these to use the new ascending attribute as a boolean instead of an
2000-10-13  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-example-1.c, e-table-example-2.c, e-table-size-test.c,
	test-table.c: Fixed these to use the new ascending attribute as a
	boolean instead of an int.

	* e-table-sort-info.c: Changed the ascending attribute to a
	boolean ("true"/"false") instead of an int (1/0).

svn path=/trunk/; revision=5903
2000-10-13 22:16:17 +00:00
c144d20918 Added e-table-config-field.lo.
2000-10-13  Christopher James Lahey  <clahey@helixcode.com>

	* gal/Makefile.am: Added e-table-config-field.lo.

	* tests/test-tree-2.c: Changed this to use cursor-mode in the xml
	instead of the no longer existing gtk argument.

From gal/e-table/ChangeLog:

2000-10-13  Christopher James Lahey  <clahey@helixcode.com>

	* Makefile.am: Added e-table-config-field.c and
	e-table-config-field.h.

	* e-table-column-specification.c: Cleaned this up a bit.  Made it
	leak less memory.

	* e-table-config-field.c, e-table-config-field.h: New files.
	This is the configuration widgets for sorting or grouping.

	* e-table-config.c, e-table-config.h: Nuked these and replaced
	them with a widget that handles all the ETable configuration.

	* e-table-config.glade, e-table-config.glade.h: Updated this a bit
	to match what's actually being used better.  This isn't used in
	actual code.

	* e-table-header-item.c, e-table-header-item.h: Added a pointer to
	the table in the header item structure so that we can launch the
	configuration from the header item right click menu.  Made the
	header item launch the ETable configuration dialog.

	* e-table.c, e-table.h: Keep the spec given to us around.  Added a
	get_state_object function which returns an ETableState *.  Set the
	"table" argument on the header item.

svn path=/trunk/; revision=5901
2000-10-13 18:53:51 +00:00
d4d563705e NULL is not a valid argument to `xmlNewDoc'. Was this code ever
tested *at all*?

svn path=/trunk/; revision=5899
2000-10-13 16:59:15 +00:00
a053aa88b9 Fixed gdk-font refcounting
Added font_e argument to e-text
Fixed the header-item drawing the pixmap incorrectly

svn path=/trunk/; revision=5894
2000-10-13 00:11:27 +00:00
12d21d2361 when there are 0 columns, don't assert.
2000-10-12  Jeffrey Stedfast  <fejj@helixcode.com>

	* e-table-item.c: when there are 0 columns, don't assert.

svn path=/trunk/; revision=5876
2000-10-12 04:55:38 +00:00
d7c03c7ff0 Make saving state work properly.
2000-10-11  Christopher James Lahey  <clahey@helixcode.com>

	* e-table.c: Make saving state work properly.

svn path=/trunk/; revision=5859
2000-10-11 19:37:46 +00:00
6a93e105a2 Fixed the parity on the cursor-mode check.
2000-10-11  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-specification.c: Fixed the parity on the cursor-mode
	check.

svn path=/trunk/; revision=5847
2000-10-11 12:08:55 +00:00
8d310c47bd Changed these to use the default cells.
2000-10-11  Christopher James Lahey  <clahey@helixcode.com>

	* tests/test-tree-1.c, tests/test-tree-2.c, tests/test-tree-3.c:
	Changed these to use the default cells.

From gal/e-table/ChangeLog:

2000-10-11  Christopher James Lahey  <clahey@helixcode.com>

	* e-cell-text.c, e-cell-text.h, e-cell-tree.c, e-cell-tree.h: Got
	rid of the model parameter to e_cell_text_new and e_cell_tree_new
	as they aren't used.

	* e-table-extras.c: Added default "integer" compare and default
	"tree-string", "string", and "checkbox" cells.

	* e-table.c: Made this use the draw-grid, cursor-mode, and
	_click-to-add-message fields from the xml.

svn path=/trunk/; revision=5841
2000-10-11 09:40:22 +00:00
dabe67e33c Example spec file. Not used. Just an example of what you can do.
2000-10-11  Christopher James Lahey  <clahey@helixcode.com>

	* spec.xml: Example spec file.  Not used.  Just an example of what
	you can do.

svn path=/trunk/; revision=5839
2000-10-11 08:43:20 +00:00
e16e25daa7 Changed these to match the new ETable system.
2000-10-11  Christopher James Lahey  <clahey@helixcode.com>

	* tests/test-tree-1.c, tests/test-tree-2.c, tests/test-tree-3.c:
	Changed these to match the new ETable system.

	* gal/Makefile.am: Added e-table-column-specification.lo,
	e-table-extras.lo, e-table-specification.lo, and e-table-state.lo.

From gal/e-table/ChangeLog:

2000-10-11  Christopher James Lahey  <clahey@helixcode.com>

	* Makefile.am: Added e-table-column-specification.c,
	e-table-column-specification.h, e-table-extras.c,
	e-table-extras.h, e-table-specification.c,
	e-table-specification.h, e-table-state.c, and e-table-state.h.
	Removed some duplicated .h files.

	* e-cell-tree.c: Ref, sink, and unref the subcell instead of destroying
	it when done.

	* e-table-column-specification.c, e-table-column-specification.h:
	New class which describes a column without having a table get
	instantiated.

	* e-table-config.c: Changed get_specification to get_state to get
	this to compile.

	* e-table-defines.h, e-table-item.h: Moved the definition of
	ETableCursorMode from e-table-item.h to e-table-defines.h.

	* e-table-extras.c, e-table-extras.h: New class which acts as a
	set of 3 hash tables.  All from char * and to alternately, ECells,
	GCompareFuncs, and GdkPxibufs.

	* e-table-scrolled.c, e-table-scrolled.h: Changed this to match
	the new ETable function declarations.

	* e-table-sort-info.c, e-table-sort-info.h: Added functions for
	saving to and loading from xml.

	* e-table-specification.c, e-table-specification.h: New class
	which describes a table without having to instantiate it.

	* e-table-state.c, e-table-state.h: New class which describes the
	state of a table without having to instantiate the table.

	* e-table.c, e-table.h: Changed this to accept both a state and a
	specification instead of just a specification.  You then save only
	the state.  The specification stays exactly the same.  Also, you
	no longer need to pass in an ETableHeader.  Most of the
	information contained in the ETableHeader are in the
	specification.  However you may need to translate some of the
	strings in the specification to objects.  If you need anything
	other than the builtin choices, you need to create an ETableExtras
	and pass it in.

	* e-tree-model.c: Removed an unused variable.

svn path=/trunk/; revision=5837
2000-10-11 08:16:37 +00:00
3012f7b1f2 Removed the assertion that there must be at least 1 column. No way to
2000-10-06  Not Zed  <NotZed@HelixCode.com>

        * e-table-item.c (eti_header_structure_changed): Removed the
        assertion that there must be at least 1 column.  No way to remove
        all columns otherwise (which the header allows).

        * e-table.c (et_xml_config_header): Reconfigure header based on
        xml nodes for header.
        (et_real_set_specification): Just configure the header only, dont
        try to recreate everything.

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

        * e-table-scrolled.c (e_table_scrolled_set_specification): Set the
        spec on a scrolled etable.
        (e_table_scrolled_load_specification): Likewise for load.

        * e-table.c (et_real_set_specification): Allow you to set the
        specification after the widget was created.
        (et_real_construct): Changed to use et_real_set_specification to
        set the spec.
        (e_table_load_specification): New frunction, load the
        speficication from a specific file.
        (e_table_set_specification): NEw function to set the specification
        from a string.

svn path=/trunk/; revision=5795
2000-10-09 12:24:54 +00:00
af89b25190 Emit the selection/cursor "changed" signals.
2000-10-04  Jeffrey Stedfast  <fejj@helixcode.com>

	* e-table-selection-model.c
	(e_table_selection_model_invert_selection): Emit the
	selection/cursor "changed" signals.
	(e_table_selection_model_select_all): Same.

svn path=/trunk/; revision=5724
2000-10-04 22:36:49 +00:00
60b04c2ac5 Select all elements of the etable.
2000-10-04  Jeffrey Stedfast  <fejj@helixcode.com>

	* e-table-selection-model.c (e_table_selection_model_select_all):
	Select all elements of the etable.
	(e_table_selection_model_invert_selection): Invert the current
	selection.

	* e-table.c (e_table_select_all): New convenience function to
	select all elements in an e-table.
	(e_table_invert_selection): New convenience function to invert the
	current selection in an e-table.

svn path=/trunk/; revision=5719
2000-10-04 21:40:08 +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
6e713aeab6 Put in 3 more dialog boxes in these files.
Tue Oct  3 18:28:09 2000  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-config.glade, e-table-config.glade.h: Put in 3 more
	dialog boxes in these files.

svn path=/trunk/; revision=5696
2000-10-03 22:27:58 +00:00
4dd58b9823 change/add prototypes and a typedef for ETreePathCompareFunc.
2000-10-02  Chris Toshok  <toshok@helixcode.com>

	* e-tree-model.h: change/add prototypes and a typedef for
	ETreePathCompareFunc.

	* e-tree-model.c (e_tree_model_node_set_compare_function): new
	function, used to set the comparison function for sorted nodes.
	Eventually sorting entail just calling this function, with the
	tree maintaining the sort.

	(e_tree_model_node_sort): use a helper function
	(e_tree_model_node_compare) to allow the e-tree user's comparison
	function to take mode reasonable paramaters.  also, fix it so the
	previous expanded state is kept with the node.  i can't believe i
	wrote it the way it originally was.  also, don't take the
	comparison function here.  it's set in
	e_tree_model_node_set_compare_function.

svn path=/trunk/; revision=5674
2000-10-02 22:10:13 +00:00
9f50c83ac5 don't screw things up if we sort a collapsed node.
2000-10-02  Chris Toshok  <toshok@helixcode.com>

	* e-tree-model.c (e_tree_model_node_sort): don't screw things up
	if we sort a collapsed node.

svn path=/trunk/; revision=5673
2000-10-02 21:13:43 +00:00