Commit Graph

506 Commits

Author SHA1 Message Date
Christopher James Lahey f7e9c117f8 Accidently committed this with using the tree selection model turned on.
2001-03-31  Christopher James Lahey  <clahey@ximian.com>

	* e-tree.c, e-tree.h: Accidently committed this with using the
	tree selection model turned on.  Rolled back this change.

svn path=/trunk/; revision=9076
2001-03-31 20:26:01 +00:00
Christopher James Lahey 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
Christopher James Lahey 48e35cdf4c Set orig_position properly on inserted nodes.
2001-03-31  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-sorted.c (ets_proxy_node_inserted): Set orig_position
	properly on inserted nodes.

svn path=/trunk/; revision=9074
2001-03-31 20:10:30 +00:00
Christopher James Lahey 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
Christopher James Lahey 60d3d3a0a3 Removed this since it's out of date. Replaced by tests/test-table-1.c.
2001-03-31  Christopher James Lahey  <clahey@ximian.com>

	* e-table-example-1.c: Removed this since it's out of date.
	Replaced by tests/test-table-1.c.

svn path=/trunk/; revision=9072
2001-03-31 12:02:59 +00:00
Christopher James Lahey 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
Tambet Ingo 08f78aa8de Fixed little bug, add adjustments.
2001-03-31  Tambet Ingo  <tambet@ximian.com>

	* e-table-scrolled.c (e_table_scrolled_new_from_spec_file): Fixed
	little bug, add adjustments.

svn path=/trunk/; revision=9068
2001-03-31 09:17:37 +00:00
Christopher James Lahey b2815aa189 Fixed removing the last child of a node.
2001-03-30  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-table-adapter.c (etta_proxy_node_removed): Fixed removing
	the last child of a node.

svn path=/trunk/; revision=9051
2001-03-30 20:14:28 +00:00
Radek Doulik 0a8549d792 removed #include <gal/e-table/e-tree-selection-model.h>
2001-03-30  Radek Doulik  <rodo@ximian.com>

	* e-tree.h: removed #include
	<gal/e-table/e-tree-selection-model.h>

svn path=/trunk/; revision=9044
2001-03-30 14:46:00 +00:00
Christopher James Lahey 90ed53edb0 Made these use GTK_TYPE_GDK_EVENT whenever sending an event through the
2001-03-30  Christopher James Lahey  <clahey@ximian.com>

	* e-table-group.c, e-table-header-item.c, e-table-item.c,
	e-table.c, e-tree.c: Made these use GTK_TYPE_GDK_EVENT whenever
	sending an event through the signal system instead of
	GTK_TYPE_POINTER.

	* e-table.c, e-tree.c (set_header_canvas_width): Check that none
	of the variables we're going to need are NULL before executing
	this function.

svn path=/trunk/; revision=9042
2001-03-30 10:30:28 +00:00
Christopher James Lahey 0e347fdbe1 Changed the signal "table_selection_model" to just be "selection_model"
2001-03-30  Christopher James Lahey  <clahey@ximian.com>

	* e-table-group-container.c, e-table-group-container.h,
	e-table-group-leaf.c, e-table-group-leaf.h, e-table-item.c,
	e-table-item.h, e-table.c, e-tree.c: Changed the signal
	"table_selection_model" to just be "selection_model" everywhere
	and made it be ESelectionModels instead of ETableSelectionModels
	for generality.

	* e-table-item.c (eti_event): Make right arrow and left arrow
	accessible as events that can be caught.

	* e-tree-sorted.c, e-tree-sorted.h (e_tree_sorted_orig_position):
	Added this function.

svn path=/trunk/; revision=9041
2001-03-30 08:52:04 +00:00
Christopher James Lahey 491523b07c Updated to set the width of the header canvas to be equal to the width of
2001-03-29  Christopher James Lahey  <clahey@ximian.com>

	* e-table.c, e-tree.c, e-tree.h: Updated to set the width of the
	header canvas to be equal to the width of the table canvas to
	avoid infinite loops.  Added left arrow and right arrow as tree
	collapse and expand bindings.

