Commit Graph

400 Commits

Author SHA1 Message Date
a082bd6021 Made this the same size as an ETableItem with all text items. Made the
2001-01-10  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-click-to-add.c: Made this the same size as an ETableItem
	with all text items.  Made the background color white.  These need
	to be made themeable.

svn path=/trunk/; revision=7370
2001-01-10 20:45:18 +00:00
a1ca83afd9 Added expansions field and loading and saving of that field.
2001-01-10  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-state.c, e-table-state.h: Added expansions field and
	loading and saving of that field.

	* e-table.c: Load and save expansion data.

svn path=/trunk/; revision=7366
2001-01-10 18:15:13 +00:00
8f1d09360b Unfinished sorted variable model for ETree.
2001-01-10  Christopher James Lahey  <clahey@helixcode.com>

	* e-tree-sorted-variable.c, e-tree-sorted-variable.h: Unfinished
	sorted variable model for ETree.

svn path=/trunk/; revision=7355
2001-01-10 05:25:21 +00:00
c5f64863e3 Fixed sorting. needs_sorting was getting set to 0 when sorted happens, but
2001-01-06  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-sorter.c, e-table-sorter.h (ets_sort): Fixed sorting.
	needs_sorting was getting set to 0 when sorted happens, but
	needs_sorting tells you whether or not the sorter is sorted or
	not, not whether the sorting has happened.  Documented the
	needs_sorting variable.

svn path=/trunk/; revision=7281
2001-01-06 05:31:13 +00:00
db2b02492d Removed a bunch of unused code.
2000-12-27  Christopher James Lahey  <clahey@helixcode.com>

	* e-cell-text.c (ect_draw, ect_event): Removed a bunch of unused
	code.

svn path=/trunk/; revision=7179
2000-12-27 04:36:27 +00:00
e2ba388ffd draw_background=FALSE
svn path=/trunk/; revision=7170
2000-12-25 19:45:02 +00:00
72dfe1e514 Set draw_background to FALSE.
2000-12-25  Miguel de Icaza  <miguel@helixcode.com>

	* e-cell-text.c (ect_show_tooltip): Set draw_background to FALSE.

	* e-table-group-container.c (etgc_add): ditto.

	* e-table-click-to-add.c (etcta_realize): ditto.
	(e_table_click_to_add_commit): ditto.

svn path=/trunk/; revision=7165
2000-12-25 08:36:04 +00:00
bb0585fe60 add api docs.
2000-12-24  Chris Toshok  <toshok@helixcode.com>

	* e-cell-tree.c: add api docs.

	* e-tree-simple.c: add api docs.

svn path=/trunk/; revision=7161
2000-12-25 04:51:03 +00:00
51284ee84a Destroy text and pixbuf if they exist whether or not is_pixbuf is set.
2000-12-23  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-col.c, e-table-col.h (etc_destroy): Destroy text and
	pixbuf if they exist whether or not is_pixbuf is set.
	(e_table_col_new_with_pixbuf): Make new_with_pixbuf take a title
	argument which is for when you can't display pixmaps.

	* e-table-column-specification.c
	(e_table_column_specification_load_from_node): Don't translate the
	pixbuf string attribute.

	* e-table-sort-info.c, e-table-sort-info.h
	(e_table_sort_info_load_from_node): Added a state_version
	parameter to the load_from_node function.  This lets the loader
	specify which version of ETableState is being processed.  If it's
	less than .05, use the old nested version.  If it's greater, use
	the new flat version.
	(e_table_sort_info_save_to_node): Changed this to store a list of
	group and leaf nodes instead of nesting the group nodes and leaf
	nodes one inside the other.  This is much easier to understand and
	requires less typing when creating a new ETableSpecification's
	initial ETableState.

	* e-table-state.c: Changed the state-version parameter to 0.1.
	(e_table_state_load_from_node): Use
	e_xml_get_double_prop_by_name_with_default so that we can specify
	a state-version default of 0.1 for people writing ETableStates by
	hand.  Pass the state-version to e_table_sort_info_load_from_node.

	* e-table.c (et_col_spec_to_col): Pass the title from the
	ETableColumnSpecification to the ETableCol even if it's a pixbuf
	column.

