aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-tree.c
Commit message (Collapse)AuthorAgeFilesLines
* send signals even if the row/col is -1. (et_drag_drop): same.Chris Toshok2001-06-291-35/+30
| | | | | | | | | | | | | 2001-06-28 Chris Toshok <toshok@ximian.com> * e-table.c (et_drag_motion): send signals even if the row/col is -1. (et_drag_drop): same. * e-tree.c (et_drag_motion): same. (et_drag_drop): same. svn path=/trunk/; revision=10584
* Bump version number due to incompatible changes in ETree.Peter Williams2001-06-281-28/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-06-27 Peter Williams <peterw@ximian.com> * configure.in: Bump version number due to incompatible changes in ETree. gal/e-table: 2001-06-27 Peter Williams <peterw@ximian.com> * e-tree-selection-model.c (e_tree_selection_model_add_to_selection): New function, heavily based on select_single_row. * e-tree-selection-model.h: Added prototype; * e-tree.c (e_tree_get_model): New accessor function. (e_tree_get_selection_model): Same. (e_tree_selected_count, e_tree_select_all, e_tree_invert_select): Removed. With the accessors these become pointless. * e-tree.h: Prototype the functions above. Remove a few functions that don't make sense anymore. svn path=/trunk/; revision=10543
* (Make the alternating row colors a option in ETableSpecification insteadJason Leach2001-04-291-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-04-28 Jason Leach <jasonleach@usa.net> (Make the alternating row colors a option in ETableSpecification instead of a compiled in #define) * e-table-specification.c (e_table_specification_load_from_node): Read in the "alternating-row-colors=bool" option for ETableSpecifications. Default value is true so unless it is specified to be false, row colors will alternate. (e_table_specification_save_to_node): Save the alternating row color options here. * e-table.c (et_build_groups): Pass down the alternating row colors through to the ETableGroup. * e-table-group-container.[ch]: Handle the new alternating row colors option here, passing it to ETableItem. * e-table-group-leaf.[ch]: Here too. * e-table-item.c (eti_get_cell_background_color): Got rid of the #define ALTERNATE_COLORS, replaced with truth check for ETableItem::alternating_row_colors. * e-tree.c: Make ETree recognize alternating row color options as well. svn path=/trunk/; revision=9622
* Documented this function properly.Christopher James Lahey2001-04-241-0/+32
| | | | | | | | | | | | 2001-04-23 Christopher James Lahey <clahey@ximian.com> * e-table.c (e_table_get_cell_geometry): Documented this function properly. * e-tree.c, e-tree.h (e_tree_get_cell_geometry): Added this function. svn path=/trunk/; revision=9533
* Submit a signal even if there are no extras.Christopher James Lahey2001-04-201-35/+123
| | | | | | | | | | | | | | | 2001-04-19 Christopher James Lahey <clahey@ximian.com> * e-table-header.c (eth_calc_widths): Submit a signal even if there are no extras. * e-table-item.c (eti_request_column_width): Don't compute widths if our cells aren't realized yet. * e-tree.c: Call e_table_header_update_horizontal whenever our data changes. svn path=/trunk/; revision=9465
* Free some things that weren't getting freed.Dan Winship2001-04-191-3/+7
| | | | | | | | | | | | * e-table.c (et_destroy): Free some things that weren't getting freed. * e-tree.c (et_destroy): Free some things that weren't getting freed. (e_tree_set_state_object): Don't ref the return value of e_table_state_to_header. svn path=/trunk/; revision=9448
* Set the background color to the specified tooltip->background. Set theChristopher James Lahey2001-04-161-0/+6
| | | | | | | | | | | | | | | | | | | 2001-04-15 Christopher James Lahey <clahey@ximian.com> * e-cell-text.c (ect_show_tooltip): Set the background color to the specified tooltip->background. Set the foreground color to the specified tooltip->foreground. * e-table-item.c (eti_get_cell_background_color, eti_get_cell_foreground_color): Added these functions. (eti_draw, _do_tooltip): Use these new functions. * e-table-tooltip.h: Added foreground and background colors to this structure. * e-tree.c, e-tree.h (e_tree_get_tooltip): Added this function. svn path=/trunk/; revision=9338
* Return TRUE for left and right arrows.Christopher James Lahey2001-04-111-0/+2
| | | | | | | | | 2001-04-11 Christopher James Lahey <clahey@ximian.com> * e-tree.c (item_key_press): Return TRUE for left and right arrows. svn path=/trunk/; revision=9234
* Added this function.Christopher James Lahey2001-04-041-0/+1
| | | | | | | | | | | | 2001-04-04 Christopher James Lahey <clahey@ximian.com> * e-tree-selection-model.c, e-tree-selection-model.h (e_tree_selection_model_change_cursor): Added this function. * e-tree.c (e_tree_set_cursor): Screwed up moving the cursor a small bit when I changed this to be faster before. Fixed it. svn path=/trunk/; revision=9171
* Added e_tree_selection_model_select_single_path and made selection_startChristopher James Lahey2001-04-041-0/+6
| | | | | | | | | | | | | | | | | | | | 2001-04-04 Christopher James Lahey <clahey@ximian.com> * e-tree-selection-model.c, e-tree-selection-model.h: Added e_tree_selection_model_select_single_path and made selection_start be the path as it should be instead of the row. * e-tree-sorted.c: Added a last_access variable to speed up access. * e-tree-table-adapter.c: Made checking last_access look at the 10 values before and after the listed value to look for the value requested. * e-tree.c: Call e_tree_selection_model_select_single_path if E_TREE_USE_TREE_SELECTION. svn path=/trunk/; revision=9169
* Fix headers. Ditto. Ditto. Ditto. Ditto. Ditto. Ditto. Ditto. Ditto.Kjartan Maraas2001-04-041-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Add argument to get the table adapter. (et_set_arg): Add arguments forRichard Hult2001-04-041-0/+46
| | | | | | | | | | | | | | | 2001-04-03 Richard Hult <rhult@codefactory.se> * e-tree.c (et_get_arg): Add argument to get the table adapter. (et_set_arg): Add arguments for setting drawing of the grid and focus. * e-tree-model.c, e-tree-model.h (e_tree_model_node_traverse): Fill in missing implementation. (e_tree_model_node_traverse_preorder): Likewise, but preorder traversal. svn path=/trunk/; revision=9156
* Fixed some bugs with the privitization of ETreeSelectionModel.Christopher James Lahey2001-04-011-1/+1
| | | | | | | | | | | | 2001-04-01 Christopher James Lahey <clahey@ximian.com> * e-tree-selection-model.c: Fixed some bugs with the privitization of ETreeSelectionModel. * e-tree.c: One more required change to make it work with E_TREE_USE_TREE_SELECTION on. svn path=/trunk/; revision=9084
* Added e-tree-selection-model.c. (libetableinclude_HEADERS): AddedChristopher James Lahey2001-04-011-0/+24
| | | | | | | | | | | | | 2001-04-01 Christopher James Lahey <clahey@ximian.com> * Makefile.am (libetable_la_SOURCES): Added e-tree-selection-model.c. (libetableinclude_HEADERS): Added e-tree-selection-model.h. * e-tree.c, e-tree.h: Added code to use ETreeSelectionModel if the string E_TREE_USE_TREE_SELECTION is defined. svn path=/trunk/; revision=9082
* Initialize all necessary fields here.Christopher James Lahey2001-04-011-0/+18
| | | | | | | | 2001-03-31 Christopher James Lahey <clahey@ximian.com> * e-tree.c (e_tree_init): Initialize all necessary fields here. svn path=/trunk/; revision=9081
* Roll back another part of the change.Christopher James Lahey2001-04-011-1/+5
| | | | | | | | | 2001-03-31 Christopher James Lahey <clahey@ximian.com> * e-tree.c (et_real_construct): Roll back another part of the change. svn path=/trunk/; revision=9080
* Accidently committed this with using the tree selection model turned on.Christopher James Lahey2001-04-011-15/+2
| | | | | | | | | 2001-03-31 Christopher James Lahey <clahey@ximian.com> * e-tree.c, e-tree.h: Accidently committed this with using the tree selection model turned on. Rolled back this change. svn path=/trunk/; revision=9076
* Include <gal/util/e-util.h> here.Christopher James Lahey2001-04-011-315/+379
| | | | | | | | | | | | | | 2001-03-31 Christopher James Lahey <clahey@ximian.com> * e-tree-scrolled.c: Include <gal/util/e-util.h> here. * e-tree-selection-model.c, e-tree-selection-model.h: Privatized this class. Cleaned this up a bit. Added handlers for signals from the model. * e-tree.c, e-tree.h: Privatized this class. svn path=/trunk/; revision=9075
* Made these use GTK_TYPE_GDK_EVENT whenever sending an event through theChristopher James Lahey2001-03-301-4/+7
| | | | | | | | | | | | | | | 2001-03-30 Christopher James Lahey <clahey@ximian.com> * e-table-group.c, e-table-header-item.c, e-table-item.c, e-table.c, e-tree.c: Made these use GTK_TYPE_GDK_EVENT whenever sending an event through the signal system instead of GTK_TYPE_POINTER. * e-table.c, e-tree.c (set_header_canvas_width): Check that none of the variables we're going to need are NULL before executing this function. svn path=/trunk/; revision=9042
* Changed the signal "table_selection_model" to just be "selection_model"Christopher James Lahey2001-03-301-1/+1
| | | | | | | | | | | | | | | | | | | 2001-03-30 Christopher James Lahey <clahey@ximian.com> * e-table-group-container.c, e-table-group-container.h, e-table-group-leaf.c, e-table-group-leaf.h, e-table-item.c, e-table-item.h, e-table.c, e-tree.c: Changed the signal "table_selection_model" to just be "selection_model" everywhere and made it be ESelectionModels instead of ETableSelectionModels for generality. * e-table-item.c (eti_event): Make right arrow and left arrow accessible as events that can be caught. * e-tree-sorted.c, e-tree-sorted.h (e_tree_sorted_orig_position): Added this function. svn path=/trunk/; revision=9041
* Updated to set the width of the header canvas to be equal to the width ofChristopher James Lahey2001-03-301-15/+40
| | | | | | | | | | | 2001-03-29 Christopher James Lahey <clahey@ximian.com> * e-table.c, e-tree.c, e-tree.h: Updated to set the width of the header canvas to be equal to the width of the table canvas to avoid infinite loops. Added left arrow and right arrow as tree collapse and expand bindings. svn path=/trunk/; revision=9035
* un Mar 25 22:31:19 2001 George Lebl <jirka@5z.com>George Lebl2001-03-261-4/+4
| | | | | | | * e-tree.c (e_tree_class_init): Fix gtk_signal_new arguments, INT and POINTER were switched causing my alpha to go nuts. svn path=/trunk/; revision=8935
* ref the sort_info taken from the state object. Ditto. Fixes the last ETreeDan Winship2001-03-261-0/+1
| | | | | | | | | * e-table.c (et_real_construct): ref the sort_info taken from the state object. * e-tree.c (et_real_construct): Ditto. Fixes the last ETree crash-on-exit bug for me. svn path=/trunk/; revision=8929
* Added '=' and '-' as tree node expand and collapseChristopher James Lahey2001-03-251-3/+11
| | | | | | | | | 2001-03-25 Christopher James Lahey <clahey@ximian.com> * e-tree.c (item_key_press): Added '=' and '-' as tree node expand and collapse svn path=/trunk/; revision=8923
* Bumped the version number to 05.99.9.Christopher James Lahey2001-03-211-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-20 Christopher James Lahey <clahey@ximian.com> * configure.in: Bumped the version number to 05.99.9. From gal/e-table/ChangeLog: 2001-03-20 Christopher James Lahey <clahey@ximian.com> * e-table-click-to-add.c: Turn on the vertical grid. * e-table-group-container.c, e-table-group-container.h, e-table-group-leaf.c, e-table-group-leaf.h, e-table-item.c, e-table-item.h: Replaced the "drawgrid" argument with "horizontal_draw_grid" and "vertical_draw_grid" arguments. * e-table-specification.c, e-table-specifcation: Replaced the draw_grid setting with the horizontal_draw_grid and vertical_draw_grid settings. If the draw-grid property is set in a ETableSpecification it is still obeyed and overrides the vertical-draw-grid and horizontal-draw-grid properties. * e-table.c, e-table.h, e-tree.c, e-tree.h: Deal with the horizontal_draw_grid and vertical_draw_grid changes. * e-tree-model.h: Added a missing include. svn path=/trunk/; revision=8846
* Deal with proxy_node_changed being called on a different root node thanChristopher James Lahey2001-03-201-0/+2004
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