Commit Graph

52 Commits

Author SHA1 Message Date
b9b2089527 deal with ESelectionModel no longer deriving from GtkObject.
2002-11-14  Chris Toshok  <toshok@ximian.com>

	* e-table-item.c: deal with ESelectionModel no longer deriving
	from GtkObject.

	* e-table.c: same.

	* e-tree.c: same.

	* e-table-config.c (do_fields_config_dialog): use GtkDialog's
	reponse instead of GnomeDialog's button.

	* e-table-click-to-add.[ch]: GObjectify this.

	* e-table-selection-model.[ch]: this derives from GObject now.

	* e-tree-selection-model.[ch]: same.

svn path=/trunk/; revision=18773
2002-11-15 02:22:00 +00:00
9b97a17eb7 GObjectify GObjectify GObjectify use GObject api for models use GObject
2002-11-05  Mike Kestner  <mkestner@ximian.com>

	* e-table-col.[ch] : GObjectify
	* e-table-column-specification.[ch] : GObjectify
	* e-table-config.[ch] : GObjectify
	* e-table-group-leaf.c : use GObject api for models
	* e-table-group.c : use GObject api for models
	* e-table-header-item.c : use GObject api for models
	* e-table-header.c : use GObject api for models
	* e-table-selection-model.c : use GObject api for models
	* e-table-sort-info.[ch] : GObjectify
	* e-table-sorted.[ch] : GObjectify
	* e-table-sorter.c : use GObject api for models
	* e-table-specification.c : use GObject api for models
	* e-table-state.[ch] : GObjectify
	* e-table-subset-variable.[ch] : GObjectify
	* e-table-subset.[ch] : GObjectify
	* e-table.c : use GObject api for models

svn path=/trunk/; revision=18571
2002-11-05 22:53:40 +00:00
613453b109 merging the gal-2 branch back to the trunk.
merging the gal-2 branch back to the trunk.

svn path=/trunk/; revision=18471
2002-10-31 21:30:57 +00:00
b036c8392d Ansification patch from danw.
2002-04-25  Christopher James Lahey  <clahey@ximian.com>

	* e-cell-checkbox.c, e-cell-combo.c, e-cell-date.c,
	e-cell-float.c, e-cell-number.c, e-cell-pixbuf.c, e-cell-popup.c,
	e-cell-size.c, e-cell-spin-button.c, e-cell-text.c,
	e-cell-toggle.c, e-cell-tree.c, e-cell.c, e-cell.h,
	e-table-click-to-add.c, e-table-col.c,
	e-table-column-specification.c, e-table-config-field.c,
	e-table-config.c, e-table-extras.c,
	e-table-field-chooser-dialog.c, e-table-field-chooser-item.c,
	e-table-field-chooser.c, e-table-group-container.c,
	e-table-group-leaf.c, e-table-group.c, e-table-header-item.c,
	e-table-header.c, e-table-item.c, e-table-memory-callbacks.c,
	e-table-model.c, e-table-scrolled.c, e-table-selection-model.c,
	e-table-sort-info.c, e-table-sorted-variable.c, e-table-sorted.c,
	e-table-sorter.c, e-table-specification.c, e-table-state.c,
	e-table-subset-variable.c, e-table-subset.c, e-table-without.c,
	e-table.c, e-table.h, e-tree-scrolled.c, e-tree-selection-model.c,
	e-tree-sorted-variable.c, e-tree-sorted.c, e-tree-table-adapter.c,
	e-tree.c: Ansification patch from danw.