svn path=/trunk/; revision=7138
2000-12-23 05:55:20 +00:00
dcd4f31223 Set the minimum width of newly created children.
2000-12-19  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-group-container.c (etgc_add): Set the minimum width of
	newly created children.
	(e_table_group_container_construct): Use function
	e_table_header_get_column_by_col_idx instead of
	e_table_header_get_column since we're passing in a col_idx.

	* e-table-header.c, e-table-header.h: New function
	e_table_header_get_column_by_col_idx which searches for a column
	in the ETableHeader with a certain model column (col_idx).

	* e-table-sorted-variable.c (etsv_compare),
	(etsv_sort), e-table-sorter.c (ets_sort): Use function
	e_table_header_get_column_by_col_idx instead of
	e_table_header_get_column since we're passing in a col_idx.

svn path=/trunk/; revision=7079
2000-12-19 15:58:24 +00:00
feea74a8a7 Removed the set cursor and get cursor methods from ETableGroup.
2000-12-14  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-group-container.c, e-table-group-leaf.c,
	e-table-group.c, e-table-group.h: Removed the set cursor and get
	cursor methods from ETableGroup.

	* e-table.c (e_table_get_cursor_row, e_table_set_cursor_row):
	Changed this to use the ETableSelection directly instead of going
	through the grouping structure.  This seems to fix a bug in
	evolution's folder list for some people.

svn path=/trunk/; revision=7018
2000-12-14 19:02:13 +00:00
fd9186c407 call set_style and use the appropriate style for the text to determine if
2000-12-14  Chris Toshok  <toshok@helixcode.com>

	* e-cell-text.c (ect_show_tooltip): call set_style and use the
	appropriate style for the text to determine if the tooltip should
	be shown.

svn path=/trunk/; revision=7016
2000-12-14 18:24:25 +00:00
f368ce16ae Commented out an unused variable to fix a warning.
2000-12-14  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-item.c (eti_realize): Commented out an unused variable
	to fix a warning.

svn path=/trunk/; revision=7014
2000-12-14 17:54:19 +00:00
a918af2dc3 Added eti_visibility_notify. Didn't get it to work properly, so it's #if
2000-12-13  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-item.c (eti_realize): Added eti_visibility_notify.
	Didn't get it to work properly, so it's #if 0ed out.

svn path=/trunk/; revision=6991
2000-12-14 03:07:28 +00:00
d8619d03cd Changed the background color of the tooltips to light gray.
2000-12-13  Christopher James Lahey  <clahey@helixcode.com>

	* e-cell-text.c (ect_show_tooltip): Changed the background color
	of the tooltips to light gray.

	* e-table-item.c (eti_event): Changed the tooltip timeout to 100
	milliseconds.

svn path=/trunk/; revision=6988
2000-12-14 01:54:37 +00:00
565e65690d remove the silly logic - we pop up a tooltip regardless of where the mouse
2000-12-13  Chris Toshok  <toshok@helixcode.com>

	* e-cell-tree.c (ect_show_tooltip): remove the silly logic - we
	pop up a tooltip regardless of where the mouse cursor hovers.
	just make sure it appears in the right place.
	(ect_event): reverse the change we make to the event after passing
	it to our subcell.  this fixes the problem of the tree reacting
	twice to events (once with flags == 0, and once with flags ==
	E_CELL_EDITING).

	* e-table-item.c (eti_event): destroy the tooltip window on a
	motion event.  this can (and does) happen when we get a tooltip on
	a tree cell and the cursor isn't over the area where the tooltip
	pops up.

svn path=/trunk/; revision=6979
2000-12-13 23:32:24 +00:00
a000f7480b New function to calculate the extra pixels per column header.
2000-12-13  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-header-utils.c, e-table-header-utils.h
	(e_table_header_width_extras): New function to calculate the extra
	pixels per column header.

	* e-table-header.c, e-table-header.h: Added a "width_extras"
	argument which is used to calculate the correct minimum widths for
	each column header after adding padding.

	* e-table-item.c (_do_tooltip): Destroy the old tooltip window
	when creating the new one.
	(eti_event): Destroy the old tooltip window if the person presses
	a key.  Don't handle the tab key.

	* e-table.c (et_state_to_header): Set the ETableHeader's
	width_extras argument.