svn path=/trunk/; revision=9035
2001-03-30 01:27:38 +00:00
Christopher James Lahey 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
Christopher James Lahey 7443055a53 Updated these to match the new e_tree_model_node_removed signal.
2001-03-26  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-memory.c, e-tree-table-adapter.c: Updated these to match
	the new e_tree_model_node_removed signal.

	* e-tree-model.c, e-tree-model.h: Added an old_position parameter
	to the node_removed signal so that it would be completely
	deterministic.

	* e-tree-sorted.c: Changed this so that paths keep track of their
	original position.  This makes sorting much faster.

svn path=/trunk/; revision=8953
2001-03-26 19:51:05 +00:00
George Lebl a6cc0bd7a2 un Mar 25 22:31:19 2001 George Lebl <jirka@5z.com>
* e-tree.c (e_tree_class_init):  Fix gtk_signal_new arguments, INT
	  and POINTER were switched causing my alpha to go nuts.

svn path=/trunk/; revision=8935
2001-03-26 06:38:57 +00:00
Dan Winship 7680855427 ref the sort_info taken from the state object. Ditto. Fixes the last ETree
* e-table.c (et_real_construct): ref the sort_info taken from the
	state object.
	* e-tree.c (et_real_construct): Ditto. Fixes the last ETree
	crash-on-exit bug for me.

svn path=/trunk/; revision=8929
2001-03-25 16:55:03 +00:00
Christopher James Lahey 1190e292f4 Added e-selection-model-array.lo.
2001-03-25  Christopher James Lahey  <clahey@ximian.com>

	* gal/Makefile.am (libgal_la_LIBADD): Added
	e-selection-model-array.lo.

	* gal/widgets/Makefile.am: Added e-selection-model-array.c and
	e-selection-model-array.h.

	* gal/widgets/e-selection-model-array.c,
	gal/widgets/e-selection-model-array.h: New class that implements
	the details of ESelectionModel.  ESelectionModel has been
	refactored to just be a this virtual class.  ESelectionModelArray
	is the original implementation of ESelectionModel.  This is what
	most people will want to use or derive from.

	* gal/widgets/e-selection-model-simple.c,
	gal/widgets/e-selection-model-simple.h: Made the parent class of
	this be ESelectionModelArray instead of ESelectionModel.  Changed
	some function names to match this change.

	* gal/widgets/e-selection-model.c,
	gal/widgets/e-selection-model.h: Refactored most of the
	implementation of this class into ESelectionModelArray.  Now just
	a thin virtual class.

From gal/e-table/ChangeLog:

2001-03-25  Christopher James Lahey  <clahey@ximian.com>

	* e-table-selection-model.c, e-table-selection-model.h: Made the
	parent object of this be ESelectionModelArray instead of
	ESelectionModel due to their refactoring.  Changed the commented
	out code for saving the selection a bit.

svn path=/trunk/; revision=8924
2001-03-25 08:17:15 +00:00
Christopher James Lahey 2ed07fe856 Added '=' and '-' as tree node expand and collapse
2001-03-25  Christopher James Lahey  <clahey@ximian.com>

	* e-tree.c (item_key_press): Added '=' and '-' as tree node expand
	and collapse

svn path=/trunk/; revision=8923
2001-03-25 08:10:23 +00:00
Christopher James Lahey 8664825c58 Properly remove old items from the ETableExtras if they are replaced by
2001-03-23  Christopher James Lahey  <clahey@ximian.com>

	* e-table-extras.c: Properly remove old items from the
	ETableExtras if they are replaced by new objects.

svn path=/trunk/; revision=8919
2001-03-23 22:17:20 +00:00
Christopher James Lahey 2829dd55fd Made this only up the insert_count if it actually had to do any non
2001-03-23  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-sorted.c (reposition_path): Made this only up the
	insert_count if it actually had to do any non constant work to
	reposition the path.

svn path=/trunk/; revision=8918
2001-03-23 21:44:32 +00:00
Christopher James Lahey 320e990197 Ignore these signals if we aren't realized yet.
2001-03-23  Christopher James Lahey  <clahey@ximian.com>

	* e-table-item.c (eti_cursor_change, eti_cursor_activated): Ignore
	these signals if we aren't realized yet.

