Commit Graph

32 Commits

Author SHA1 Message Date
a1725df2bb Merging changes:
2001-12-04  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-selection-model.c (e_tree_selection_model_change_cursor):
	Unset selection->old_selection here.

svn path=/trunk/; revision=14912
2001-12-06 20:21:51 +00:00
410f3bc629 Merging changes:
2001-12-04  Christopher James Lahey  <clahey@ximian.com>

	* configure.in (GAL_CURRENT): Bumped version number to 0.18.99.0
	and CURRENT to 19.

2001-11-21  Christopher James Lahey  <clahey@ximian.com>

	* gal/widgets/e-reflow.c, gal/widgets/e-reflow.h: Handle
	selection_row_changed signal.

	* gal/widgets/e-selection-model-array.c,
	gal/widgets/e-selection-model-array.h: Properly send
	selection_row_changed signals if changing from a single row
	selected to a single other row selected or if moving the
	selection_end by a single row.

	* gal/widgets/e-selection-model.c,
	gal/widgets/e-selection-model.h: Added selection_row_changed
	signal.
	(e_selection_model_select_as_key_press): Fixed the case statement
	here to make MULTIPLE and EXTENDED the same as BROWSE instead of
	as SINGLE.

From gal/e-table/ChangeLog:

2001-11-21  Christopher James Lahey  <clahey@ximian.com>

	* e-table-item.c, e-table-item.h: Handle selection_row_changed
	signal.  Keep track of the old cursor row so that we only redraw
	two rows when the cursor changes.

	* e-table.c, e-tree.c: Handle selection_row_changed signal.

	* e-tree-selection-model.c: Properly send selection_row_changed
	signals if changing from a single row selected to a single other
	row selected or if moving the selection_end by a single row.