svn path=/trunk/; revision=6978
2000-12-13 22:34:36 +00:00
f42cf43320 only return TRUE in the BUTTON_PRESS case if the node was expandable.
2000-12-13  Chris Toshok  <toshok@helixcode.com>

	* e-cell-tree.c (ect_event): only return TRUE in the BUTTON_PRESS
	case if the node was expandable.

svn path=/trunk/; revision=6977
2000-12-13 22:29:21 +00:00
180fb4ee8e cut&paste from e-table-sorted-variable.c and massage names a bit to make
2000-12-13  Chris Toshok  <toshok@helixcode.com>

	* e-table-sorter.c (qsort_callback_complex),
	(ets_sort_build_subset), (ets_sort_subset),
	(ets_sort_free_subset), (sort_groups_compare),
	(ets_sort_by_group): cut&paste from e-table-sorted-variable.c and
	massage names a bit to make sort group sorting work.
	(ets_sort): if the ETableModel has sort groups, sort using the
	sort group.

svn path=/trunk/; revision=6975
2000-12-13 22:10:26 +00:00
ea469b6fc7 Made selected rows ignore their color specification.
2000-12-11  Christopher James Lahey  <clahey@helixcode.com>

	* e-cell-text.c (ect_draw): Made selected rows ignore their color
	specification.

svn path=/trunk/; revision=6935
2000-12-12 02:47:42 +00:00
1443cce12e Emit double_click signal with the model column, not the view column.
* e-table-item.c (eti_event): Emit double_click signal with the
	model column, not the view column.

svn path=/trunk/; revision=6909
2000-12-11 16:59:53 +00:00
e0eba8f34f Split the lines in this cell before testing whether we're to the right of
2000-12-09  Christopher James Lahey  <clahey@helixcode.com>

	* e-cell-text.c (_blink_scroll_timeout): Split the lines in this
	cell before testing whether we're to the right of the right edge
	of the text data (since that test uses the split lines.)

svn path=/trunk/; revision=6892
2000-12-09 23:46:51 +00:00
09244eaf9e cell should be edit cast to a CurrentCell, not data cast to a CurrentCell.
2000-12-09  Christopher James Lahey  <clahey@helixcode.com>

	* e-cell-text.c (_blink_scroll_timeout): cell should be edit cast
	to a CurrentCell, not data cast to a CurrentCell.  Fixed this.

svn path=/trunk/; revision=6890
2000-12-09 23:27:45 +00:00
3018f79188 Added the actions parameter to ect_event. Added an actions field to
2000-12-09  Christopher James Lahey  <clahey@helixcode.com>

	* e-cell-text.c: Added the actions parameter to ect_event.  Added
	an actions field to CellEdit.  Handle CellEdit properly in the
	ect_event function to do grabbing and ungrabbing when
	appropriate.  Set the actions field in CellEdit when appropriate
	in e_cell_text_view_command.

	* e-cell-toggle.c, e-cell-tree.c, e-cell.c, e-cell.h: Added a
	ECellActions enum, a ECellActions actions parameter to
	e_cell_event and added the actions parameter to all the handlers
	of the event method including having ECellTree pass it on to its
	child cell.

	* e-table-header-item.c: Use the NULL cursor instead of the
	E_CURSORS_ARROW cursor.

	* e-table-item.c, e-table-item.h: Added grabbed_row and
	grabbed_col fields to ETableItem (-1 on either means ungrabbed.)
	Pay attention to them in the find_cell function.  Handle the
	actions parameter of e_cell_event and grab or ungrab the pointer
	to a given cell if requested.  This is done using the new function
	eti_e_cell_event (which is internal to e-table-item.c,) instead of
	the old e_cell_event function call.  Fake an ungrabbed table when
	calling find_cell from within the compute_location method.

svn path=/trunk/; revision=6889
2000-12-09 22:20:52 +00:00
9cf73d61eb Unref the object instead of destroying it.
2000-12-09  Federico Mena Quintero  <federico@helixcode.com>

	* e-table-sorted.c (e_table_sorted_new): Unref the object instead
	of destroying it.

	* e-table-sorted-variable.c (e_table_sorted_variable_new): Likewise.

	* e-table-subset.c (e_table_subset_new): Likewise.

	* e-table-subset-variable.c (e_table_subset_variable_new): Likewise.