svn path=/trunk/; revision=8917
2001-03-23 15:46:50 +00:00
Christopher James Lahey e4affa9382 Made this not create the new font until realize instead of at new_view
2001-03-23  Christopher James Lahey  <clahey@ximian.com>

	* e-cell-text.c: Made this not create the new font until realize
	instead of at new_view time.

	* e-table-item.c: Don't request heights or do other things that
	you aren't allowed to do before realization unless you're
	realized.

svn path=/trunk/; revision=8915
2001-03-23 06:46:46 +00:00
Christopher James Lahey 7aee2da177 Fixed the g_return_if_fail here to allow for appending.
2001-03-22  Christopher James Lahey  <clahey@ximian.com>

	* e-table-memory.c (e_table_memory_insert): Fixed the
	g_return_if_fail here to allow for appending.

svn path=/trunk/; revision=8889
2001-03-22 10:32:28 +00:00
Ettore Perazzoli 65d31b5b24 Make `ETableSortInfo' non-floating and use _unref, not _destroy, to
get rid of the ETableSortInfo in ETableState's destroy method.

svn path=/trunk/; revision=8888
2001-03-22 10:31:14 +00:00
Christopher James Lahey bbaba8e024 Fixed the parity on all the g_return_ifs and g_return_val_ifs.
2001-03-22  Christopher James Lahey  <clahey@ximian.com>

	* e-table-memory.c: Fixed the parity on all the g_return_ifs and
	g_return_val_ifs.

svn path=/trunk/; revision=8887
2001-03-22 10:02:29 +00:00
Christopher James Lahey 3307531519 Made this able to take -1 to denote appending to the table. Also, removed
2001-03-22  Christopher James Lahey  <clahey@ximian.com>

	* e-table-memory.c, e-table-memory.h (e_table_memory_insert): Made
	this able to take -1 to denote appending to the table.  Also,
	removed the node_ from the name of this function.
	(e_table_memory_remove): Removed the node_ from the name of this
	function.
	(e_table_memory_clear): New function which sets the table to
	empty.

svn path=/trunk/; revision=8886
2001-03-22 09:56:31 +00:00
Christopher James Lahey 26d5ee2938 Changed this to derefence the pointers passed in from qsort as we should
2001-03-22  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-memory.c (sort_callback): Changed this to derefence the
	pointers passed in from qsort as we should instead of just casting
	them.
	(e_tree_memory_sort_node): Set the first_child and last_child of
	the node changed.

svn path=/trunk/; revision=8882
2001-03-22 08:06:30 +00:00
Christopher James Lahey fd03473c71 New function to allow you to do non live sorts with weird rules.
2001-03-22  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-memory.c, e-tree-memory.h (e_tree_memory_sort_node): New
	function to allow you to do non live sorts with weird rules.

svn path=/trunk/; revision=8881
2001-03-22 06:56:15 +00:00
Ettore Perazzoli 22d6bf67ab Make ETableState' a non-GTK_FLOATING' object. Otherwise the
reference counts are messed up, and a segfault occurs when destroying
the ETable widget.

svn path=/trunk/; revision=8867
2001-03-21 15:50:16 +00:00
Christopher James Lahey 13cabd9ef2 Added these classes.
2001-03-20  Christopher James Lahey  <clahey@ximian.com>

	* e-table-memory-callbacks.c, e-table-memory-callbacks.h,
	e-table-memory.c, e-table-memory.h: Added these classes.

	* Makefile.am: Added e-table-memory-callbacks.c,
	e-table-memory-callbacks.h, e-table-memory.c, and
	e-table-memory.h.

svn path=/trunk/; revision=8857
2001-03-20 23:18:47 +00:00
Christopher James Lahey f5624b74ca Fixed a typo in the word horiztonal.
2001-03-20  Christopher James Lahey  <clahey@ximian.com>

	* e-table.c: Fixed a typo in the word horiztonal.

svn path=/trunk/; revision=8852
2001-03-20 19:12:01 +00:00
Christopher James Lahey 451c410dec Bumped the version number to 05.99.9.
2001-03-20  Christopher James Lahey  <clahey@ximian.com>

	* configure.in: Bumped the version number to 05.99.9.

From gal/e-table/ChangeLog:

2001-03-20  Christopher James Lahey  <clahey@ximian.com>

	* e-table-click-to-add.c: Turn on the vertical grid.

	* e-table-group-container.c, e-table-group-container.h,
	e-table-group-leaf.c, e-table-group-leaf.h, e-table-item.c,
	e-table-item.h: Replaced the "drawgrid" argument with
	"horizontal_draw_grid" and "vertical_draw_grid" arguments.

	* e-table-specification.c, e-table-specifcation: Replaced the
	draw_grid setting with the horizontal_draw_grid and
	vertical_draw_grid settings.  If the draw-grid property is set in
	a ETableSpecification it is still obeyed and overrides the
	vertical-draw-grid and horizontal-draw-grid properties.

	* e-table.c, e-table.h, e-tree.c, e-tree.h: Deal with the
	horizontal_draw_grid and vertical_draw_grid changes.

	* e-tree-model.h: Added a missing include.

svn path=/trunk/; revision=8846
2001-03-20 16:22:30 +00:00
Christopher James Lahey 1510304c2d Deal with proxy_node_changed being called on a different root node than
2001-03-19  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-sorted.c (ets_proxy_node_changed): Deal with
	proxy_node_changed being called on a different root node than the
	one we have in our tree.

	* e-tree-table-adapter.c: Did some general clean up here.

	* Merged branch:

2001-03-19  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-sorted.c (find_child_path): Added this function to allow
	us to find paths that have been removed from the source.
	(ets_proxy_node_removed): Fixed the memmove here a bit.  Call
	find_child_path.

	* e-tree-table-adapter.c (find_node): Check that the passed in
	path isn't NULL.

2001-03-19  Christopher James Lahey  <clahey@ximian.com>

	* e-table-item.c (eti_reflow): Get width from header object
	instead of calculating it ourselves.

	* e-table-selection-model.c: Turn off selection saving since it's
	so slow.

	* e-table.c (e_table_set_state_object): Set the width of the newly
	created header object.

	* e-tree.c (e_tree_set_state_object): Set the width of the newly
	created header object.
	(tree_canvas_size_allocate): Don't bother setting the dimensions
	of the white background twice.

2001-03-18  Christopher James Lahey  <clahey@ximian.com>

	* e-table-selection-model.c, e-table-selection-model.h: Made
	ETableSelectionModel save the cursor properly across changed
	signals if has_save_id is true.

2001-03-18  Christopher James Lahey  <clahey@ximian.com>

	* e-table-selection-model.c, e-table-selection-model.h: Made
	ETableSelectionModel save selection properly across changed
	signals if has_save_id is true.

	* e-tree-memory.c: A couple of typos.

2001-03-18  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-memory.c, e-tree-sorted.c: Send pre_changes properly.

2001-03-18  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-table-adapter.c: Send pre_changes when performing
	set_expanded or root_node_set_visible.

2001-03-18  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-sorted.c (ets_is_expandable): When the API requests
	whether the object is expandable and it isn't, make sure to send a
	signal when it becomes expandable.

	* e-tree-table-adapter.c: Made it so that in a number of cases
	where it doesn't need to create an empty hash table node if the
	current tree node has no children, it doesn't.

2001-03-18  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-memory-callbacks.c, e-tree-memory-callbacks.h
	(etmc_has_save_id, etmc_get_save_id): Added has_save_id and
	get_save_id to the list of methods supported by
	e_tree_memory_callbacks.

	* e-tree-table-adapter.c, e-tree-table-adapter.h: Added saving of
	expanded nodes.

2001-03-18  Christopher James Lahey  <clahey@ximian.com>

	* e-table-model.c, e-table-model.h (e_table_model_get_save_id):
	Changed row_save_id to get_save_id to be consistent with ETree.

	* e-tree-model.c, e-tree-model.h: Added "pre_change" signal.
	Added has_save_id and get_save_id methods.

	* e-tree-sorted.c: Proxy pre_change signal.  Implemented
	has_save_id and get_save_id.  If the base model doesn't provide
	has_save_id then we g_strdup_printf the pointer of the base model
	ETreePath as the save_id.

	* e-tree-table-adapter.c: Proxy pre_change signal.  If base model
	has_save_id, then use the results of get_save_id as the key for
	the hash table of node attributes.  Otherwise use the pointer as
	before.

2001-03-17  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-sorted.c (ets_sort_idle): Fixed it so that all nodes get
	sorted properly instead of just the top node.

2001-03-17  Christopher James Lahey  <clahey@ximian.com>

	* e-table-sorting-utils.c (e_table_sorting_utils_tree_sort): Made
	tree sorting faster by using a cache.

	* e-tree-sorted.c: Added commented out debugging g_prints.

2001-03-17  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-sorted.c: Switched to using GMemChunks.

2001-03-17  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-sorted.c (resort_node): Made it so that children of a
	node that's being sorted don't send changed signals.

2001-03-17  Christopher James Lahey  <clahey@ximian.com>

	* e-table-sorting-utils.c, e-table-sorting-utils.h: Switched to
	using e_sort and e_search instead of qsort and a linear search.
	Added the tree functions e_table_sorting_utils_tree_sort,
	e_table_sorting_utils_tree_check_position, and
	e_table_sorting_utils_tree_insert.

	* e-tree-sorted.c: Made this actually do sorting.

	* e-tree-table-adapter.c (etta_proxy_node_changed): The old_size
	needs to be the number of visible children + 1 to include the top
	node.

	* e-tree.c (e_tree_set_state_object): Set the sort_info on the
	ETreeSorted when you get a new sort_info.

2001-03-16  Christopher James Lahey  <clahey@ximian.com>

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

	* e-table-item.c (eti_realize_cell_views): Only realize the cells
	if they're not realized already and if the canvas is realized.

	* e-table-sorted.c (ets_proxy_model_cell_changed): Matched the
	change to the signature of e_table_sorting_utils_affects_sort.

	* e-table-sorting-utils.c, e-table-sorting-utils.h
	(e_table_sorting_utils_affects_sort): Changed the signature of
	this function to not take the ETableModel source since it doesn't
	use it and we need to use this function for ETreeSorted which
	doesn't have an ETableModel.

	* e-tree-memory.c (etmm_get_expanded_default): Actually implement
	the get_expanded_default for this tree.

	* e-tree-model.h: Cleaned up the indentation here.

	* e-tree-sorted.c, e-tree-sorted.h: New class meant to be used for
	sorting trees.  It doesn't actually sort yet.  It simply acts as
	an ETreeProxy which is the hardest part of making ETreeSorted.

	* e-tree.c, e-tree.h: Made this use an ETreeSorted.

2001-03-14  Christopher James Lahey  <clahey@ximian.com>

	* e-table-item.c, e-table-item.h, e-table-selection-model.c,
	e-table-selection-model.h, e-table-sorted.c, e-table-sorted.h,
	e-table-subset.c, e-table-subset.h, e-table.c, e-table.h: Switch
	to handling e_table_model_rows_inserted instead of
	e_table_model_row_inserted and e_table_model_rows_deleted instead
	of e_table_model_row_deleted.

	* e-table-model.c, e-table-model.h: Replaced the signals
	"model_row_inserted" and "model_row_deleted" with
	"model_rows_inserted" and "model_rows_deleted" so that when
	multiple rows are inserted or deleted at the same time they can be
	handled properly.

	* e-tree-table-adapter.c: Call "model_rows_inserted" and
	"model_rows_deleted" instead of "model_changed" when inserting or
	deleting multiple rows.

2001-03-14  Christopher James Lahey  <clahey@ximian.com>

	* e-table-item.c (e_table_item_row_diff): Made this not count the
	pixel between rows if it isn't there.

2001-03-14  Christopher James Lahey  <clahey@ximian.com>

	* e-table-item.c (eti_header_structure_changed): Properly attach &
	realize cell views here.

2001-03-13  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-table-adapter.c (etta_proxy_node_removed): Check that
	parent_node and parent aren't NULL before making function calls on
	them.

2001-03-13  Christopher James Lahey  <clahey@ximian.com>

	* e-table-item.c (confirm_height_cache): Fixed a height cache
	miscalculation.

	* e-tree-table-adapter.c (find_first_child_node): Made the
	semantics of this mean that find_first_child_node(adapter, -1)
	means return the first node in the tree.

2001-03-13  Christopher James Lahey  <clahey@ximian.com>

	* e-table-extras.c: Added a "string-integer" comparison function
	to the default %ETableExtras so you can do comparisons based on
	integer value even if you using strings for the data (this lets
	you do editable numbers, for instance.)

	* e-table-item.c: Rearranged it a bit so that if you have
	draw_grid off it doesn't add space for the horizontal lines, nor
	leave them the background color.

	* e-table-model.c, e-table-model.h: Added the row_save_id and
	has_save_id methods to %ETableModel.

	* e-tree.c, e-tree.h: Replaced e_tree_compute_location with
	e_tree_get_cell_at.

2001-03-08  Christopher James Lahey  <clahey@ximian.com>

	* Makefile.am: Added e-table/e-table-utils.c,
	e-table/e-tree-memory-callbacks.c, e-table/e-tree-memory.c,
	e-table/e-tree-scrolled.c, e-table/e-tree-table-adapter.c, and
	e-table/e-tree.c.  Removed e-table/e-tree-simple.c.  Added
	e-table/e-table-utils.h, e-table/e-tree-memory-callbacks.h,
	e-table/e-tree-memory.h, e-table/e-tree-scrolled.h,
	e-table/e-tree-table-adapter.h, and e-table/e-tree.h.  Removed
	e-table/e-tree-simple.h.

	* e-cell-tree.c: Updated this for the new tree.

	* e-table-item.c: Added some redraw requests where appropriate.

	* e-table-item.h: Fixed an incorrect class method declaration.

	* e-table-model.c, e-table-model.h: Removed
	e_table_model_has_sort_group and e_table_model_row_sort_group.

	* e-table-scrolled.h: Removed unused headers.

	* e-table-simple.c, e-table-simple.h: Rearranged this a bit.

	* e-table-sorter.c, e-table-sorting-utils.c,
	e-table-sorting-utils.h: Removed sort group stuff.  Added the
	function e_table_sorting_utils_check_position.

	* e-table-utils.c, e-table-utils.h: Utility functions for ETable
	and ETree.

	* e-table.c: Moved some of the functionality from here to
	e-table-utils.c so that it can be reused by ETree.

	* e-tree-memory-callbacks.c, e-tree-memory-callbacks.h: Class to
	implement an ETreeMemory as callbacks instead of overriding the
	class.

	* e-tree-memory.c, e-tree-memory.h: ETreeModel that stores a tree
	of physical nodes.

	* e-tree-model.c, e-tree-model.h: Removed most of the
	functionality from here to the classes ETreeMemory and
	ETreeTableAdapter.  This is now just a simple virtualized tree
	class.

	* e-tree-scrolled.c, e-tree-scrolled.h: New class.  An ETree in an
	EScrollFrame.

	* e-tree-simple.c: Small change.  This is no longer used.

	* e-tree-table-adapter.c, e-tree-table-adapter.h: ETableModel that
	represents an ETreeModel as a table.

	* e-tree.c, e-tree.h: New super class kind of like ETable but for
	trees.

End of branch

svn path=/trunk/; revision=8837
2001-03-20 04:43:42 +00:00
Miguel de Icaza d19d151d29 Removed extra printfs
svn path=/trunk/; revision=8812
2001-03-19 03:07:17 +00:00
Miguel de Icaza 234f637779 Use update_sort_and_group_config dialog instead of the non-implemented
2001-03-18  Miguel de Icaza  <miguel@ximian.com>

	* e-table-config.c (sort_entry_changed): Use
	update_sort_and_group_config dialog instead of the non-implemented
	update_group_config_dialog.
	(update_sort_and_group_config_dialog): Update the text correctly.
	(sort_entry_changed): Handle empty string as not-in-set.
	(group_entry_changed): Handle empty string as not-in-set.
	(config_class_init): Fix the signal declaration for "changed",
	this was sending the wrong information.
	(update_sort_and_group_config_dialog): Use group_info here, not sort_info

	* e-table-header-item.c (ethi_popup_customize_view): Changed to
	use the "changed" signal in the ETableConfig instead of
	promiscously using the "apply" from the PropertyBox

	* e-table-config.glade: Set Hide On Close to yes for the Group-By
	dialog.

	The groups for Radio Buttons in the Glade file are global, which
	caused all sorts of strange behaviour and really hard to debug
	problems.  This should be now fixed

svn path=/trunk/; revision=8801
2001-03-18 23:51:23 +00:00
Kjartan Maraas e15acd5bd2 Added #include <string.h> for strcmp(). Same for strlen().
2001-03-16  Kjartan Maraas  <kmaraas@gnome.org>

	* e-cell-combo.c: Added #include <string.h> for strcmp().
	* e-table-header-utils.c: Same for strlen().

svn path=/trunk/; revision=8757
2001-03-16 12:55:54 +00:00
Dan Winship d7f5b9e1a8 Update arguments to e_canvas_item_grab_focus. (eti_cursor_change): Ditto,
* e-table-item.c (eti_event): Update arguments to
	e_canvas_item_grab_focus.
	(eti_cursor_change): Ditto, but pass FALSE! Fixes the problem of
	the Evolution message list stealing your focus when new mail
	arrives. Ha!

svn path=/trunk/; revision=8746
2001-03-15 22:48:28 +00:00
Ettore Perazzoli 862b298c7d New public API call, `e_table_get_cell_at()'. Also upped the GAL
version number because of that.