svn path=/trunk/; revision=14870
2001-12-04 21:03:28 +00:00
388862bcc0 Don't select all if the source model doesn't have a root node (it used to
2001-11-07  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-selection-model.c (etsm_select_all): Don't select all if
	the source model doesn't have a root node (it used to crash.)
	Fixes Ximian bug #14542.

svn path=/trunk/; revision=14661
2001-11-10 20:39:41 +00:00
f00d0b9514 Fixed the signature of this function.
2001-10-31  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-selection-model.c (etsm_node_deleted): Fixed the
	signature of this function.

svn path=/trunk/; revision=14560
2001-11-01 00:35:40 +00:00
71a63f1498 Bumped the version number to 0.16.99.0 and GAL_CURRENT to 17.
2001-10-31  Christopher James Lahey  <clahey@ximian.com>

	* configure.in: Bumped the version number to 0.16.99.0 and
	GAL_CURRENT to 17.

From gal/e-table/ChangeLog:

2001-10-31  Christopher James Lahey  <clahey@ximian.com>

	* e-table-item.c (eti_unfreeze): Check for unfreezing past 0 here
	and give a warning.
	(eti_add_table_model): Call eti_freeze here since
	eti_table_model_changed will call unfreeze.

	* e-tree-memory.c (e_tree_memory_node_remove): Send deleted signal
	after freeing the child.

	* e-tree-model.c, e-tree-model.h: Added node_deleted signal.
	removed/deleted signals will always come in pairs in that order
	with a single pre_change for both of them.

	* e-tree-selection-model.c (etsm_node_deleted): Clear the tree on
	deleted here instead of on removed.

	* e-tree-sorted.c (ets_proxy_node_deleted): Chain deleted here.
	Chains to NULL node which is fine for now.

svn path=/trunk/; revision=14557
2001-10-31 23:42:08 +00:00
23587bebe8 Added frozen_count variable to know not to show the cursor while a change
2001-10-31  Christopher James Lahey  <clahey@ximian.com>

	* e-table-item.c, e-table-item.h: Added frozen_count variable to
	know not to show the cursor while a change is going on.

	* e-table-model.c, e-table-model.h, e-tree-model.c,
	e-tree-model.h: Added a model_no_change signal to pair with a
	pre_change if there's no change.

	* e-table-selection-model.h: Removed an unused frozen field here.

	* e-table-sorted.c, e-table-subset.c, e-table-subset.h,
	e-table-without.c, e-tree-memory.c, e-tree-sorted.c,
	e-tree-table-adapter.c: Made sure pre_changes were all matched by
	some change.  Proxy no_change signal where appropriate.

	* e-tree-selection-model.c: Keep track of the frozen_count
	variable to know whether a change is going on.

svn path=/trunk/; revision=14523
2001-10-31 10:33:51 +00:00
c3e3a85f28 Changed the license announcement at the top of these files.
2001-10-26  Christopher James Lahey  <clahey@ximian.com>

	* e-cell-checkbox.c, e-cell-checkbox.h, e-cell-combo.c,
	e-cell-combo.h, e-cell-date.c, e-cell-date.h, e-cell-number.c,
	e-cell-number.h, e-cell-pixbuf.c, e-cell-pixbuf.h, e-cell-popup.c,
	e-cell-popup.h, e-cell-size.c, e-cell-size.h,
	e-cell-spin-button.c, e-cell-spin-button.h, e-cell-string.c,
	e-cell-text.c, e-cell-text.h, e-cell-toggle.c, e-cell-toggle.h,
	e-cell-tree.c, e-cell-tree.h, e-cell.c, e-cell.h,
	e-table-click-to-add.c, e-table-click-to-add.h, e-table-col-dnd.h,
	e-table-col.c, e-table-col.h, e-table-column-specification.c,
	e-table-column-specification.h, e-table-column.c,
	e-table-config-field.c, e-table-config-field.h, e-table-config.c,
	e-table-config.h, e-table-defines.h, e-table-example-1.c,
	e-table-example-2.c, e-table-extras.c, e-table-extras.h,
	e-table-field-chooser-dialog.c, e-table-field-chooser-dialog.h,
	e-table-field-chooser-item.c, e-table-field-chooser-item.h,
	e-table-field-chooser.c, e-table-field-chooser.h,
	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-header-utils.c, e-table-header-utils.h, e-table-header.c,
	e-table-header.h, e-table-item.c, e-table-item.h,
	e-table-memory-callbacks.c, e-table-memory-callbacks.h,
	e-table-memory.c, e-table-memory.h, e-table-model.c,
	e-table-model.h, e-table-one.c, e-table-one.h, e-table-scrolled.c,
	e-table-scrolled.h, e-table-selection-model.c,
	e-table-selection-model.h, e-table-simple.c, e-table-simple.h,
	e-table-size-test.c, e-table-sort-info.c, e-table-sort-info.h,
	e-table-sorted-variable.c, e-table-sorted-variable.h,
	e-table-sorted.c, e-table-sorted.h, e-table-sorter.c,
	e-table-sorter.h, e-table-sorting-utils.c,
	e-table-sorting-utils.h, e-table-specification.c,
	e-table-specification.h, e-table-state.c, e-table-state.h,
	e-table-subset-variable.c, e-table-subset-variable.h,
	e-table-subset.c, e-table-subset.h, e-table-tooltip.h,
	e-table-tree.h, e-table-utils.c, e-table-utils.h,
	e-table-without.c, e-table-without.h, e-table.c, e-table.h,
	e-tree-memory-callbacks.c, e-tree-memory-callbacks.h,
	e-tree-memory.c, e-tree-memory.h, e-tree-model.c, e-tree-model.h,
	e-tree-scrolled.c, e-tree-scrolled.h, e-tree-selection-model.c,
	e-tree-selection-model.h, e-tree-simple.c, e-tree-simple.h,
	e-tree-sorted-variable.c, e-tree-sorted-variable.h,
	e-tree-sorted.c, e-tree-sorted.h, e-tree-table-adapter.c,
	e-tree-table-adapter.h, e-tree.c, e-tree.h, table-test.c,
	table-test.h, test-check.c, test-cols.c, test-table.c: Changed the
	license announcement at the top of these files.

	* e-cell-string.c: Removed unused file.

svn path=/trunk/; revision=14154
2001-10-26 18:25:47 +00:00
ec99a18271 If the root node is hidden and selected, don't count it in the selected
2001-10-26  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-selection-model.c (etsm_selected_count): If the root node
	is hidden and selected, don't count it in the selected path count.

	* e-tree.c (et_canvas_root_event): Attach to the event handler on
	the root canvas item instead of the canvas itself when making the
	ETree leave editing state.

svn path=/trunk/; revision=14128
2001-10-26 09:00:36 +00:00
86ec9f6f49 Sometimes put off maybe showing the cursor until an idle callback.
2001-10-04  Christopher James Lahey  <clahey@ximian.com>

	* e-table-item.c (eti_idle_maybe_show_cursor): Sometimes put off
	maybe showing the cursor until an idle callback.

	* e-tree-selection-model.c (add_model): Use connect_after to
	connect to all the signals.  This means we can assume the sorted
	tree and table adapters are both done.  This also means that those
	objects cannot assume that the selection is already changed.

svn path=/trunk/; revision=13406
2001-10-04 09:42:53 +00:00
820fc32eb4 Set cursor_path = NULL here.
2001-09-26  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-selection-model.c (etsm_node_changed, etsm_destroy): Set
	cursor_path = NULL here.

svn path=/trunk/; revision=13144
2001-09-26 10:17:29 +00:00
78dc7a128a Attach to the resorted signal instead of the changed signal on the sorted
2001-09-24  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-selection-model.c (etsm_sorted_node_resorted): Attach to
	the resorted signal instead of the changed signal on the sorted
	model.

	* e-tree-sorted.c, e-tree-sorted.h (e_tree_sorted_node_resorted):
	Added this signal.

svn path=/trunk/; revision=13108
2001-09-25 03:19:26 +00:00
06eb6e23fb Rename these functions from ecn_get_text and ecn_free_text.
2001-09-01  Christopher James Lahey  <clahey@ximian.com>

	* e-cell-float.c (ecf_get_text, ecf_free_text): Rename these
	functions from ecn_get_text and ecn_free_text.

	* e-cell-tree.c (ect_height): Make sure the height is a multiple
	of two here.

	* e-table-header-item.c, e-table-header-item.h: Added a "tree"
	argument so that the sorting can be set by right clicking on the
	header item.

	* e-table-item.c (eti_table_model_rows_deleted): Added some
	assertions here.

	* e-tree-selection-model.c (etsm_find_node_unless_equals): Fixed
	indentation.

	* e-tree-table-adapter.c (etta_proxy_node_changed): Rewrote this
	to be more readable.
	(e_tree_table_adapter_node_set_expanded): Added an assertion.

	* e-tree.c, e-tree.h (e_tree_get_spec): Added this function.
	(e_tree_setup_header): Set the tree argument on the
	ETableHeaderItem here.

svn path=/trunk/; revision=12553
2001-09-01 08:03:44 +00:00
c4d909a366 Workaround for Ximian bug #6795. Will prevent a crash and doesn't seem to
2001-08-14  Peter Williams  <peterw@ximian.com>

	* e-tree-selection-model.c (etsm_selected_count_recurse):
	Workaround for Ximian bug #6795. Will prevent a crash and
	doesn't seem to cause any problems, but the underlying problem
	still exists.

svn path=/trunk/; revision=12010
2001-08-14 14:33:02 +00:00
5e70f5f3dd Chain to the destroy handler in the parent class!
2001-08-08  Federico Mena Quintero  <federico@ximian.com>

	* e-cell-pixbuf.c (pixbuf_destroy): Chain to the destroy handler
	in the parent class!

	* e-table-field-chooser.c (e_table_field_chooser_destroy):
	Likewise.  Sigh.

	* e-table-one.c (one_destroy): Likewise.  Double sigh.

	* e-tree-selection-model.c (etsm_destroy): Likewise.  Triple sigh.

svn path=/trunk/; revision=11811
2001-08-09 03:14:48 +00:00
7b0cfb30ea Implemented this function. Fixes Ximian bug #5353.
2001-08-07  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-selection-model.c (etsm_selected_count): Implemented this
	function.  Fixes Ximian bug #5353.

svn path=/trunk/; revision=11753
2001-08-07 23:31:02 +00:00
6fa46ef11d Bump version number due to incompatible changes in ETree.
2001-06-27  Peter Williams  <peterw@ximian.com>

        * configure.in: Bump version number due to incompatible changes
        in ETree.


gal/e-table:

2001-06-27  Peter Williams  <peterw@ximian.com>

        * e-tree-selection-model.c (e_tree_selection_model_add_to_selection): New function,
        heavily based on select_single_row.

        * e-tree-selection-model.h: Added prototype;

        * e-tree.c (e_tree_get_model): New accessor function.
        (e_tree_get_selection_model): Same.
        (e_tree_selected_count, e_tree_select_all, e_tree_invert_select): Removed. With
        the accessors these become pointless.

        * e-tree.h: Prototype the functions above. Remove a few functions that
        don't make sense anymore.

svn path=/trunk/; revision=10543
2001-06-27 21:11:34 +00:00
c6f76217ea Made this return -1 instead of -2 for not found if the root is not
2001-04-25  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-table-adapter.c (e_tree_table_adapter_row_of_node): Made
	this return -1 instead of -2 for not found if the root is not
	visible.

	* e-tree-selection-model.c (etsm_row_foreach_cb): Made this accept
	any negative number as not found instead of just -1.

svn path=/trunk/; revision=9562
2001-04-25 16:10:17 +00:00
0f85f30ab1 Upped the version number to 0.6.99.0. Upped the so number to 6.
2001-04-12  Christopher James Lahey  <clahey@ximian.com>

	* configure.in: Upped the version number to 0.6.99.0.  Upped the
	so number to 6.

	* docs/etablexml.txt: Made some updates here.

	* tests/test-tree-1.c, tests/test-tree-3.c: Added NULL, NULL to
	the call to e_tree_memory_callbacks_new.

From gal/e-table/ChangeLog:

2001-04-12  Christopher James Lahey  <clahey@ximian.com>

	* e-table-item.c (eti_cursor_change): Only move the screen to show
	the cursor if there are no changes pending.  Updated the commented
	out code for alternating colors a bit.

	* e-table-model.c, e-table-model.h: Added
	e_table_model_has_change_pending.

	* e-tree-memory-callbacks.c, e-tree-memory-callbacks.h: Added
	has_get_node_by_id and get_node_by_id.

	* e-tree-model.c, e-tree-model.h: Added
	e_tree_model_has_get_node_by_id and e_tree_model_get_node_by_id.
	Added e_tree_model_has_change_pending.

	* e-tree-selection-model.c: Handle the selection and cursor
	properly across the tree changing.

	* e-tree-sorted.c: Implemented has_get_node_by_id and
	get_node_by_id, and has_changes_pending.

	* e-tree-table-adapter.c: Implemented has_changes_pending.  Fixed
	an array underflow.

svn path=/trunk/; revision=9289
2001-04-13 00:40:49 +00:00
f37767da8e Changed resizeable to resizable in ETableCol for consistency.
2001-04-09  Christopher James Lahey  <clahey@ximian.com>

	* e-table-col.c, e-table-col.h, e-table-header-item.c,
	e-table-header.c, e-table-item.c: Changed resizeable to resizable
	in ETableCol for consistency.

	* e-tree-selection-model.c (etsm_row_of_node): Return -1 here if
	the path isn't found.
	(etsm_sorted_node_changed): If cursor_row is -1, make cursor_col
	-1 as well.

svn path=/trunk/; revision=9211
2001-04-10 03:22:33 +00:00
314ca1477c Call cursor_activated as well.
2001-04-04  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-selection-model.c (e_tree_selection_model_change_cursor):
	Call cursor_activated as well.

svn path=/trunk/; revision=9176
2001-04-04 13:24:01 +00:00
ac19d5492f Made this work properly for models with 0 rows in the tree table adapter.
2001-04-04  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-selection-model.c: Made this work properly for models
	with 0 rows in the tree table adapter.

svn path=/trunk/; revision=9173
2001-04-04 10:59:44 +00:00
061419e7f2 Added this function.
2001-04-04  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-selection-model.c, e-tree-selection-model.h
	(e_tree_selection_model_change_cursor): Added this function.

	* e-tree.c (e_tree_set_cursor): Screwed up moving the cursor a
	small bit when I changed this to be faster before.  Fixed it.

svn path=/trunk/; revision=9171
2001-04-04 10:17:37 +00:00
91f381352f Added e_tree_selection_model_select_single_path and made selection_start
2001-04-04  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-selection-model.c, e-tree-selection-model.h: Added
	e_tree_selection_model_select_single_path and made selection_start
	be the path as it should be instead of the row.

	* e-tree-sorted.c: Added a last_access variable to speed up
	access.

	* e-tree-table-adapter.c: Made checking last_access look at the 10
	values before and after the listed value to look for the value
	requested.

	* e-tree.c: Call e_tree_selection_model_select_single_path if
	E_TREE_USE_TREE_SELECTION.

svn path=/trunk/; revision=9169
2001-04-04 08:37:14 +00:00
ca0d8034c2 Fixed this to not call the callback with a row of -1.
2001-04-04  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-selection-model.c (etsm_row_foreach_cb): Fixed this to
	not call the callback with a row of -1.

svn path=/trunk/; revision=9167
2001-04-04 07:16:12 +00:00
08940ce6f6 Fix headers. Ditto. Ditto. Ditto. Ditto. Ditto. Ditto. Ditto. Ditto.
2001-04-04  Kjartan Maraas  <kmaraas@gnome.org>

	* e-cell-date.c: Fix headers.
	* e-cell-number.c: Ditto.
	* e-cell-pixbuf.[ch]: Ditto.
	* e-cell-size.c: Ditto.
	* e-cell-text.c: Ditto.
	* e-cell-tree.c: Ditto.
	* e-table-click-to-add.[ch]: Ditto.
	* e-table-column-specification.h: Ditto.
	* e-table-config-field.c: Ditto.
	* e-table-config.[ch]: Ditto.
	* e-table-example-2.c: Ditto.
	* e-table-field-chooser-dialog.[ch]: Ditto.
	* e-table-field-chooser-item.c: Ditto.
	* e-table-field-chooser.h: Ditto.
	* e-table-group-container.c: Ditto.
	* e-table-item.c: Ditto
	* e-table-memory.c: Ditto.
	* e-table-selection-model.c: Ditto.
	* e-table-sorter.c: Ditto.
	* e-table-subset-variable.c: Ditto.
	* e-table.c: Ditto.
	* e-tree-memory.c: Ditto.
	* e-tree-model.c: Ditto.
	* e-tree-selection-model.[ch]: Ditto.
	* e-tree-sorted-variable.c: Ditto.
	* e-tree-sorted.c: Ditto.
	* e-tree-table-adapter.c: Ditto.
	* e-tree.[ch]: Same here.

svn path=/trunk/; revision=9164
2001-04-04 05:24:34 +00:00
a33ff2cef4 Monitor the sorted model and send selection and cursor changed signals.
2001-04-01  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-selection-model.c: Monitor the sorted model and send
	selection and cursor changed signals.

svn path=/trunk/; revision=9090
2001-04-01 23:31:54 +00:00
428f1353ce Made this traverse the source model instead of the sorted model since the
2001-04-01  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-selection-model.c (etsm_foreach_all_recurse,
	etsm_foreach_recurse, e_tree_selection_model_foreach): Made this
	traverse the source model instead of the sorted model since the
	selection model is in the order of the source model.

svn path=/trunk/; revision=9089
2001-04-01 23:03:27 +00:00
7e13452f20 Fixed some bugs with the privitization of ETreeSelectionModel.
2001-04-01  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-selection-model.c: Fixed some bugs with the privitization
	of ETreeSelectionModel.

	* e-tree.c: One more required change to make it work with
	E_TREE_USE_TREE_SELECTION on.

svn path=/trunk/; revision=9084
2001-04-01 11:33:03 +00:00
2e9fe25b8e Include <gal/util/e-util.h> here.
2001-03-31  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-scrolled.c: Include <gal/util/e-util.h> here.

	* e-tree-selection-model.c, e-tree-selection-model.h: Privatized
	this class.  Cleaned this up a bit.  Added handlers for signals
	from the model.

	* e-tree.c, e-tree.h: Privatized this class.

svn path=/trunk/; revision=9075
2001-03-31 20:23:20 +00:00
153eecb0b2 Made e_tree_selection_model_foreach work. (etsm_select_all): Made
2001-03-31  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-selection-model.c (etsm_foreach_all_recurse): Made
	e_tree_selection_model_foreach work.
	(etsm_select_all): Made etsm_select_all work.
	(update_parents): Fixed a crash.

svn path=/trunk/; revision=9073
2001-03-31 15:08:36 +00:00
40dff98947 New implementation based on a tree instead of a hash table.
2001-03-31  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-selection-model.c, e-tree-selection-model.h: New
	implementation based on a tree instead of a hash table.

	* e-tree-sorted.c, e-tree-sorted.h: Added
	e_tree_sorted_num_children.

svn path=/trunk/; revision=9070
2001-03-31 11:41:34 +00:00
60e3214780 New class implementing a tree model. Not finished yet or in use, but I
2001-03-27  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-selection-model.c, e-tree-selection-model.h: New class
	implementing a tree model.  Not finished yet or in use, but I
	wanted to get it checked in.

svn path=/trunk/; revision=8987
2001-03-28 02:50:25 +00:00