svn path=/trunk/; revision=6888
2000-12-09 20:04:18 +00:00
16b387c97c If there are columns allocated, free them upon a destroy.
2000-12-08  JP Rosevear  <jpr@helixcode.com>

	* e-table-state.c (etst_destroy): If there are columns allocated,
	free them upon a destroy.

2000-12-08  JP Rosevear  <jpr@helixcode.com>

	* gal/widgets/e-canvas.c (e_canvas_destroy): Remove my lame "fix"

svn path=/trunk/; revision=6884
2000-12-09 02:56:48 +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
adf19f49fb set "sort_info" on our sorter when we get a new sort_info to keep things
2000-12-07  Chris Toshok  <toshok@helixcode.com>

	* e-table.c (e_table_set_state_object): set "sort_info" on our
	sorter when we get a new sort_info to keep things in sync.

	* e-table-sorter.c (ets_set_arg): new function, allowing the
	setting of "sort_info".
	(ets_get_arg): new function, allowing the getting of "sort_info".
	(ets_class_init): fill in GtkObject::set_arg and get_arg.
	(ets_sort): set ets->needs_sorting to 0 so we don't sort
	unnecessarily.
	(e_table_sorter_model_to_sorted): we may have ets->backsorted (and
	should use it if we do) even if we didn't need to sort.
	(e_table_sorter_sorted_to_model): same, except ets->sorted.

svn path=/trunk/; revision=6857
2000-12-07 23:55:56 +00:00
640883f04d Add column and GdkEvent * parameters to the double click signal.
2000-12-07  Christopher James Lahey  <clahey@helixcode.com>

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

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

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

svn path=/trunk/; revision=6850
2000-12-07 23:28:30 +00:00
a22a4c17a5 Free the xmlDoc when we are done with it. (e_table_state_save_to_file):
2000-12-07  Federico Mena Quintero  <federico@helixcode.com>

	* e-table-state.c (e_table_state_save_to_string): Free the xmlDoc
	when we are done with it.
	(e_table_state_save_to_file): Ditto.

	* e-table.c (e_table_get_state): Unref the state object; why was
	it being sunk instead?
	(e_table_save_state): Ditto.
	(e_table_load_state): Ditto.
	(e_table_set_state): Ditto.

	* e-table-header-item.c (ethi_destroy): Free the ethi->dnd_code.

svn path=/trunk/; revision=6837
2000-12-07 16:24:42 +00:00
517cb96a31 pass along the column's width to e_cell_show_tooltip.
2000-12-06  Chris Toshok  <toshok@helixcode.com>

	* e-table-item.c (_do_tooltip): pass along the column's width to
	e_cell_show_tooltip.

	* e-cell-text.c (ect_show_tooltip): add col_width argument, and
	set cell.width = col_width - 8 (to mimic what happens in
	build_current_cell, but with a possibly altered width).

	* e-cell.c (e_cell_show_tooltip): add col_width argument, and pass
	along to virtual function.
	(ec_show_tooltip): add col_width argument.

	* e-cell.h: change prototype of e_cell_show_tooltip to include a
	width parameter.

	* e-cell-tree.c (ect_show_tooltip): send the width - the subcell's
	offset to e_cell_show_tooltip.

svn path=/trunk/; revision=6831
2000-12-06 23:25:06 +00:00
620dda2c36 Adapted these to accept the new flags parameter to e_cell_event.
2000-12-06  Christopher James Lahey  <clahey@helixcode.com>

	* e-cell-text.c, e-cell-toggle.c, e-cell-tree.c: Adapted these to
	accept the new flags parameter to e_cell_event.

	* e-cell.c, e-cell.h: Added a flags parameter to e_cell_event.

	* e-table-item.c: Send all e_cell_event calls a E_CELL_EDITABLE
	flag.  Add a new e_cell_event to the button press event that
	happens before selecting the appropriate row and which does not
	have the E_CELL_EDITABLE flag set.