svn path=/trunk/; revision=8587
2001-03-07 23:41:14 +00:00
Damon Chaplin 49ba8c5c71 added "editable" Arg, to stop the user from editing the text. The user can
2001-03-04  Damon Chaplin  <damon@ximian.com>

	* e-cell-text.c: added "editable" Arg, to stop the user from editing
	the text. The user can still select the text, though. The "editable"
	Arg is useful for ECellCombo where we want the user to select an item
	in the popup but not edit the field itself.

	* e-cell-combo.c: updated to select the matcing item before it pops up
	the list.

svn path=/trunk/; revision=8544
2001-03-04 23:45:29 +00:00
Christopher James Lahey 89ec4e5af6 Fixed some warnings.
2001-03-01  Christopher James Lahey  <clahey@ximian.com>

	* e-cell-pixbuf.c: Fixed some warnings.

	* e-table-subset.c, e-table-subset.h: Added
	e_table_subset_print_debugging.

2001-02-27  Christopher James Lahey  <clahey@ximian.com>

	* e-table-sorted-variable.c: Moved etsv_compare to etsu_compare in
	e-table-sorting-utils.c.  Moved most of the contents of etsv_add
	to e_table_sorting_utils_insert in e-table-sorting-utils.c and
	call the function.

	* e-table-sorted.c: Rewrote ets_proxy_row_changed,
	ets_proxy_row_inserted, and ets_proxy_row_deleted.

	* e-table-sorting-utils.c, e-table-sorting-utils.h (etsu_compare,
	e_table_sorting_utils_insert): Added e_table_sorting_utils_insert.

	* e-table-subset-variable.c: Changed this implementation to be
	slightly more consistent with other code.

