Commit Graph

39 Commits

Author SHA1 Message Date
f8172191ad use GObject api for models GObjectify GObjectify GObjectify GObjectify
2002-11-05  Mike Kestner  <mkestner@ximian.com>

	* e-table-item.c : use GObject api for models
	* e-table-memory-callbacks.[ch] : GObjectify
	* e-table-memory-store.[ch] : GObjectify
	* e-table-memory.[ch] : GObjectify
	* e-table-model.[ch] : GObjectify
	* e-table-one.[ch] : GObjectify
	* e-table-simple.[ch] : GObjectify
	* e-tree-memory.[ch] : GObjectify
	* e-tree-model.[ch] : GObjectify
	* e-tree-selection-model.c : use GObject api for models
	* e-tree-simple.[ch] : GObjectify
	* e-tree-sorted.[ch] : GObjectify
	* e-tree-table-adapter.[ch] : GObjectify
	* e-tree.c : use GObject api for models

svn path=/trunk/; revision=18553
2002-11-05 15:05:25 +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
24f211162b Documented the life cycle requirements of the return value of these
2002-04-26  Christopher James Lahey  <clahey@ximian.com>

	* e-table-model.c (e_table_model_value_at), e-tree-model.c
	(e_tree_model_value_at): Documented the life cycle requirements of
	the return value of these functions.

svn path=/trunk/; revision=16602
2002-04-26 20:33:23 +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
23587bebe8 Added frozen_count variable to know not to show the cursor while a change
2001-10-31  Christopher James Lahey  <clahey@ximian.com>

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

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

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

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

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

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

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

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

svn path=/trunk/; revision=14154
2001-10-26 18:25:47 +00:00
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
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
0f85f30ab1 Upped the version number to 0.6.99.0. Upped the so number to 6.
2001-04-12  Christopher James Lahey  <clahey@ximian.com>

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

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

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

From gal/e-table/ChangeLog:

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

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

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

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

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

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

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

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

svn path=/trunk/; revision=9289
2001-04-13 00:40:49 +00:00
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
baffaa5769 Step 2
svn path=/trunk/; revision=7521
2001-01-15 23:33:00 +00:00
ac063e3d36 Rename from Helix Code -> Ximian
svn path=/trunk/; revision=7520
2001-01-15 23:32:09 +00:00
e68b48fb6e Work to get a Gtk-Doc infrastructure in place for Gal.
Work to get a Gtk-Doc infrastructure in place for Gal.

Miguel.

svn path=/trunk/; revision=6883
2000-12-09 02:18:00 +00:00
0c3908d771 inline documentation added.
2000-11-24  Miguel de Icaza  <miguel@helixcode.com>

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

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

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

svn path=/trunk/; revision=6664
2000-11-25 04:25:01 +00:00
58eba683f8 Changed to take into account the sort group, if the table has one.x
2000-10-04  Not Zed  <NotZed@HelixCode.com>

        * e-table-sorted-variable.c (etsv_add): Changed to take into
        account the sort group, if the table has one.x
        (etsv_insert_idle): Clear the insert count if we hit an idle loop.
        (etsv_sort_idle): Reset the insert count if we perform a sort.
        (etsv_add): If we are adding a lot (>ETSV_INSERT_MAX) items,
        without hitting an idle loop, assume we're better off performing a
        sort instead.  Use another idle handler to reset the count.

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

        * e-table-sorted-variable.c (etsv_sort_by_group): Sort based on
        the sort_group stuff.

        * e-tree-model.c (e_tree_init): Setup the group sort info string.
        (etree_destroy): And free it.
        (build_sort_group): Build a string for this node.

