Commit Graph

66 Commits

Author SHA1 Message Date
a5931319b6 Use new e_table_header_prioritized_column field.
2001-10-12  Christopher James Lahey  <clahey@ximian.com>

	* e-table-click-to-add.c (set_initial_selection): Use new
	e_table_header_prioritized_column field.

	* e-table-header.c, e-table-header.h
	(e_table_header_prioritized_column): New function.  Refactors the
	code from ETableClickToAdd to find the column with the highest
	priority.

	* e-table-selection-model.c, e-table-selection-model.h
	(model_changed_idle): Changed this function to use the
	e_table_header_prioritized_column function.  Added an argument to
	set the "header" on this selection model.

	* e-table-utils.h: Indentation cleanup.

	* e-table.c (et_real_construct): Set the "header" argument on the
	selection model here.

	* e-table.h: #include <gal/e-table/e-table-sorter.h>

svn path=/trunk/; revision=13633
2001-10-12 21:52:49 +00:00
cd18ff4f51 Added this function.
2001-10-10  Christopher James Lahey  <clahey@ximian.com>

	* e-table.c, e-table.h (e_table_get_selection_model): Added this
	function.

svn path=/trunk/; revision=13548
2001-10-10 11:22:19 +00:00
9a92cc103a Adapted height method to deal with a row of -1.
2001-10-05  Christopher James Lahey  <clahey@ximian.com>

	* e-cell-text, e-cell-pixbuf: Adapted height method to deal with a
	row of -1.

	* 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-table.h, e-tree.c: Added
	"uniform_row_height" argument.

svn path=/trunk/; revision=13440
2001-10-05 13:27:03 +00:00
650c4690b2 Commit patch from Chris to implement e_tree_right_click_up() for
correct right-click behavior in single selection mode.

svn path=/trunk/; revision=13123
2001-09-25 21:24:22 +00:00
f7120120cd Added start_drag signals.
2001-08-24  Christopher James Lahey  <clahey@ximian.com>

	* e-table-group-container.c, e-table-group-leaf.c,
	e-table-group-leaf.h, e-table-group.c, e-table-group.h: Added
	start_drag signals.

	* e-table-item.c, e-table-item.h (eti_event): Send the start_drag
	signal.  Fixes Ximian bug #807.

	* e-table.c, e-table.h, e-tree.c, e-tree.h: Added start_drag
	signal.  Made default handler start drag & drop if we're set to
	automatically handle dnd.  Ripped out the code to handle watching
	events for dnd since start_drag does this now.

svn path=/trunk/; revision=12437
2001-08-24 16:33:30 +00:00
2f81032abc new proto and virtual method
2001-08-10  JP Rosevear  <jpr@ximian.com>

	* gal/widgets/e-canvas-vbox.h: new proto and virtual method

	* gal/widgets/e-canvas-vbox.c (e_canvas_vbox_real_add_item_start):
	adds the the item to the beginning
	(e_canvas_vbox_add_item_start): call the virtual method

2001-08-10  JP Rosevear  <jpr@ximian.com>

	* e-table.c (et_build_groups): add the items to the start or end
	based on where the click to add should be
	(e_table_setup_table): ditto
	(et_real_construct): read additional spec flag

	* e-table.h: new flag

	* e-table-specification.c (etsp_init): init new flag
	(e_table_specification_load_from_node): set click to add end flag
	(e_table_specification_save_to_node): write out flag

	* e-table-specification.h: new flag

svn path=/trunk/; revision=11880
2001-08-10 15:47:18 +00:00
0cb44895c5 Added scrolling to access nodes that are scrolled off screen for drops.
2001-08-07  Christopher James Lahey  <clahey@ximian.com>

	* e-tree.c (scroll_timeout): Added scrolling to access nodes that
	are scrolled off screen for drops.  Fixes Ximian bug #5645.

	* e-table.c, e-table.h (scroll_timeout): Added scrolling to access
	rows that are scrolled off screen for drops.  This doesn't work
	for some reason, but I'm checking the code in.