svn path=/trunk/; revision=8453
2001-03-01 17:52:12 +00:00
Vladimir Vukicevic 1fc93f47b8 Added new ECellPixbuf -- takes a GdkPixbuf from the model and renders it
* e-table-extras.c:  Added new ECellPixbuf --
takes a GdkPixbuf from the model and renders it centered
in the table cell.

svn path=/trunk/; revision=8441
2001-03-01 07:43:37 +00:00
Vladimir Vukicevic 6b9b57a3f0 Added new ECellPixbuf -- takes a GdkPixbuf from the model and renders it
* e-cell-pixbuf.c, e-cell-pixbuf.h, Makefile.am,
Makefile.am, e-table-extras.c:  Added new ECellPixbuf --
takes a GdkPixbuf from the model and renders it centered
in the table cell.

* gal/Makefile.am: added e-cell-pixbuf.lo

svn path=/trunk/; revision=8440
2001-03-01 07:42:45 +00:00
Christopher James Lahey 6a8d4951dc Changed e_table_selection_model_clear to e_selection_model_clear.
2001-02-27  Christopher James Lahey  <clahey@ximian.com>

	* gal/e-text/e-completion-view.c: Changed
	e_table_selection_model_clear to e_selection_model_clear.

	* tests/test-tree-3.c: Changed E_TABLE_CURSOR_LINE to
	E_CURSOR_LINE.