svn path=/trunk/; revision=16586
2002-04-25 19:56:41 +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
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
c5f392ca0e add E_OBJECT_CLASS_ADD_SIGNALS and E_OBJECT_CLASS_TYPE to ease migration
2001-10-05  Michael Meeks  <michael@ximian.com>

	* gal/util/e-util.h: add E_OBJECT_CLASS_ADD_SIGNALS and
	E_OBJECT_CLASS_TYPE to ease migration to Gnome 2.0 from
	a single source base.

	* All C files:
	s/object_class->type,/E_OBJECT_CLASS_TYPE (object_class),/g;
	s/gtk_object_class_add_signals([^\(]*)\(([^,]*),([^,]*),([^\)]*)/
	E_OBJECT_CLASS_ADD_SIGNALS\1(\2,\3,\4/;

svn path=/trunk/; revision=13428
2001-10-04 23:52:20 +00:00
c228df2b30 Initialize the hash field. (model_changed_idle): Send cursor changed and
2001-10-03  Christopher James Lahey  <clahey@ximian.com>

	* e-table-selection-model.c (e_table_selection_model_init):
	Initialize the hash field.
	(model_changed_idle): Send cursor changed and selection changed signals.
	(model_pre_change): If there's no cursor here, make sure to set
	the cursor_id to NULL.

svn path=/trunk/; revision=13373
2001-10-03 15:03:05 +00:00
cde9b85e6b Confirm row count here. (etsm_get_row_count): Make sure etsm->model isn't
2001-09-19  Christopher James Lahey  <clahey@ximian.com>

	* e-table-selection-model.c (add_model): Confirm row count here.
	(etsm_get_row_count): Make sure etsm->model isn't NULL here.
	If it is, it's not an error.  Return 0 in this case.

svn path=/trunk/; revision=12993
2001-09-19 22:10:43 +00:00
a513a5f502 Bumped version number to 0.11.99.4.
2001-09-16  Christopher James Lahey  <clahey@ximian.com>

	* configure.in: Bumped version number to 0.11.99.4.

	* gal/e-text/e-completion-view.c (e_completion_view_construct),
	tests/test-table-1.c (create_table): Changed the parameters to
	e_table_simple_new here to adjust to changes in the interface.

	* gal/widgets/e-categories-master-list-array.c (ecmla_default):
	Fixed a memory leak here.

	* gal/widgets/e-categories.c (e_categories_get_save_id): Added
	get_save_id here so that selection would be maintained across
	changes.

From gal/e-table/ChangeLog:

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

	* e-table-model.c, e-table-model.h (e_table_model_class_init):
	Rearranged order of has_save_id and get_save_id to be more
	consistent with ETree.

	* e-table-selection-model.c, e-table-selection-model.h: Turned on
	the code to maintain selection and cursor across changes if the
	model supports get_save_id.

	* e-table-simple.c, e-table-simple.h: Changed this interface to
	take all of the ETableModel functions in the _new function.

	* e-table-subset.c (etss_has_save_id, etss_get_save_id): Added
	these to properly proxy the save_id functionality.

	* e-tree-memory-callbacks.c, e-tree-memory-callbacks.h,
	e-tree-model.c, e-tree-model.h, e-tree-sorted.c: Made the save_id
	parameter to get_node_by_id be const char * instead of char *.

	* e-tree-table-adapter.c (etta_class_init): Rearranged some
	assignments here to be more consistent.

svn path=/trunk/; revision=12869
2001-09-17 03:57: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
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
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
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
3080e47960 Made it so that if you set the row or col to something not equal to -1, it
2001-02-15  Christopher James Lahey  <clahey@ximian.com>

	* e-table-selection-model.c
	(e_table_selection_model_do_something): Made it so that if you set
	the row or col to something not equal to -1, it makes sure that
	the other one is also not equal to -1.

svn path=/trunk/; revision=8240
2001-02-15 09:34:46 +00:00
199ae6dbbb Fix selection so that changing a model row equal to 31 mod 32 works.
2001-02-11  Christopher James Lahey  <clahey@ximian.com>

	* e-table-selection-model.c (change_one_row): Fix selection so
	that changing a model row equal to 31 mod 32 works.

svn path=/trunk/; revision=8170
2001-02-11 05:54:56 +00:00
a58c2446e7 Dont overwrite the end of our bitmap array.
2001-02-02  Not Zed  <NotZed@Ximian.com>

        * e-table-selection-model.c (model_row_deleted): Dont overwrite
        the end of our bitmap array.

svn path=/trunk/; revision=7944
2001-02-02 04:06:40 +00:00
a7a767287f Make home and end keys move to the beginning and end of the row if cursor
2001-01-27  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-item.c (eti_event): Make home and end keys move to the
	beginning and end of the row if cursor mode is set to
	E_TABLE_CURSOR_SIMPLE.  Otherwise have %ETableSelectionModel
	handle them.

	* e-table-selection-model.c, e-table-selection-model.h: Added a
	"cursor_mode" argument.
	(e_table_selection_model_key_press): Made home and end keys move
	the beginning and end of the table if cursor_mode is
	E_TABLE_CURSOR_MODE_LINE.

	* e-table.c: Set the cursor-mode argument of our
	%ETableSelectionModel.

svn path=/trunk/; revision=7864
2001-01-27 22:21:10 +00:00
593f0036f8 Made this correctly check for going off the end of the table.
2001-01-25  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-selection-model.c (move_selection): Made this correctly
	check for going off the end of the table.

svn path=/trunk/; revision=7817
2001-01-25 19:10:57 +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
4404cde3fc Made the cursor move when rows are inserted or deleted. If in single mode
2001-01-21  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-selection-model.c: Made the cursor move when rows are
	inserted or deleted.  If in single mode and the selected row gets
	removed, move it up.

svn path=/trunk/; revision=7691
2001-01-22 01:48:54 +00:00
7d1cbbaa10 Made this conform to the new prototype for e_popup_menu_run.
2001-01-21  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-header-item.c (ethi_header_context_menu): Made this
	conform to the new prototype for e_popup_menu_run.

	* e-table-item.c, e-table-item.h: Documented.
	(e_table_item_is_row_selected): Removed this function.
	(eti_draw): Changed this so that if the ETableItem is in
	cursor-mode="row", the cursor is draw all the way across the row.
	(eti_cursor_move_up, eti_cursor_move_down): Commented these out
	since they're no longer used.
	(_do_tooltip, eti_event): Commented out tooltips.
	(eti_event): Made it so that we call the key_press function in the
	%ETableSelectionModel on each key press.

	* e-table-selection-model.c, e-table-selection-model.h:
	Documented.  Added a function e_table_selection_model_key_press
	that does whatever behavior is correct for the user having pressed
	the given key.  Changed the behavior of this to better match
	windows (use selection-mode="browse").

	* e-table-specification.c, e-table-specification.h: Added a
	draw_focus variable.

	* e-table.c: Decide whether to draw the focus based on the
	ETableSpecification.  Removed the argument for setting whether to
	draw the focus.

svn path=/trunk/; revision=7673
2001-01-21 05:46:49 +00:00
ac063e3d36 Rename from Helix Code -> Ximian
svn path=/trunk/; revision=7520
2001-01-15 23:32:09 +00:00
e779159c4b New function. Tells whether a key should begin editing. (ect_event,
2001-01-12  Miguel de Icaza  <miguel@ximian.com>

	* e-cell-text.c (key_begins_editing): New function.  Tells whether
	a key should begin editing.
	(ect_event, GDK_KEY_PRESS/RELEASE): check whether we should start
	editing.

svn path=/trunk/; revision=7445
2001-01-12 08:16:35 +00:00
36c2e49513 Added selection_mode argument.
2001-01-11  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-selection-model.c, e-table-selection-model.h: Added
	selection_mode argument.

	* e-table-specification.c, e-table-specification.h: Added a
	selection_mode field that is set based on the selection-mode
	attribute in the ETableSpecification element.

	* e-table.c (et_real_construct): Set the selection model's
	selection mode based on the ETableSpecification.

svn path=/trunk/; revision=7427
2001-01-12 03:57:32 +00:00
b7efb0befa need to zero out the bits corresponding to the rows not selected in the
2000-12-04  Chris Toshok  <toshok@helixcode.com>

	* e-table-selection-model.c (e_table_selection_model_select_all):
	need to zero out the bits corresponding to the rows not selected
	in the last full 32 bit mask.  This fixes a crash in the subscribe
	UI (or potentially anywhere that uses
	selection_model_select_all/selection_model_foreach.)

svn path=/trunk/; revision=6770
2000-12-04 09:59:31 +00:00
e18070f31c Made it compile again.
svn path=/trunk/; revision=6376
2000-11-03 21:00:47 +00:00
f2b590b943 Turned on proper handling of insert and delete.
2000-11-03  Christopher James Lahey  <clahey@helixcode.com>

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

svn path=/trunk/; revision=6375
2000-11-03 20:56:53 +00:00
af89b25190 Emit the selection/cursor "changed" signals.
2000-10-04  Jeffrey Stedfast  <fejj@helixcode.com>

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

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

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

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

svn path=/trunk/; revision=5719
2000-10-04 21:40:08 +00:00
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
c4982eded3 Made the selection work when shift clicking on the first row of the table.
2000-08-31  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-selection-model.c: Made the selection work when shift
	clicking on the first row of the table.

svn path=/trunk/; revision=5139
2000-08-31 13:45:02 +00:00
aa9505c5ae Check for selection->selection being NULL in
2000-08-24  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-selection-model.c: Check for selection->selection being
	NULL in e_table_selection_model_selected_count.

svn path=/trunk/; revision=5025
2000-08-24 22:03:48 +00:00
475a5d499c Added e_table_selection_model_selected_count.
2000-08-20  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-selection-model.c: Added
	e_table_selection_model_selected_count.

svn path=/trunk/; revision=4893
2000-08-20 23:18:45 +00:00
62ca9f5fd7 Make right click select if the current row is not selected.
2000-08-09  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-item.c, e-table-selection-model.c,
	e-table-selection-model.h: Make right click select if the current
	row is not selected.

svn path=/trunk/; revision=4658
2000-08-09 19:40:04 +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
660a75cc99 Made drag events calculate a row and column and signal that information.
2000-08-04  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:
	Made drag events calculate a row and column and signal that
	information.

	* e-table-selection-model.c, e-table-selection-model.h: Changed
	do_something to take a GdkModifierType.

svn path=/trunk/; revision=4529
2000-08-04 14:14:44 +00:00
46f952b2a5 Added a comment.
2000-07-27  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-selection-model.c: Added a comment.

svn path=/trunk/; revision=4387
2000-07-27 15:34:58 +00:00
a25046c091 Fixed shift click selections.
2000-07-27  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-selection-model.c: Fixed shift click selections.

svn path=/trunk/; revision=4386
2000-07-27 15:27:06 +00:00
5f04bddb8e Allocate correctly in the insert method.
2000-07-27  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-selection-model.c: Allocate correctly in the insert method.

	* e-table-click-to-add.c: Removed the line that was causing this
	to do bad things.

svn path=/trunk/; revision=4385
2000-07-27 15:07:47 +00:00
9d1dafcffb Clear the selection model when activating.
2000-07-27  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-click-to-add.c: Clear the selection model when
	activating.

	* e-table-item.c: Fixed a bunch of model column vs. view column
	issues.

	* e-table-selection-model.c: Set the cursor to -1, -1 and emi a
	"cursor_changed" signal.

svn path=/trunk/; revision=4380
2000-07-27 08:44:20 +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
0adf2e8584 Fixed the model/view row confusion.
2000-07-26  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-item.c: Fixed the model/view row confusion.

	* e-table-selection-model.c: Changed one expression to use a
	#define properly.

svn path=/trunk/; revision=4371
2000-07-26 23:01:48 +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
6602e01493 Made foreach call the callback in top to bottom order.
2000-07-25  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-selection-model.c: Made foreach call the callback in top
	to bottom order.

svn path=/trunk/; revision=4335
2000-07-25 21:59:29 +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
d6c66f72e7 Added e-table-selection-model.c and e-table-selection-model.h.
2000-07-25  Christopher James Lahey  <clahey@helixcode.com>

	* Makefile.am: Added e-table-selection-model.c and
	e-table-selection-model.h.

	* e-table-selection-model.c: Added the get_selection_list and
	is_row_selected functions.  Removed some unused code.

	* e-table-selection-model.h: Removed some unused code.

svn path=/trunk/; revision=4331
2000-07-25 21:30:25 +00:00
120687c8a8 Added comments to the bit field code.
2000-07-25  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-selection-model.c: Added comments to the bit field code.

	* e-table-selection-model.h: Made the selection data guint32s.

svn path=/trunk/; revision=4329
2000-07-25 20:55:07 +00:00
cbaec94596 More fixes.
2000-07-25  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-selection-model.c: More fixes.

svn path=/trunk/; revision=4328
2000-07-25 20:46:49 +00:00