2000-09-29  Not Zed  <NotZed@HelixCode.com>

        * e-cell-tree.c (e_cell_tree_get_node): Changed to take the source
        model, not the tree model.  The source model may be a subset, and
        it needs to remap the rows for us.
        (ect_draw):
        (ect_event):
        (ect_max_width):
        (ect_print): Changed callers.

        * e-table-sorted-variable.c (etsv_sort_subset):
        (etsv_sort_build_subset):
        (etsv_sort_free_subset): Functions to perfom grouping of sorts for
        sorts that have row_sort_group returning useful info.
        (etsv_sort): Use the complex sort routines if we need to.

        * e-table-model.c (e_table_model_row_sort_group): Return a sort-id
        for a given row.
        (e_table_model_has_sort_group): Return if the sort-id provides any
        useful information.

svn path=/trunk/; revision=5705
2000-10-04 15:51:35 +00:00
862d1f25de Made background colors alternate.
2000-08-19  Christopher James Lahey  <clahey@helixcode.com>

	* e-cell-text.c: Made background colors alternate.

	* e-table-click-to-add.c: Made tabbing off the right edge of the
	click to add commit the new values.

	* e-table-group-container.c, e-table-group-leaf.c,
	e-table-group.c, e-table-group.h, e-table-sorted-variable.c,
	e-table-subset-variable.c, e-table-subset-variable.h: Added a
	decrement method.  Made the add and remove methods not
	automatically increment and decrement.

	* e-table-item.c: Fixed some view vs model issues for both rows
	and columns.

	* e-table-model.c: Added debugging code.  Removed automatic
	signalling of changes by the ETableModel set_value_at function
	(the model should send these signals itself.)

	* e-table.c: Added increment and decrement calls when a row is
	removed or added from the source model.

svn path=/trunk/; revision=4881
2000-08-19 23:32:50 +00:00
5fbcc4828e Add a handler for "model_pre_change" and properly stop editing.
2000-08-02  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-item.c, e-table-item.h: Add a handler for
	"model_pre_change" and properly stop editing.

	* e-table-model.c, e-table-model.h: Added a "model_pre_change"
	signal that gets sent before any row numbers are changed.

	* e-table-sorted-variable.c, e-table-subset-variable.c: Emit
	"model_pre_change" signals as appropriate.

	* e-table-subset.c, e-table-subset.h: Proxy "model_pre_changed"
	signals.

svn path=/trunk/; revision=4472
2000-08-02 16:56:26 +00:00
2e8ac028ee Changed the API for the append_row function. Now accepts a model to copy
2000-08-02  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-model.c, e-table-model.h: Changed the API for the
	append_row function.  Now accepts a model to copy data from
	instead of returning a row number and leaving it up to ETableOne
	to copy the data in.

	* e-table-one.c, e-table-one.h: Adapted to use new append_row API.

	* e-table-simple.c, e-table-simple.h, e-table-subset.c: Adapted to
	supply new append_row API.

svn path=/trunk/; revision=4468
2000-08-02 10:44:28 +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
9de25e88aa Removed the freeze/thaw stuff for the model. As Chris wisely pointed out,
2000-06-12  Federico Mena Quintero  <federico@helixcode.com>

	* e-table-model.[ch]: Removed the freeze/thaw stuff for the model.
	As Chris wisely pointed out, having freeze/thaw on the model makes
	its state inconsistent from the perspective of the views.

	* e-table-sorted-variable.c: Do not check for a frozen model.
	* e-table-subset.c: Likewise.
	* e-table-subset-variable.c: Likewise.

	* e-table-example-1.c: Removed the ETableModel thaw handler.
	* e-table-example-2.c: Likewise.
	* e-table-simple.c: Likewise.
	* e-table-size-test.c: Likewise.
	* test-check.c: Likewise.
	* test-cols.c: Likewise.
	* test-table.c: Likewise.

svn path=/trunk/; revision=3543
2000-06-13 00:41:47 +00:00
86e45230bd Small syntactic changes.
2000-06-11  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-model.c: Small syntactic changes.

	* e-table.c: Moved the table header into the scrolled view.