From gal/e-table/ChangeLog:

2001-02-27  Christopher James Lahey  <clahey@ximian.com>

	* e-table-click-to-add.c, e-table-group-container.c,
	e-table-group-container.h, e-table-group-leaf.c,
	e-table-group-leaf.h, e-table-item.c, e-table-item.h,
	e-table-specification.c, e-table-specification.h, e-table.c,
	e-table.h: Changed a lot of the ETableSelectionModels to
	ESelectionModels, a lot of the ETableSorters to ESorters, all the
	ETableCursorModes to ECursorModes, and all of the
	ETableForeachFuncs into EForeachFuncs.

	* e-table-defines.h: Moved ETableForeachFunc and ETableCursorMode
	to e-selection-model.h.

	* e-table-selection-model.c, e-table-selection-model.h: Made this
	a subclass of ESelectionModel which simple connects to an
	ETableModel.

	* e-table-sorter.c, e-table-sorter.h: Made this a subclass of
	ESorter so that implements the same semantics it used to.

svn path=/trunk/; revision=8422
2001-02-28 03:36:29 +00:00
Ettore Perazzoli c7b0f21667 Prevent `gtk_signal_disconnect()' warnings when destroying a
non-grouping ETable by only disconnecting the signals that are
actually connected.

svn path=/trunk/; revision=8401
2001-02-27 04:06:20 +00:00
Damon Chaplin e65ce47c20 new abstract ECell subclass to be used as base class for popup ECells.
2001-02-25  Damon Chaplin  <damon@ximian.com>

	* e-cell-popup.c: new abstract ECell subclass to be used as base class
	for popup ECells.

	* e-cell-combo.c: subclass of ECellPopup which pops up a simple list
	of strings.

	* e-table-item.c: Renamed eti_row_diff() to e_table_item_row_diff() and
	made public, since the ECellPopup subclasses need it.

	* Makefile.am: added e-cell-popup.[hc] and e-cell-combo.[hc]

svn path=/trunk/; revision=8387
2001-02-25 19:29:40 +00:00
Christopher James Lahey 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
Chris Lahey 45381e728a Doh!
svn path=/trunk/; revision=8362
2001-02-23 02:29:50 +00:00
Christopher James Lahey 07dea1a509 Added a bunch of g_return_if_fails.
2001-02-22  Christopher James Lahey  <clahey@ximian.com>

	* e-tree-model.c: Added a bunch of g_return_if_fails.

svn path=/trunk/; revision=8360
2001-02-23 01:30:10 +00:00
Christopher James Lahey f0e49c7c18 Added some g_return_if_fails here.
2001-02-20  Christopher James Lahey  <clahey@ximian.com>

	* e-cell.c (e_cell_draw): Added some g_return_if_fails here.

svn path=/trunk/; revision=8310
2001-02-21 00:23:42 +00:00
Not Zed 5421d39a47 If we are drawing a top-level tree node, without any children then dont
2001-02-02  Not Zed  <NotZed@Ximian.com>

        * e-cell-tree.c (ect_draw): If we are drawing a top-level tree
        node, without any children then dont offset it for the expansion
        image it doesn't need.

svn path=/trunk/; revision=8304
2001-02-20 16:13:32 +00:00