svn path=/trunk/; revision=11724
2001-08-07 05:55:36 +00:00
ba57a90d93 Implemented these functions.
2001-08-06  Christopher James Lahey  <clahey@ximian.com>

	* e-table.c, e-table.h (e_table_drag_highlight,
	e_table_drag_unhighlight): Implemented these functions.

	* e-tree.c (e_tree_drag_highlight, e_tree_drag_unhighlight):
	Implemented these functions.

svn path=/trunk/; revision=11713
2001-08-06 22:07:28 +00:00
2d3c06b3a4 (Make the alternating row colors a option in ETableSpecification instead
2001-04-28  Jason Leach  <jasonleach@usa.net>

	(Make the alternating row colors a option in ETableSpecification
	instead of a compiled in #define)

	* e-table-specification.c (e_table_specification_load_from_node):
	Read in the "alternating-row-colors=bool" option for
	ETableSpecifications.  Default value is true so unless it is
	specified to be false, row colors will alternate.
	(e_table_specification_save_to_node): Save the alternating row
	color options here.

	* e-table.c (et_build_groups): Pass down the alternating row
	colors through to the ETableGroup.

	* e-table-group-container.[ch]: Handle the new alternating row
	colors
	option here, passing it to ETableItem.

	* e-table-group-leaf.[ch]: Here too.

	* e-table-item.c (eti_get_cell_background_color): Got rid of the
	#define ALTERNATE_COLORS, replaced with truth check for
	ETableItem::alternating_row_colors.

	* e-tree.c: Make ETree recognize alternating row color options as
	well.

svn path=/trunk/; revision=9622
2001-04-29 01:14:50 +00:00
44c7d23144 Added get_cell_geometry method.
2001-04-23  Christopher James Lahey  <clahey@ximian.com>

	* e-table-group-container.c, e-table-group-leaf.c,
	e-table-group.c, e-table-group-.h: Added get_cell_geometry method.

	* e-table-item.c, e-table-item.h: Added
	e_table_item_get_cell_geometry.

	* e-table.c, e-table.h: Added e_table_get_cell_geometry.

svn path=/trunk/; revision=9532
2001-04-24 01:30:48 +00:00
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
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
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
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
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
d4be90f9b2 This new function updates the minimum width of all of the columns based on
2001-02-13  Christopher James Lahey  <clahey@ximian.com>

	* e-table-header.c, e-table-header.h
	(e_table_header_update_horizontal): This new function updates the
	minimum width of all of the columns based on the data contained in
	that column.

	* e-table.c, e-table.h (changed_idle): Added a
	horizontal_scrolling field.  Call e_table_header_update_horizontal
	if the model changes at all and horizontal_scrolling is set to TRUE.

svn path=/trunk/; revision=8214
2001-02-13 23:15:13 +00:00
9c73622d38 Documented. Added a "cursor_activated" signal. Removed some unused
2001-01-25  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-group-container.c, e-table-group-leaf.c,
	e-table-group.c, e-table-group.h, e-table-item.c, e-table-item.h:
	Documented.  Added a "cursor_activated" signal.  Removed some
	unused functions (e_table_group_get_count and
	e_table_group_get_ecol).

	* e-table-selection-model.c, e-table-selection-model.h: Added a
	"cursor_activated" signal.  Call it when the user changes the
	selection to match the cursor.

	* e-table.c, e-table.h: Added a "cursor_activated" signal.  Fixed
	the e_table_compute_location function to take into account the
	scrolled position.

svn path=/trunk/; revision=7808
2001-01-25 14:48:39 +00:00
640883f04d Add column and GdkEvent * parameters to the double click signal.
2000-12-07  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-group-container.c, e-table-group-leaf.c,
	e-table-group.c, e-table-group.h, e-table-item.c, e-table.c,
	e-table.h: Add column and GdkEvent * parameters to the double
	click signal.

	* e-table-header-item: Unref the ETableFullHeader when we're done
	with it.

	* e-table-scrolled.c, e-table-scrolled.h: Remove all of the
	proxies and add a function e_table_scrolled_get_table and a gtk
	argument "table".

svn path=/trunk/; revision=6850
2000-12-07 23:28:30 +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
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
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
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
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
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
a3de274f7c Moved files, fixed header files and paths - Federico
svn path=/trunk/; revision=5513
2000-09-19 22:57:58 +00:00
8c99725b91 Fixed e-table #includes so that it would compile.
svn path=/trunk/; revision=5482
2000-09-17 20:29:14 +00:00
5e1949f935 Added a click signal which gets sent if the user hits the left or middle
2000-08-24  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-group-container.c, e-table-group-leaf.c,
	e-table-group.c, e-table-group.h, e-table-item.c, e-table-item.h,
	e-table.c, e-table.h: Added a click signal which gets sent if the
	user hits the left or middle mouse button on a cell.

svn path=/trunk/; revision=5020
2000-08-24 21:13:17 +00:00
c115cff69d Added functions to convert from view row to model row or from model row to
2000-08-05  Christopher James Lahey  <clahey@helixcode.com>

	* e-table.c, e-table.h: Added functions to convert from view row
	to model row or from model row to view row.  Also changed
	e_table_set_cursor_row and e_table_get_cursor_row to take a model
	row as this works better with the rest of the model.  Changed the
	name of e_table_get_next_row_sorted and
	e_table_get_prev_row_sorted.  (Dropped the _sorted.)

svn path=/trunk/; revision=4556
2000-08-05 23:00:41 +00:00
9346032727 Added a function to get the next row with sorting taken into account.
2000-08-05  Christopher James Lahey  <clahey@helixcode.com>

	* e-table.c: Added a function to get the next row with sorting
	taken into account.

svn path=/trunk/; revision=4549
2000-08-05 13:21:39 +00:00
78adc934b0 Made selection ranges work even if the table is sorted.
2000-08-05  Christopher James Lahey  <clahey@helixcode.com>

	* Makefile.am, e-table-selection-model.c,
	e-table-selection-model.h, e-table.c, e-table.h: Made selection
	ranges work even if the table is sorted.

	* e-table-sorter.c, e-table-sorter.h: New files to help with
	making selection ranges work even if sorted.

svn path=/trunk/; revision=4546
2000-08-05 12:38:24 +00:00
5e58fb6edb Built code to have autodrags only work from within the table and to report
2000-08-04  Christopher James Lahey  <clahey@helixcode.com>

	* e-table.c, e-table.h: Built code to have autodrags only work
	from within the table and to report the row dragged from
	automatically.

svn path=/trunk/; revision=4542
2000-08-05 01:55:01 +00:00
5e3f91d87b Fixed a reference.
2000-07-26  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-click-to-add.c: Fixed a reference.

	* e-table-selection-model.c, e-table-selection-model.h: Added a
	clear function.

	* e-table.c, e-table.h: Made going from click to add to the main
	table and back work better.

svn path=/trunk/; revision=4373
2000-07-27 01:36:20 +00:00
32c3d29bbc Added "table_selection_model" argument. Removed foreach function and
2000-07-26  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-group-container.c, e-table-group-container.h,
	e-table-group-leaf.c, e-table-group-leaf.h: Added "table_selection_model"
	argument.  Removed foreach function and selection notification.

	* e-table-group.c, e-table-group.h: Removed foreach function and
	selection notification.

	* e-table-header.c: Fixed header width calculation to include the
	last column.

	* e-table-item.c, e-table-item.h: Fixed this to use the new
	selection model.

	* e-table-scrolled.c, e-table-scrolled.h: Removed selection
	notification.

	* e-table-selection-model.c, e-table-selection-model.h: Finished
	notification signals and fixed a bunch of bit manipulations.
	Implemented do_something method.

	* e-table.c, e-table.h: Create an ETableSelectionModel and use it
	properly.

svn path=/trunk/; revision=4363
2000-07-26 20:33:39 +00:00
20e7e5d650 Replaced get_selection_list with foreach.
2000-07-25  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-selection-model.c, e-table-selection-model.h: Replaced
	get_selection_list with foreach.

	* e-table.h: Add a ETableSelectionModel.

svn path=/trunk/; revision=4334
2000-07-25 21:56:06 +00:00
384b3e38f2 New files for doing a selection model. Not finished yet and thus not in
2000-07-25  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-selection-model.c, e-table-selection-model.h: New files
	for doing a selection model.  Not finished yet and thus not in
	Makefile.am.

	* e-table.c, e-table.h: Renamed the new dnd signals so that they
	won't conflict with the widget signals.

svn path=/trunk/; revision=4326
2000-07-25 20:05:29 +00:00
126807f8aa Implemented some of the drag & drop code. Drops all report as being on row
2000-07-25  Christopher James Lahey  <clahey@helixcode.com>

	* e-table.c, e-table.h: Implemented some of the drag & drop code.
	Drops all report as being on row 0, col 0.  Also, automatic drags
	don't set the row and column being dragged from.

svn path=/trunk/; revision=4312
2000-07-25 08:20:21 +00:00
161076affa Added some unused declarations for drag and drop work.
2000-07-21  Christopher James Lahey  <clahey@helixcode.com>

	* e-table.h: Added some unused declarations for drag and drop
	work.

svn path=/trunk/; revision=4267
2000-07-21 20:48:43 +00:00
23ca256b7d Add e-table-scrolled.c and e-table-scrolled.h.
2000-07-09  Christopher James Lahey  <clahey@helixcode.com>

	* Makefile.am: Add e-table-scrolled.c and e-table-scrolled.h.

	* e-table-item.c: Make sure that find_cell returns FALSE if the
	item doesn't have any cells.

	* e-table-scrolled.c, e-table-scrolled.h: Added a widget to
	contain an ETable and provide scrollbars (for ease of use.)

	* e-table.c, e-table.h: Make this support the scrollable interface
	and not contain its own scrollbars.

svn path=/trunk/; revision=4031
2000-07-10 11:04:18 +00:00
3649d5dc6d From mail:
2000-06-29  Christopher James Lahey  <clahey@helixcode.com>

	* message-list.c, mail-ops.c: Changed the name of
	e_table_select_row to e_table_set_cursor_row.

From widgets/e-table:

2000-06-29  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-click-to-add.c: Made this appear a bit better.

	* e-table-defines.h: Cleaned this up a bit, added
	ETableForeachFunc.

	* e-table-group-container.c, e-table-group-leaf.c,
	e-table-group.c, e-table-group.h, e-table-item.c, e-table-item.h,
	e-table.c, e-table.h: Changed e_table_select_row to
	e_table_set_cursor_row.  Changed e_table_get_selected_view_row to
	e_table_get_cursor_row.  Added e_table_selected_row_foreach.

	* e-table-header-item.c: Fixed some warnings.

	* e-table-sorted-variable.c: Removed some unneeded debugging print
	statments.

	* e-tree-example-1.c: Changed e_table_get_selected_view_row to
	e_table_get_cursor_row.

svn path=/trunk/; revision=3799
2000-06-29 19:22:24 +00:00
e4de45da5f Calculate height including if clip_height is set to -1.
2000-06-26  Christopher James Lahey  <clahey@helixcode.com>

	* widgets/e-text/e-text.c: Calculate height including if
	clip_height is set to -1.

From addressbook/ChangeLog:

2000-06-26  Christopher James Lahey  <clahey@helixcode.com>

	* contact-editor/e-contact-editor-categories.c,
	addressbook/gui/component/e-cardlist-model.c: Added
	value_to_string handlers.

	* demo/addressbook-widget.c, demo/demo.c: Removed usage of "x" and
	"y" arguments.

	* addressbook/gui/component/addressbook.c: Activated Click To Add
	and set the click to add message.

	* addressbook/gui/component/e-addressbook-model.c: Added
	value_to_string and append_row handlers.

	* addressbook/gui/component/e-select-names.c: Added a column.

From calendar/ChangeLog:

2000-06-26  Christopher James Lahey  <clahey@helixcode.com>

	* gui/calendar-model.c: Added an #ifdefed value_to_string handler
	assignment.

From camel/ChangeLog:

2000-06-26  Christopher James Lahey  <clahey@helixcode.com>

	* providers/mbox/camel-mbox-summary.c: Added debugging
	information.

From composer/ChangeLog:

2000-06-26  Christopher James Lahey  <clahey@helixcode.com>

	* Makefile.am: Added e-msg-composer-select-file.h for make
	distcheck.

From e-util/ChangeLog:

2000-06-26  Christopher James Lahey  <clahey@helixcode.com>

	* Makefile.am: Added e-canvas-vbox.c and e-canvas-vbox.h.

	* e-canvas-vbox.c, e-canvas-vbox.h: New canvas object to act like
	a vbox using the reflow system.

From mail/ChangeLog:

2000-06-26  Christopher James Lahey  <clahey@helixcode.com>

	* message-list.c: Added a value_to_string handler.

From shell/ChangeLog:

2000-06-26  Christopher James Lahey  <clahey@helixcode.com>

	* glade/Makefile.am: Added EXTRA_DIST for make distcheck.

From widgets/e-table/ChangeLog:

2000-06-26  Christopher James Lahey  <clahey@helixcode.com>

	* Makefile.am: Added e-table-click-to-add.c,
	e-table-click-to-add.h, e-table-one.c, and e-table-one.h.

	* e-table-click-to-add.c, e-table-click-to-add.h: A new canvas
	item that represents a single row that sometimes exists.  It's for
	adding new rows to your table.

	* e-table-example-1.c, e-table-example-2.c, e-table-size-test.c,
	test-check.c, test-cols.c, test-table.c: Added value_to_string handlers.

	* e-table-group-container.c: Use value_to_string to make grouping
	not crash for non string columns.  Made some changes to work
	properly in an ECanvasVbox.

	* e-table-group-leaf.c, e-table-item.c: Made some changes to work
	properly in an ECanvasVbox.

	* e-table-model.c, e-table-model.h: Added append_row and
	value_to_string methods.

	* e-table-one.c, e-table-one.h: Given a source ETableModel, this
	provides a single row model that uses the initialize_value,
	duplicate_value, free_value, and value_is_empty methods of the
	original source to implement set_value and value_at (and proxies
	most of the other methods.)  This is used for ETableClickToAdd.

	* e-table-simple.c, e-table-simple.h: Added append_row and
	value_to_string handlers.  append_row uses a GtkArg instead of a
	parameter to e_table_simple_new.

	* e-table-subset.c: Added append_row and value_to_string handlers.

	* e-table.c, e-table.h: Use a vbox containing an ETableClickToAdd
	and an ETableItem instead of an ETableItem directly.  Only show
	the ETableClickToAdd if the top level of the xml SPEC has the
	attribute click-to-add set to some non-zero integer.
	(click-to-add="1").  Add a "click_to_add_message" argument.

	* e-tree-model.c: Add a commented out value_to_string handler.

From widgets/meeting-time-sel/ChangeLog:

2000-06-26  Christopher James Lahey  <clahey@helixcode.com>

	* Makefile.am: Added the include path to top_srcdir.

svn path=/trunk/; revision=3744
2000-06-27 00:51:06 +00:00
bdef37bda3 Moved the reflow signal handling into an idle handler to fix a bug when
2000-06-16  Christopher James Lahey  <clahey@helixcode.com>

	* e-table.c, e-table.h: Moved the reflow signal handling into an
	idle handler to fix a bug when resizing twice in succession.

svn path=/trunk/; revision=3588
2000-06-16 05:39:06 +00:00
c57de49bb5 Added $(GNOME_PRINT_LIBS) to all of the LDADDs.
2000-06-10  Christopher James Lahey  <clahey@helixcode.com>

	* Makefile.am: Added $(GNOME_PRINT_LIBS) to all of the LDADDs.

	* e-cell-text.c: Added printing of text cells.

	* e-cell.c, e-cell.h: Added print and print_height methods.

	* e-table-field-chooser.glade: Added a minimum size.

	* e-table-group-container.c: Fixed a rectangle sizing bug.

	* e-table-group-leaf.c: Implemented get_printable.

	* e-table-group.c, e-table-group.h: Added a get_printable method
	to return an EPrintable.

	* e-table-item.c, e-table-item.h: Added a get_printable function
	to return an EPrintable.

	* e-table.c, e-table.h: Added a get_printable function to return
	an EPrintable.

svn path=/trunk/; revision=3511
2000-06-10 21:16:45 +00:00
06978bc736 Added a right click signal.
2000-06-06  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-group-container.c, e-table-group-leaf.c,
	e-table-group.c, e-table-group.h, e-table-item.c, e-table-item.h,
	e-table.c, e-table.h: Added a right click signal.

	* e-table-sorted-variable.c: Fixed a buffer overrun.

svn path=/trunk/; revision=3437
2000-06-06 05:50:12 +00:00
f9b79bb0f6 Added a "key_press" signal.
2000-06-01  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-group-container.c, e-table-group-leaf.c,
	e-table-group.c, e-table-group.h, e-table-item.c, e-table-item.h,
	e-table.c, e-table.h: Added a "key_press" signal.

svn path=/trunk/; revision=3366
2000-06-02 02:57:39 +00:00
0a898d1c96 Added e_table_get_selected_view_row.
2000-06-01  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-group-container.c, e-table-group-leaf.c,
	e-table-group.c, e-table-group.h, e-table-item.c, e-table.c,
	e-table.h: Added e_table_get_selected_view_row.

svn path=/trunk/; revision=3351
2000-06-02 00:18:00 +00:00
a076f5b58f Fixed a bunch of selection bugs. Removed "spreadsheet" argument (for now.)
2000-05-30  Christopher James Lahey  <clahey@helixcode.com>

	* 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-item.c, e-table-item.h, e-table.c,
	e-table.h, test-check.c, test-cols.c, test-table.c: Fixed a bunch
	of selection bugs.  Removed "spreadsheet" argument (for now.)
	Added "cursor_mode" argument.  Added "cursor_change" signal.
	Temporarily removed "selection_mode" argument.

svn path=/trunk/; revision=3277
2000-05-30 13:19:32 +00:00
f91435fc0c Added double click handling.
2000-05-28  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-group-container.c, e-table-group-leaf.c,
	e-table-group.c, e-table-group.h, e-table-item.c, e-table-item.h,
	e-table.c, e-table.h: Added double click handling.

svn path=/trunk/; revision=3238
2000-05-28 04:25:22 +00:00
628ca43584 Made "drawgrid", "drawfocus", "spreadsheet", and "length_threshold"
2000-05-26  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-group-container.c, e-table-group-container.h,
	e-table-group-leaf.c, e-table-group-leaf.h, e-table.c, e-table.h:
	Made "drawgrid", "drawfocus", "spreadsheet", and
	"length_threshold" arguments set from the ETable effect all the
	end ETableItems.

	* e-table-header.c: Made column resize a bit less bumpy.

svn path=/trunk/; revision=3223
2000-05-26 20:38:49 +00:00
56f9196ac4 Handle row_inserted and row_deleted signals properly.
2000-05-07  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-item.c, e-table-item.h, e-table.c, e-table.h: Handle
	row_inserted and row_deleted signals properly.

	* e-table-model.c, e-table-model.h: Created the row_inserted and
	row_deleted signals.

	* e-table-sorted-variable.c, e-table-subset-variable.c: Emit the
	row_inserted and row_deleted signals as appropriate.

svn path=/trunk/; revision=2879
2000-05-07 20:49:02 +00:00