svn path=/trunk/; revision=6823
2000-12-06 21:37:15 +00:00
655cd28a43 Missed this file during the last commit.
svn path=/trunk/; revision=6817
2000-12-06 18:49:13 +00:00
af6115e56f Fixed warning in compute_elision_length.
2000-12-06  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-header-utils.c: Fixed warning in compute_elision_length.

	* e-table-header.c, e-table-header.h: Removed
	e_table_header_selection_ok method here.

svn path=/trunk/; revision=6810
2000-12-06 18:27:41 +00:00
93f5add731 disconnect the "group_info_changed" signal on the old sort_info and
* e-table.c (e_table_set_state_object): disconnect the
	"group_info_changed" signal on the old sort_info and connect it to
	the new one. (Noticed because of a gtk warning in et_destroy, but
	probably fixes some actual bug(s) too.)

svn path=/trunk/; revision=6809
2000-12-06 18:15:31 +00:00
9e5420ee9d Move the correct offset when memmoving. Patch provided by Richard Hult
2000-12-05  JP Rosevear  <jpr@helixcode.com>

	* e-tree-model.c (e_tree_model_node_remove): Move the correct
	offset when memmoving.  Patch provided by Richard Hult
	<rhult@hem.passagen.se>.

svn path=/trunk/; revision=6795
2000-12-05 15:58:04 +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
f70c74f371 Federico gets into pixel-perfect neurosis. Xmag is my best friend.
2000-12-01  Federico Mena Quintero  <federico@helixcode.com>

	Federico gets into pixel-perfect neurosis.  Xmag is my best friend.

	* e-table-item.c (eti_draw): Set the focus_gc stipple origin to
	match the upper-left corner of the focus rectangle.  This way
	focusing will look consistent even among rows/columns with odd
	pixel sizes.  Also, make the focus rectangle span the whole cell;
	there was one blank pixel column to the left of the rectangle.

	* e-table-header-utils.c: New file with utilities for drawing
	header buttons.  This is so that ETableHeaderItem and
	ETableFieldChooserItem can share the same code.
	(e_table_header_compute_height): New function to compute the
	height of a column button.
	(make_composite_pixmap): New function to composite a pixbuf
	against a solid background and make a pixmap out of the result.
	This does some ultra-fancy fading-out of the original pixbuf if
	the destination area is smaller than the source.
	(compute_elision_length): New function to compute the elision
	length in O(n log n) instead of O(n^2), for n = strlen (str).
	(e_table_header_draw_button): New function to draw a header
	button.
	(e_table_draw_elided_string): New function to draw a string elided
	to a maximum width.

	* e-table-defines.h (HEADER_PADDING): Made the default padding be
	1; now a header button's height is
	content_height + 2 * (HEADER_PADDING + style->ythickness).  This
	is the correct way to measure button heights.

	* e-table-field-chooser-item.c (etfci_find_button): Use
	e_table_header_compute_height().
	(etfci_reflow): Likewise.
	(etfci_draw): Use e_table_header_draw_button().
	(etfci_start_drag): Likewise.
	(etfci_draw): Likewise.
	(etfci_start_drag): Likewise.
	(etfci_button_height): Removed function.
	(draw_button): Removed function.

	* e-table-header-item.c (draw_button): Removed function.
	(e_table_header_item_get_height): Use e_table_header_compute_height().
	(ethi_draw): e_table_header_draw_button().
	(ethi_start_drag): Likewise.
	(make_shaped_window_from_xpm): Fixed misspelling in function name.
	(draw_button): Removed function.

	* Makefile.am: Added e-table-header-utils.[ch].

svn path=/trunk/; revision=6766
2000-12-02 17:35:22 +00:00
b81be74840 Removed e_table_col_get_arrow and e_table_col_set_arrow.
2000-11-25  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-col.c: Removed e_table_col_get_arrow and
	e_table_col_set_arrow.

svn path=/trunk/; revision=6669
2000-11-26 03:46:45 +00:00
a2ad62af11 Documented.
2000-11-25  Miguel de Icaza  <miguel@helixcode.com>

	* e-cell.c: Documented.