svn path=/trunk/; revision=3517
2000-06-11 04:08:59 +00:00
46f211579d Added initialize_value and value_is_empty callbacks.
2000-05-19  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-example-1.c, e-table-example-2.c, e-table-simple.c,
	e-table-simple.h, e-table-size-test.c, test-check.c, test-cols.c,
	test-table.c: Added initialize_value and value_is_empty callbacks.

	* e-table-model.c, e-table-model.h: Added initialize_value and
	value_is_callback virtual functions to the ETableModel class.

	* e-table-subset.c: Perpetuate the initialize_value and
	value_is_empty methods.

svn path=/trunk/; revision=3138
2000-05-19 18:47:16 +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
a02608b078 Fix indentation
svn path=/trunk/; revision=2252
2000-03-30 01:35:18 +00:00
3de981ec78 Added support for the sorting info. The Etable creates a sort_info object,
2000-03-05  Christopher James Lahey  <clahey@helixcode.com>

        * e-table.c, e-table.h: Added support for the sorting info.  The
        Etable creates a sort_info object, and then connects to the
        signals to rearrange the rows when the sort_info changes.  It also
        passes the info object to the ETableHeaderItem.

        * e-table-model.c: Fixed a typo where ETableModel was written as
        ETableModle.

        * e-table-header.c, e-table-header.h: Added some code for sorting
        here, but it's not used.  I don't think we want this code, but I
        wanted to check it in at least once so that it's not lost.

        * e-table-header-item.c, e-table-header-item.h: Added a
        "sort_info" argument to ETableHeaderItem.  Added display of
        current sort settings.  Added support for clicking to change the
        sort settings.

        * e-table-col.h: E_TABLE_COL_ARROW_NONE is marked as being = 0
        since this is required in other places.  (I think C defines this
        as being the case, but it's good to have the = 0 there so that
        it's obvious that it has to be first.)

        * TODO: Mark sorting as done.

        * e-table-sort-info.c, e-table-sort-info.h: New files for
        containing the xml grouping/sorting information and for sending
        signals on that information.

        * Makefile.am: Added e-table-sort-info.c and e-table-sort-info.h.

svn path=/trunk/; revision=2060
2000-03-05 23:15:14 +00:00
14bfde56c8 Added duplicate_value and add_value. Use the new compare functions. Made
2000-02-24  Christopher James Lahey  <clahey@helixcode.com>

        * test-table.c: Added duplicate_value and add_value.  Use the new
        compare functions.  Made it so we only create one model to better
        test model view stuff.  Changed the test to not have as many
        extra, useless, columns.

        * test-cols.c, test-check.c: Added duplicate_value and add_value.  Use the new
        compare functions.

        * e-table.c, e-table.h: Use all the new features of e-table-groups
        (sorting and grouping).  Handle on the fly reorganization of
        groups in an idle loop.  Compare functions now are to return -1 if
        the first item is greater, 0 if they are equal, or 1 if the second
        item is greater.

        * e-table-subset.c, e-table-subset.h: Made e-table-subset
        disconnect properly from its signals when it dies.

        * e-table-subset-variable.c, e-table-subset-variable.h:
        Virtualized the add and remove commands so that
        e_table_sorted_variable could override the add command to do sorting.

        * e-table-sorted.c: Fixed this to inherit properly from
        ETableSubset.

        * e-table-simple.h, e-table-simple.c: Added handling of
        duplicate_value and free_value;

        * e-table-model.c, e-table-model.h: Added duplicate_value and
        free_value for memory allocation of table elements outside the
        table.

        * e-table-item.c: Fixed a crashing bug.

        * e-table-group.c: Added sorting.  Fixed destruction to delete the
        right things.

        * e-table-group-leaf.c, e-table-group-leaf.h: Pass column and sort
        order information into the e_table_sorted_variable.  Properly
        destroy things when deleted.

        * e-table-group-container.c, e-table-group-container.h: Properly
        handle the list of subgroups.  Handle proper sorting and grouping
        of subgroups.

        * e-table-sorted-variable.c, e-table-sorted-variable.h: Files to
        do a sorted model that stays sorted as you add and remove rows.

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

svn path=/trunk/; revision=1930
2000-02-25 04:08:59 +00:00
7699b8996a This were moved to widgets/e-text/ a while ago but never removed. They
2000-02-24  Christopher James Lahey  <clahey@helixcode.com>

        * widgets/e-text.c, widgets/e-text.h, e-text-event-processor.c,
        e-text-event-processor.h, e-text-event-processor-emacs-like.c,
        e-text-event-processor-emacs-like.h,
        e-text-event-processor-types.h: This were moved to widgets/e-text/
        a while ago but never removed.  They have now been removed.

        * widgets/e-text/e-text.c, widgets/e-text/e-text.h: Removed some
        warnings from this file.  Made tooltips disappear when you're
        finished with them.

        * widgets/e-minicard/test-reflow.c,
        widgets/e-minicard/test-minicard.c,
        widgets/e-minicard/test-minicard-label.c: Commented out unused
        about_callback functions.

        * widgets/e-minicard/e-reflow.c: Made e-reflow pass an EFocus to
        its e-minicard children.

        * widgets/e-minicard/e-minicard.c: Made e-minicard take and return
        an EFocus for its "has_focus" argument.  This makes shift-tab work properly.

        * widgets/e-minicard/e-minicard-label.c: Made e-minicard-label take and return
        an EFocus for its "has_focus" argument.  Made the font that
        e-minicard-label uses only be allocated once.

        * e-util/e-canvas-utils.h: Fixed the comment at the top and added
        #ifndef __E_CANVAS_UTILS__.

        * e-util/Makefile.am: Added e-xml-utils.c and
        e-xml-utils.h.

        * e-util/e-xml-utils.h, e-util/e-xml-utils.c: Added files for some
        xml utilities.

        * e-util/e-util.h: Added type EFocus which describes which
        direction the focus will be coming from.


in mail:

2000-02-24  Christopher James Lahey  <clahey@helixcode.com>

        * message-list.c: Changed this to not use the "x" and "y"
        arguments to e-table-item.


in widgets/e-table:

2000-02-24  Christopher James Lahey  <clahey@helixcode.com>

        * e-table-subset-variable.c, e-table-subset-variable.h: A new
        model which is a subset, but you can add and remove rows.

        * test-table.c: Added a thaw method for use with the
        e-table-subset (emits model_changed.)  Adapted to the changes to
        e_table_item.  Properly parse headers.  Adapted to the changes to
        e_table, including creating example xml spec data.

        * test-cols.c, test-check.c: Added a thaw method for use with the
        e-table-subset (emits model_changed.)  Adapted to the changes to
        e_table_item.

        * e-table.c, e-table.h: Reworked e-table to use the ETable
        grouping system.  The only difference for the interface is that
        instead of passing in a column_spec and a grouping_spec, you pass
        in a single string that is an xml format that includes both pieces
        of information.

        * e-table-subset.h: Added rules for emacs to do correct
        indentation.

        * e-table-subset.c: Implemented freezing.  No signals are emitted
        while frozen and "model_changed" is emitted when thawed.

        * e-table-sorted.h: ETableSortedClass has ETableSubset as its
        parent object instead of ETableSubsetClass.  Fixed this.

        * e-table-simple.c, e-table-simple.h: Implemented the thaw method.
        Use of simple now requires an extra argument (the thaw method.)

        * e-table-model.h, e-table-model.c: Added e_table_model_freeze and
        e_table_model_thaw.

        * e-table-item.h, e-table-item.c: Reworked this a bit to make it
        provide some things the new group system needed and to make
        inter-item keyboard focus work.  Changed the external interface
        only in the list of arguments it recognizes and signals it emits.
        Instead of "x" and "y", you have to use
        e_canvas_item_move_absolute and instead of emitting a
        "height_changed" signal, it emits a "resize" signal.  There's new
        "has_focus", "width", and "height" arguments and a function to get
        the currently focused column.

        * e-table-header-item.c: Got rid of some warnings here.  Changed
        the

        * e-table-group-leaf.h, e-table-group-leaf.c,
        e-table-group-container.h, e-table-group-container.c: New types to
        make e_table_group work properly.

        * e-table-group.h, e-table-group.c: Completely reworked e-table
        grouping.  e-table-group now uses a hierarchical structure.

        * e-cell.h: Added e_cell_print.  This doesn't work yet.

        * e-cell.c: Made e_cell_realize exist.  (It was improperly named
        e_cell_view_realize in the .c.)

        * e-cell-text.c: Made the blinking cursor disappear properly.

        * check-filled.xpm, check-empty.xpm: Made these const char *[]
        instead of char *[] to avoid compiler warnings.

        * Makefile.am: Added e-table-group-container.c,
        e-table-group-container.h, e-table-group-leaf.c,
        e-table-group-leaf.h, e-table-subset-variable.c,
        e-table-subset-variable.h.

svn path=/trunk/; revision=1915
2000-02-24 06:51:23 +00:00
48618eb6eb fix this routine.
1999-12-09  Miguel de Icaza  <miguel@gnu.org>

	* e-table-header.c (e_table_header_col_diff): fix this routine.

1999-12-04  Miguel de Icaza  <miguel@gnu.org>

	* e-table-header-item.c (ethi_event): Started drag and drop
	support.

	* e-table-item.c (eti_table_model_changed): The columns are
	controled by the Header, not by the TableModel.

	* e-table-header-item.c (ethi_draw): Fixed redraw logic to support
	arbitrary header positioning.

	* e-cell.h: Revamped e-cell interface.  We now provide the model
	column and the view column to all methods (so that the methods can
	talk to the view and to the model at the same time).

	* e-table-item.c: Update to new API
	* e-cell-test.c: Update to new API

1999-12-03  Miguel de Icaza  <miguel@gnu.org>

	* e-cell.c (e_cell_class_init): Provide emtpy methods for
	enter_edit, and leave_edit.

	* e-table-item.c: Killed draw cell.
	(eti_draw): Perform column mapping here.
	(e_table_item_leave_edit): ditto.
	(e_table_item_enter_edit): ditto.
	(eti_event): ditto.

svn path=/trunk/; revision=1478
1999-12-10 07:36:51 +00:00
50006218b6 fixed api.
1999-12-02  Miguel de Icaza  <miguel@gnu.org>

	* e-table-header.c (e_table_header_index): fixed api.

1999-12-01  Miguel de Icaza  <miguel@gnu.org>

	* test-cols.c (multi_cols_test): Update to simplified API.
	* test-check.c (check_test): ditto
	* test-table.c (table_browser_test): ditto

	* e-table-simple.c (e_table_simple_class_init): Kill column_name method.

	* e-table-model.h: Kill column_name method.

	* e-table-col.c (e_table_col_new): Instead of using a column name,
	use a column index.

svn path=/trunk/; revision=1459
1999-12-03 08:02:36 +00:00
1a0d4df957 New methods; They implement editing.
1999-11-28  Miguel de Icaza  <miguel@gnu.org>

	* e-cell-text.c (ect_enter_edit, ect_leave_edit): New methods;
	They implement editing.

	* e-cell.h: new methods: enter_edit, leave_edit

	* e-table-model.h (set_value_at): make val argument const.

	* e-table-simple.c (simple_set_value_at): Make value argument const;

	* e-table-item.c (eti_set_arg): Add new mode: draw_focus;

svn path=/trunk/; revision=1442
1999-11-28 22:26:39 +00:00
8d75b6689b beginning of the keyboard navigation.
1999-11-27  Miguel de Icaza  <miguel@gnu.org>

	* e-table-item.c (eti_event): beginning of the keyboard navigation.

	* e-table-model.c (e_table_model_row_changed): new function.
	(e_table_model_cell_changed): new function.
	(e_table_model_class_init): New signals.

	* e-table-item.c (eti_request_region_redraw): x2, y2 offsets were
	wrong.
	(eti_select): Repaint selected region.
	(eti_request_region_redraw): Fix range.
	(eti_draw): Correct offset computation here.
	(e_table_item_class_init): New method: row_selection, handles the
	selection.

	Now it implement GTK_SELECTION_SINGLE and GTK_SELECTION_MULTIPLE.

	Focusing and selection should be correct now.

svn path=/trunk/; revision=1441
1999-11-28 03:12:22 +00:00
465c8ae9a0 Compute height using the ecell methods here. (eti_get_height): new method
1999-11-26  Miguel de Icaza  <miguel@gnu.org>

	* e-table-item.c (eti_realize): Compute height using the ecell
	methods here.
	(eti_get_height): new method to compute dimensions.

	* e-cursors.c: use a different cursor.

	* e-table-model.h: kill height and row_height methods.

	* e-cell.c (ec_height): New method.

	* e-cell-text.c (ect_realize): Load the font from the canvas.
	(ect_draw): New color setup.
	Center in the row.
	(ect_height): Implement new method.

1999-11-26  Michael Meeks  <mmeeks@gnu.org>

	* ROADMAP.e-table: small spelling/typo fixes.

1999-11-25  Miguel de Icaza  <miguel@gnu.org>

	* e-table-item.c (eti_event): Work on mouse-button event

svn path=/trunk/; revision=1439
1999-11-26 19:25:02 +00:00
385ccbd512 Realize cells.
1999-11-25  Miguel de Icaza  <miguel@gnu.org>

	* e-table-header-item.c (ethi_realize): Realize cells.

	* e-table-item.c (eti_header_dim_changed): redraw before and after.

	* e-table-header-item.c (ethi_event): Add continuous resizing.

1999-11-24  Miguel de Icaza  <miguel@gnu.org>

	* e-table-subset.h, e-table-subset.c: New files, used to implement
	subset tables.

	* e-table-sorted.h, e-table-sorted.c: Now they derive from
	e-table-subset.

	* e-cell.c, e-cell.h: realize method now return per view instance
	data.

svn path=/trunk/; revision=1434
1999-11-25 08:02:13 +00:00
794f39a5d6 More work -mig
svn path=/trunk/; revision=1420
1999-11-19 08:18:48 +00:00
da4c37043e New E-table-item.[ch] -mig
svn path=/trunk/; revision=1419
1999-11-19 05:34:23 +00:00
5ba51e992d Add resizing capabilities.
1999-11-14  Miguel de Icaza  <miguel@gnu.org>

	* e-table-header-item.c (is_pointer_on_division): Add resizing
	capabilities.

	* e-table-sorted.c: Finish implementation.

1999-11-13  Miguel de Icaza  <miguel@gnu.org>

	* e-table-sorted.c: Implement e-table-sorted object.

1999-11-12  Miguel de Icaza  <miguel@gnu.org>

	* e-table-header-item.c: Make the thing configurable.

	* e-table-header-item.h: Add font field, location, height.

svn path=/trunk/; revision=1388
1999-11-15 20:59:29 +00:00
43fd06f8ec More table work
svn path=/trunk/; revision=1383
1999-11-12 08:41:20 +00:00
afbee2366a Stuff
svn path=/trunk/; revision=1378
1999-11-10 07:31:21 +00:00
c5e2fd8592 Added my widgets stuff -miguel
svn path=/trunk/; revision=1364
1999-11-01 20:35:26 +00:00