Skip to content
  • Christopher James Lahey's avatar
    Deal with proxy_node_changed being called on a different root node than · 1510304c
    Christopher James Lahey authored
    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
    1510304c