2000-11-24  Miguel de Icaza  <miguel@helixcode.com>

	* e-cell-toggle.c (etog_queue_redraw): Documented.

	* e-cell-text.c: Removed list of unused arguments.  Add docs.

	* e-cell-checkbox.c (e_cell_checkbox_new): Add docs.

	* e-table-simple.c (e_table_simple_new): Add docs.

svn path=/trunk/; revision=6665
2000-11-25 05:05:40 +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
f7069251d4 Save the children - Federico
svn path=/trunk/; revision=6652
2000-11-22 18:28:44 +00:00
f300ac0095 Updated version number.
2000-11-13  Christopher James Lahey  <clahey@helixcode.com>

	* configure.in: Updated version number.

	* gal/e-table/e-tree-model.c, gal/e-table/e-tree-model.h: Added
	freeze and thaw functions.

	* gal/menus/gal-define-views-dialog.c: Fixed some warnings.

svn path=/trunk/; revision=6563
2000-11-13 19:27:24 +00:00
93e7a43d68 Changed this to match the new EPopupMenu structre.
2000-11-06  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-header-item.c: Changed this to match the new EPopupMenu
	structre.

svn path=/trunk/; revision=6467
2000-11-06 23:43:57 +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
d9a3710f52 Since we insert at the parent->child position, we need to account for
2000-11-03  Not Zed  <NotZed@HelixCode.com>

        * e-tree-model.c (e_tree_model_node_insert): Since we insert at
        the parent->child position, we need to account for expanded nodes
        above this node to properly calculate the absolute row position of
        the node.
        (e_tree_model_node_insert): If we're inserting at the end of this
        node, then we just use the position directly.
        (e_tree_model_node_remove): Completely rewritten.  Now we delete
        all nodes at once, which should be >> faster, unfortunately still
        have to signal each removal, which is >> SLOW :(  Its still about
        2-3x faster than it was (for 25K nodes).
        (child_free): Free all data/subnodes of a given path, no
        unlinking.
        (e_tree_model_node_remove): If we are removing a lot of nodes
        [>1000 or >1/4 total nodes], then use model_changed, rather then
        removing each node.  Yay.  Now its about 500x faster than it was,
        for 25K nodes.
        (etree_pre_change): Signal handler, so we can find out when we are
        in a pre-change state.
        (etree_changed): Likewise to find when we have finished.
        (e_tree_model_construct): Link to the model*changed signals so we
        know when we are in pre/changed state.
        (e_tree_model_node_insert): Only perform a row_inserted if not in
        pre_change state.  Another significant speed improvement (200-500%)
        on big trees.
        (e_tree_model_node_remove): Do not emit row_deleted (or
        model_changed), if we are in the pre_change state.
        (add_visible_descendents_to_array): Likewise for row_inserted.
        (e_tree_model_node_sort): And here too, for consistency.

svn path=/trunk/; revision=6363
2000-11-03 09:16:41 +00:00
89beb886b9 Updated these unused glade files to better match the versions in the code.
2000-11-02  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-config.glade, e-table-config.glade.h: Updated these
	unused glade files to better match the versions in the code.

	* e-table.c, e-table.h: Added e_table_selected_count and
	"selection_change" signal.

	* e-tree-model.c: Fixed an out of order

svn path=/trunk/; revision=6354
2000-11-02 17:28:16 +00:00
b234a3141b If we are inserting into the root level, we dont have to search the whole
2000-10-27  Not Zed  <NotZed@HelixCode.com>

        * e-tree-model.c (e_tree_model_node_insert): If we are inserting
        into the root level, we dont have to search the whole array for a
        parent node we'll never find.

svn path=/trunk/; revision=6218
2000-10-27 02:31:08 +00:00
7a6e9be357 remove the save_id here, so we don't save state for nodes that no longer
2000-10-25  Chris Toshok  <toshok@helixcode.com>

	* e-tree-model.c (e_tree_model_node_remove): remove the save_id
	here, so we don't save state for nodes that no longer exist.
	(etree_destroy): remove the foreach, since all the save_id's
	should have been removed by now (don't destroy a tree without
	destroying the root node.)  also, make sure to call
	g_hash_table_destroy.

svn path=/trunk/; revision=6202
2000-10-26 06:48:09 +00:00