aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-table.h
Commit message (Collapse)AuthorAgeFilesLines
* new proto and virtual methodJP Rosevear2001-08-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-08-10 JP Rosevear <jpr@ximian.com> * gal/widgets/e-canvas-vbox.h: new proto and virtual method * gal/widgets/e-canvas-vbox.c (e_canvas_vbox_real_add_item_start): adds the the item to the beginning (e_canvas_vbox_add_item_start): call the virtual method 2001-08-10 JP Rosevear <jpr@ximian.com> * e-table.c (et_build_groups): add the items to the start or end based on where the click to add should be (e_table_setup_table): ditto (et_real_construct): read additional spec flag * e-table.h: new flag * e-table-specification.c (etsp_init): init new flag (e_table_specification_load_from_node): set click to add end flag (e_table_specification_save_to_node): write out flag * e-table-specification.h: new flag svn path=/trunk/; revision=11880
* Added scrolling to access nodes that are scrolled off screen for drops.Christopher James Lahey2001-08-071-0/+7
| | | | | | | | | | | | | 2001-08-07 Christopher James Lahey <clahey@ximian.com> * e-tree.c (scroll_timeout): Added scrolling to access nodes that are scrolled off screen for drops. Fixes Ximian bug #5645. * e-table.c, e-table.h (scroll_timeout): Added scrolling to access rows that are scrolled off screen for drops. This doesn't work for some reason, but I'm checking the code in. svn path=/trunk/; revision=11724
* Implemented these functions.Christopher James Lahey2001-08-071-0/+1
| | | | | | | | | | | | 2001-08-06 Christopher James Lahey <clahey@ximian.com> * e-table.c, e-table.h (e_table_drag_highlight, e_table_drag_unhighlight): Implemented these functions. * e-tree.c (e_tree_drag_highlight, e_tree_drag_unhighlight): Implemented these functions. svn path=/trunk/; revision=11713
* (Make the alternating row colors a option in ETableSpecification insteadJason Leach2001-04-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Added get_cell_geometry method.Christopher James Lahey2001-04-241-0/+5
| | | | | | | | | | | | | | 2001-04-23 Christopher James Lahey <clahey@ximian.com> * e-table-group-container.c, e-table-group-leaf.c, e-table-group.c, e-table-group-.h: Added get_cell_geometry method. * e-table-item.c, e-table-item.h: Added e_table_item_get_cell_geometry. * e-table.c, e-table.h: Added e_table_get_cell_geometry. svn path=/trunk/; revision=9532
* Bumped the version number to 05.99.9.Christopher James Lahey2001-03-211-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* New public API call, `e_table_get_cell_at()'. Also upped the GALEttore Perazzoli2001-03-081-1/+3
| | | | | | version number because of that. svn path=/trunk/; revision=8587
* Changed e_table_selection_model_clear to e_selection_model_clear.Christopher James Lahey2001-02-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-02-27 Christopher James Lahey <clahey@ximian.com> * gal/e-text/e-completion-view.c: Changed e_table_selection_model_clear to e_selection_model_clear. * tests/test-tree-3.c: Changed E_TABLE_CURSOR_LINE to E_CURSOR_LINE. From gal/e-table/ChangeLog: 2001-02-27 Christopher James Lahey <clahey@ximian.com> * e-table-click-to-add.c, e-table-group-container.c, e-table-group-container.h, e-table-group-leaf.c, e-table-group-leaf.h, e-table-item.c, e-table-item.h, e-table-specification.c, e-table-specification.h, e-table.c, e-table.h: Changed a lot of the ETableSelectionModels to ESelectionModels, a lot of the ETableSorters to ESorters, all the ETableCursorModes to ECursorModes, and all of the ETableForeachFuncs into EForeachFuncs. * e-table-defines.h: Moved ETableForeachFunc and ETableCursorMode to e-selection-model.h. * e-table-selection-model.c, e-table-selection-model.h: Made this a subclass of ESelectionModel which simple connects to an ETableModel. * e-table-sorter.c, e-table-sorter.h: Made this a subclass of ESorter so that implements the same semantics it used to. svn path=/trunk/; revision=8422
* Added e-table/e-table-sorting-utils.lo.Christopher James Lahey2001-02-241-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-02-23 Christopher James Lahey <clahey@ximian.com> * gal/Makefile.am (libgal_la_LIBADD): Added e-table/e-table-sorting-utils.lo. From gal/e-table/ChangeLog: 2001-02-23 Christopher James Lahey <clahey@ximian.com> * Makefile.am (libetable_la_SOURCES): Added e-table-sorting-utils.c. (libetableinclude_HEADERS): Added e-table-sorting-utils.h. * e-table-group-container.c: Implemented add_array method. Use add_array to implement add_all instead of using add. Did some general clean up. * e-table-group-leaf.c, e-table-group-leaf.h: Implemented add_array method. Changed everything to use an ETableSubset variable instead of an ETableSortedVariable. Implemented it as ETableSortedVariable if there's grouping involved and ETableSorted if there isn't. * e-table-group.c, e-table-group.h: Added add_array method. Added unused get_position code. * e-table-sorted-variable.c, e-table-sorted-variable.h: Moved a lot of the actual implementation of sorting to e-table-sorting-utils.c. Got rid of the signal handlers here since we weren't using them and ETableSubset has the proxy virtual methods. * e-table-sorted.c, e-table-sorted.h: Completely replaced these files with a variation on ETableSortedVariable that doesn't have the add methods and such but instead just mimics the source model's set of rows completely. * e-table-sorter.c, e-table-sorter.h: Added functions to get at the arrays here. * e-table-sorting-utils.c, e-table-sorting-utils.h: Utility functions for doing sorting. * e-table-subset-variable.c, e-table-subset-variable.h: Added add_array method. * e-table-subset.c, e-table-subset.h: Made it so that the signal hookups to the source model's signals are virtual methods. * e-table.c, e-table.h: Don't call add_all and add and remove type functions if not grouped. Don't rebuild for sort changes unless it was either grouped before or will be grouped now. svn path=/trunk/; revision=8374
* This new function updates the minimum width of all of the columns based onChristopher James Lahey2001-02-141-0/+2
| | | | | | | | | | | | | | | 2001-02-13 Christopher James Lahey <clahey@ximian.com> * e-table-header.c, e-table-header.h (e_table_header_update_horizontal): This new function updates the minimum width of all of the columns based on the data contained in that column. * e-table.c, e-table.h (changed_idle): Added a horizontal_scrolling field. Call e_table_header_update_horizontal if the model changes at all and horizontal_scrolling is set to TRUE. svn path=/trunk/; revision=8214
* Documented. Added a "cursor_activated" signal. Removed some unusedChristopher James Lahey2001-01-251-0/+1
| | | | | | | | | | | | | | | | | | | | 2001-01-25 Christopher James Lahey <clahey@helixcode.com> * e-table-group-container.c, e-table-group-leaf.c, e-table-group.c, e-table-group.h, e-table-item.c, e-table-item.h: Documented. Added a "cursor_activated" signal. Removed some unused functions (e_table_group_get_count and e_table_group_get_ecol). * e-table-selection-model.c, e-table-selection-model.h: Added a "cursor_activated" signal. Call it when the user changes the selection to match the cursor. * e-table.c, e-table.h: Added a "cursor_activated" signal. Fixed the e_table_compute_location function to take into account the scrolled position. svn path=/trunk/; revision=7808
* Add column and GdkEvent * parameters to the double click signal.Christopher James Lahey2000-12-081-1/+1
| | | | | | | | | | | | | | | | | | 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
* Updated these unused glade files to better match the versions in the code.Christopher James Lahey2000-11-031-0/+2
| | | | | | | | | | | | | | 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
* Added e_table_set_state_object which loads the state from the givenChristopher James Lahey2000-10-221-0/+2
| | | | | | | | | 2000-10-20 Christopher James Lahey <clahey@helixcode.com> * e-table.c, e-table.h: Added e_table_set_state_object which loads the state from the given ETableState object. svn path=/trunk/; revision=6099
* Removed an unnecessary glade include file.Christopher James Lahey2000-10-181-0/+2
| | | | | | | | | | | | | 2000-10-18 Christopher James Lahey <clahey@helixcode.com> * e-table-field-chooser-dialog.h: Removed an unnecessary glade include file. * e-table-field-chooser.c: Make sure that glade is initialized. * e-table.c, e-table.h: Added a white background to the ETable. svn path=/trunk/; revision=5988
* Added e-table-config-field.lo.Christopher James Lahey2000-10-141-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-10-13 Christopher James Lahey <clahey@helixcode.com> * gal/Makefile.am: Added e-table-config-field.lo. * tests/test-tree-2.c: Changed this to use cursor-mode in the xml instead of the no longer existing gtk argument. From gal/e-table/ChangeLog: 2000-10-13 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added e-table-config-field.c and e-table-config-field.h. * e-table-column-specification.c: Cleaned this up a bit. Made it leak less memory. * e-table-config-field.c, e-table-config-field.h: New files. This is the configuration widgets for sorting or grouping. * e-table-config.c, e-table-config.h: Nuked these and replaced them with a widget that handles all the ETable configuration. * e-table-config.glade, e-table-config.glade.h: Updated this a bit to match what's actually being used better. This isn't used in actual code. * e-table-header-item.c, e-table-header-item.h: Added a pointer to the table in the header item structure so that we can launch the configuration from the header item right click menu. Made the header item launch the ETable configuration dialog. * e-table.c, e-table.h: Keep the spec given to us around. Added a get_state_object function which returns an ETableState *. Set the "table" argument on the header item. svn path=/trunk/; revision=5901
* Changed these to match the new ETable system.Christopher James Lahey2000-10-111-78/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-10-11 Christopher James Lahey <clahey@helixcode.com> * tests/test-tree-1.c, tests/test-tree-2.c, tests/test-tree-3.c: Changed these to match the new ETable system. * gal/Makefile.am: Added e-table-column-specification.lo, e-table-extras.lo, e-table-specification.lo, and e-table-state.lo. From gal/e-table/ChangeLog: 2000-10-11 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added e-table-column-specification.c, e-table-column-specification.h, e-table-extras.c, e-table-extras.h, e-table-specification.c, e-table-specification.h, e-table-state.c, and e-table-state.h. Removed some duplicated .h files. * e-cell-tree.c: Ref, sink, and unref the subcell instead of destroying it when done. * e-table-column-specification.c, e-table-column-specification.h: New class which describes a column without having a table get instantiated. * e-table-config.c: Changed get_specification to get_state to get this to compile. * e-table-defines.h, e-table-item.h: Moved the definition of ETableCursorMode from e-table-item.h to e-table-defines.h. * e-table-extras.c, e-table-extras.h: New class which acts as a set of 3 hash tables. All from char * and to alternately, ECells, GCompareFuncs, and GdkPxibufs. * e-table-scrolled.c, e-table-scrolled.h: Changed this to match the new ETable function declarations. * e-table-sort-info.c, e-table-sort-info.h: Added functions for saving to and loading from xml. * e-table-specification.c, e-table-specification.h: New class which describes a table without having to instantiate it. * e-table-state.c, e-table-state.h: New class which describes the state of a table without having to instantiate the table. * e-table.c, e-table.h: Changed this to accept both a state and a specification instead of just a specification. You then save only the state. The specification stays exactly the same. Also, you no longer need to pass in an ETableHeader. Most of the information contained in the ETableHeader are in the specification. However you may need to translate some of the strings in the specification to objects. If you need anything other than the builtin choices, you need to create an ETableExtras and pass it in. * e-tree-model.c: Removed an unused variable. svn path=/trunk/; revision=5837
* Removed the assertion that there must be at least 1 column. No way toNot Zed2000-10-091-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-10-06 Not Zed <NotZed@HelixCode.com> * e-table-item.c (eti_header_structure_changed): Removed the assertion that there must be at least 1 column. No way to remove all columns otherwise (which the header allows). * e-table.c (et_xml_config_header): Reconfigure header based on xml nodes for header. (et_real_set_specification): Just configure the header only, dont try to recreate everything. 2000-10-05 Not Zed <NotZed@HelixCode.com> * e-table-scrolled.c (e_table_scrolled_set_specification): Set the spec on a scrolled etable. (e_table_scrolled_load_specification): Likewise for load. * e-table.c (et_real_set_specification): Allow you to set the specification after the widget was created. (et_real_construct): Changed to use et_real_set_specification to set the spec. (e_table_load_specification): New frunction, load the speficication from a specific file. (e_table_set_specification): NEw function to set the specification from a string. svn path=/trunk/; revision=5795
* Select all elements of the etable.Jeffrey Stedfast2000-10-051-0/+4
| | | | | | | | | | | | | | | | 2000-10-04 Jeffrey Stedfast <fejj@helixcode.com> * e-table-selection-model.c (e_table_selection_model_select_all): Select all elements of the etable. (e_table_selection_model_invert_selection): Invert the current selection. * e-table.c (e_table_select_all): New convenience function to select all elements in an e-table. (e_table_invert_selection): New convenience function to invert the current selection in an e-table. svn path=/trunk/; revision=5719
* Moved files, fixed header files and paths - FedericoFederico Mena Quintero2000-09-201-7/+7
| | | | svn path=/trunk/; revision=5513
* Fixed e-table #includes so that it would compile.Chris Lahey2000-09-181-1/+1
| | | | svn path=/trunk/; revision=5482
* Added a click signal which gets sent if the user hits the left or middleChristopher James Lahey2000-08-251-0/+1
| | | | | | | | | | | 2000-08-24 Christopher James Lahey <clahey@helixcode.com> * e-table-group-container.c, e-table-group-leaf.c, e-table-group.c, e-table-group.h, e-table-item.c, e-table-item.h, e-table.c, e-table.h: Added a click signal which gets sent if the user hits the left or middle mouse button on a cell. svn path=/trunk/; revision=5020
* Added functions to convert from view row to model row or from model row toChristopher James Lahey2000-08-061-2/+7
| | | | | | | | | | | | | 2000-08-05 Christopher James Lahey <clahey@helixcode.com> * e-table.c, e-table.h: Added functions to convert from view row to model row or from model row to view row. Also changed e_table_set_cursor_row and e_table_get_cursor_row to take a model row as this works better with the rest of the model. Changed the name of e_table_get_next_row_sorted and e_table_get_prev_row_sorted. (Dropped the _sorted.) svn path=/trunk/; revision=4556
* Added a function to get the next row with sorting taken into account.Christopher James Lahey2000-08-051-0/+5
| | | | | | | | | 2000-08-05 Christopher James Lahey <clahey@helixcode.com> * e-table.c: Added a function to get the next row with sorting taken into account. svn path=/trunk/; revision=4549
* Made selection ranges work even if the table is sorted.Christopher James Lahey2000-08-051-0/+1
| | | | | | | | | | | | | 2000-08-05 Christopher James Lahey <clahey@helixcode.com> * Makefile.am, e-table-selection-model.c, e-table-selection-model.h, e-table.c, e-table.h: Made selection ranges work even if the table is sorted. * e-table-sorter.c, e-table-sorter.h: New files to help with making selection ranges work even if sorted. svn path=/trunk/; revision=4546
* Built code to have autodrags only work from within the table and to reportChristopher James Lahey2000-08-051-3/+9
| | | | | | | | | | 2000-08-04 Christopher James Lahey <clahey@helixcode.com> * e-table.c, e-table.h: Built code to have autodrags only work from within the table and to report the row dragged from automatically. svn path=/trunk/; revision=4542
* Fixed a reference.Christopher James Lahey2000-07-271-0/+7
| | | | | | | | | | | | | | 2000-07-26 Christopher James Lahey <clahey@helixcode.com> * e-table-click-to-add.c: Fixed a reference. * e-table-selection-model.c, e-table-selection-model.h: Added a clear function. * e-table.c, e-table.h: Made going from click to add to the main table and back work better. svn path=/trunk/; revision=4373
* Added "table_selection_model" argument. Removed foreach function andChristopher James Lahey2000-07-271-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-07-26 Christopher James Lahey <clahey@helixcode.com> * e-table-group-container.c, e-table-group-container.h, e-table-group-leaf.c, e-table-group-leaf.h: Added "table_selection_model" argument. Removed foreach function and selection notification. * e-table-group.c, e-table-group.h: Removed foreach function and selection notification. * e-table-header.c: Fixed header width calculation to include the last column. * e-table-item.c, e-table-item.h: Fixed this to use the new selection model. * e-table-scrolled.c, e-table-scrolled.h: Removed selection notification. * e-table-selection-model.c, e-table-selection-model.h: Finished notification signals and fixed a bunch of bit manipulations. Implemented do_something method. * e-table.c, e-table.h: Create an ETableSelectionModel and use it properly. svn path=/trunk/; revision=4363
* Replaced get_selection_list with foreach.Christopher James Lahey2000-07-261-0/+3
| | | | | | | | | | | 2000-07-25 Christopher James Lahey <clahey@helixcode.com> * e-table-selection-model.c, e-table-selection-model.h: Replaced get_selection_list with foreach. * e-table.h: Add a ETableSelectionModel. svn path=/trunk/; revision=4334
* New files for doing a selection model. Not finished yet and thus not inChristopher James Lahey2000-07-261-45/+45
| | | | | | | | | | | | | 2000-07-25 Christopher James Lahey <clahey@helixcode.com> * e-table-selection-model.c, e-table-selection-model.h: New files for doing a selection model. Not finished yet and thus not in Makefile.am. * e-table.c, e-table.h: Renamed the new dnd signals so that they won't conflict with the widget signals. svn path=/trunk/; revision=4326
* Implemented some of the drag & drop code. Drops all report as being on rowChristopher James Lahey2000-07-251-0/+9
| | | | | | | | | | 2000-07-25 Christopher James Lahey <clahey@helixcode.com> * e-table.c, e-table.h: Implemented some of the drag & drop code. Drops all report as being on row 0, col 0. Also, automatic drags don't set the row and column being dragged from. svn path=/trunk/; revision=4312
* Added some unused declarations for drag and drop work.Christopher James Lahey2000-07-221-0/+105
| | | | | | | | | 2000-07-21 Christopher James Lahey <clahey@helixcode.com> * e-table.h: Added some unused declarations for drag and drop work. svn path=/trunk/; revision=4267
* Add e-table-scrolled.c and e-table-scrolled.h.Christopher James Lahey2000-07-101-0/+4
| | | | | | | | | | | | | | | | | 2000-07-09 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Add e-table-scrolled.c and e-table-scrolled.h. * e-table-item.c: Make sure that find_cell returns FALSE if the item doesn't have any cells. * e-table-scrolled.c, e-table-scrolled.h: Added a widget to contain an ETable and provide scrollbars (for ease of use.) * e-table.c, e-table.h: Make this support the scrollable interface and not contain its own scrollbars. svn path=/trunk/; revision=4031
* From mail:Christopher James Lahey2000-06-301-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-06-29 Christopher James Lahey <clahey@helixcode.com> * message-list.c, mail-ops.c: Changed the name of e_table_select_row to e_table_set_cursor_row. From widgets/e-table: 2000-06-29 Christopher James Lahey <clahey@helixcode.com> * e-table-click-to-add.c: Made this appear a bit better. * e-table-defines.h: Cleaned this up a bit, added ETableForeachFunc. * e-table-group-container.c, e-table-group-leaf.c, e-table-group.c, e-table-group.h, e-table-item.c, e-table-item.h, e-table.c, e-table.h: Changed e_table_select_row to e_table_set_cursor_row. Changed e_table_get_selected_view_row to e_table_get_cursor_row. Added e_table_selected_row_foreach. * e-table-header-item.c: Fixed some warnings. * e-table-sorted-variable.c: Removed some unneeded debugging print statments. * e-tree-example-1.c: Changed e_table_get_selected_view_row to e_table_get_cursor_row. svn path=/trunk/; revision=3799
* Calculate height including if clip_height is set to -1.Christopher James Lahey2000-06-271-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Moved the reflow signal handling into an idle handler to fix a bug whenChristopher James Lahey2000-06-161-0/+2
| | | | | | | | | 2000-06-16 Christopher James Lahey <clahey@helixcode.com> * e-table.c, e-table.h: Moved the reflow signal handling into an idle handler to fix a bug when resizing twice in succession. svn path=/trunk/; revision=3588
* Added $(GNOME_PRINT_LIBS) to all of the LDADDs.Christopher James Lahey2000-06-111-21/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-06-10 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(GNOME_PRINT_LIBS) to all of the LDADDs. * e-cell-text.c: Added printing of text cells. * e-cell.c, e-cell.h: Added print and print_height methods. * e-table-field-chooser.glade: Added a minimum size. * e-table-group-container.c: Fixed a rectangle sizing bug. * e-table-group-leaf.c: Implemented get_printable. * e-table-group.c, e-table-group.h: Added a get_printable method to return an EPrintable. * e-table-item.c, e-table-item.h: Added a get_printable function to return an EPrintable. * e-table.c, e-table.h: Added a get_printable function to return an EPrintable. svn path=/trunk/; revision=3511
* Added a right click signal.Christopher James Lahey2000-06-061-0/+1
| | | | | | | | | | | | 2000-06-06 Christopher James Lahey <clahey@helixcode.com> * e-table-group-container.c, e-table-group-leaf.c, e-table-group.c, e-table-group.h, e-table-item.c, e-table-item.h, e-table.c, e-table.h: Added a right click signal. * e-table-sorted-variable.c: Fixed a buffer overrun. svn path=/trunk/; revision=3437
* Added a "key_press" signal.Christopher James Lahey2000-06-021-0/+1
| | | | | | | | | | 2000-06-01 Christopher James Lahey <clahey@helixcode.com> * e-table-group-container.c, e-table-group-leaf.c, e-table-group.c, e-table-group.h, e-table-item.c, e-table-item.h, e-table.c, e-table.h: Added a "key_press" signal. svn path=/trunk/; revision=3366
* Added e_table_get_selected_view_row.Christopher James Lahey2000-06-021-0/+2
| | | | | | | | | | 2000-06-01 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: Added e_table_get_selected_view_row. svn path=/trunk/; revision=3351
* Fixed a bunch of selection bugs. Removed "spreadsheet" argument (for now.)Christopher James Lahey2000-05-301-1/+4
| | | | | | | | | | | | | | 2000-05-30 Christopher James Lahey <clahey@helixcode.com> * e-table-group-container.c, e-table-group-container.h, e-table-group-leaf.c, e-table-group-leaf.h, e-table-group.c, e-table-group.h, e-table-item.c, e-table-item.h, e-table.c, e-table.h, test-check.c, test-cols.c, test-table.c: Fixed a bunch of selection bugs. Removed "spreadsheet" argument (for now.) Added "cursor_mode" argument. Added "cursor_change" signal. Temporarily removed "selection_mode" argument. svn path=/trunk/; revision=3277
* Added double click handling.Christopher James Lahey2000-05-281-0/+1
| | | | | | | | | | 2000-05-28 Christopher James Lahey <clahey@helixcode.com> * e-table-group-container.c, e-table-group-leaf.c, e-table-group.c, e-table-group.h, e-table-item.c, e-table-item.h, e-table.c, e-table.h: Added double click handling. svn path=/trunk/; revision=3238
* Made "drawgrid", "drawfocus", "spreadsheet", and "length_threshold"Christopher James Lahey2000-05-271-4/+6
| | | | | | | | | | | | | | 2000-05-26 Christopher James Lahey <clahey@helixcode.com> * e-table-group-container.c, e-table-group-container.h, e-table-group-leaf.c, e-table-group-leaf.h, e-table.c, e-table.h: Made "drawgrid", "drawfocus", "spreadsheet", and "length_threshold" arguments set from the ETable effect all the end ETableItems. * e-table-header.c: Made column resize a bit less bumpy. svn path=/trunk/; revision=3223
* Handle row_inserted and row_deleted signals properly.Christopher James Lahey2000-05-081-3/+2
| | | | | | | | | | | | | | | 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
* Made this more reentrant.Christopher James Lahey2000-05-011-1/+3
| | | | | | | | | | | | | | 2000-04-30 Christopher James Lahey <clahey@helixcode.com> * e-table-header-item.c: Made this more reentrant. * e-table-sorted-variable.c, e-table-sorted-variable.h: Does a proper resort when the sorting info changes. * e-table.c, e-table.h: Made it so that ETable doesn't destroy and recreate the entire table when sorting info changes. svn path=/trunk/; revision=2704
* Add argument handling here.Miguel de Icaza2000-04-261-12/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-04-24 Miguel de Icaza <miguel@helixcode.com> * e-table.c (e_table_class_init): Add argument handling here. * e-table-group-leaf.c (e_table_group_apply_to_leafs): New method. Enables us to walk all the children of an ETableGroup. * e-table.c (et_get_arg, et_set_arg): Implement ::get and ::set methods. (e_table_construct_from_spec_file): Now we return the etable. (e_table_construct): ditto. (et_real_construct): Now we return the ETable. Returns NULL on construct failure. (e_table_new): ditto. (e_table_new_from_spec_file): ditto. * (et_build_grouping_spec): Removed vestige code that still contained references to the etable->specification XML code. Dumped all the ifdefed out code. * e-table.h: Removed ETable->specification finally. svn path=/trunk/; revision=2632
* Switch the parent object to be a GtkTable. (et_real_construct): applyMiguel de Icaza2000-04-151-2/+2
| | | | | | | | | | | 2000-04-14 Miguel de Icaza <miguel@gnu.org> * e-table.c, e-table.h: Switch the parent object to be a GtkTable. (et_real_construct): apply massaging and some loving action to make the thing behave as a GtkTable. (e_table_init): More love. svn path=/trunk/; revision=2431
* Got rid of some warnings.Christopher James Lahey2000-04-061-0/+1
| | | | | | | | | | | | | | | 2000-04-06 Christopher James Lahey <clahey@helixcode.com> * test-cols.c, test-table.c: Got rid of some warnings. * 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-sort-info.c, e-table-sort-info.h, e-table-sorted-variable.c, e-table-sorted-variable.h, e-table.c, e-table.h: Changed ETableSortInfo to not use xml internally. svn path=/trunk/; revision=2305
* Add so I can go to the chillout hack roomMiguel de Icaza2000-03-311-6/+9
| | | | svn path=/trunk/; revision=2264
* Fix nasty rendering bugs,Michael Meeks2000-03-281-1/+1
| | | | | | | Implement bbox calcs for e-tabel-item Clean style lots svn path=/trunk/; revision=2194
* i2000-03-20 Christopher James Lahey <clahey@helixcode.com>Chris Lahey2000-03-211-2/+2
| | | | | | | | | | | | | * e-table-group-container.c, e-table-group-container.h, e-table-group-leaf.c: Updated these to use the new ECanvas reflow infrastructure. * e-table-item.c, e-table-item.h: Updated these to use the new ECanvas reflow infrastructure. Fixed the bounding box. * e-table.c, e-table.h: Made the header have no extra space around it. svn path=/trunk/; revision=2124
* Add a "row_selection" signal.Christopher James Lahey2000-03-061-0/+2
| | | | | | | | | | | | | | | 2000-03-06 Christopher James Lahey <clahey@helixcode.com> * e-table.c, e-table.h: Add a "row_selection" signal. * test-table.c: Test the new "row_selection" signal. * e-table-group-container.c, e-table-group-leaf.c: Implement the "row_selection" property properly. * e-table-group.c, e-table-group.h: Add a "row_selection" signal. svn path=/trunk/; revision=2069
* Added support for the sorting info. The Etable creates a sort_info object,Christopher James Lahey2000-03-061-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Added a bunch of stuff to the TODO list. Put +s before a few of the itemsChristopher James Lahey2000-03-041-0/+6
| | | | | | | | | | | | | | | 2000-03-04 Christopher James Lahey <clahey@helixcode.com> * TODO: Added a bunch of stuff to the TODO list. Put +s before a few of the items that are finished. * test-table.c: Add a button to save the spec file. * e-table.c, e-table.h: Add loading configurations from files as well as the ability to get the current configuration out of the widget. svn path=/trunk/; revision=2025
* Added duplicate_value and add_value. Use the new compare functions. MadeChristopher James Lahey2000-02-251-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* This were moved to widgets/e-text/ a while ago but never removed. TheyChristopher James Lahey2000-02-241-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Ok, the restructuring of ETableItem to compute its size without hacks isMiguel de Icaza1999-12-311-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Ok, the restructuring of ETableItem to compute its size without hacks is in now. I am feeling better now. 1999-12-30 Miguel de Icaza <miguel@gnu.org> * e-table-item.c (eti_attach_cell_views): New routine, creates the cell views. (eti_detach_cell_views): Detaches the cell_views from the ETableItem. (eti_realize_cell_views, eti_unrealize_cell_views): Simplified to just do realize/unrealize notification. (eti_add_table_model): Only attach the cells when we have both the table model and the header model. * e-cell.h (ECellClass): Added two new methods: new_view and kill_view which drive the view process (instead of putting that on realize/unrealize). * e-cell.c: Adapt the code to use the new scheme for view instantiation. * e-cell-text.c, e-cell-toggle.c: Adapted to the new class changes. svn path=/trunk/; revision=1523
* Sync, does not work, dont try it, just backing up -miguelArturo Espinosa1999-12-281-1/+1
| | | | svn path=/trunk/; revision=1521
* More work. We now have the basics for nesting working, now we need all theArturo Espinosa1999-12-121-2/+49
| | | | | | | | | | | | | | More work. We now have the basics for nesting working, now we need all the interactions done properly. I want to use a new GnomeCanvasItem for the nesting parent as well. DnD will have to be done with our own protocol to provide all the feedback we want to provide. Miguel svn path=/trunk/; revision=1481
* StuffArturo Espinosa1999-11-101-0/+6
svn path=/trunk/; revision=1378