aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-table-selection-model.c
Commit message (Collapse)AuthorAgeFilesLines
* This commit was manufactured by cvs2svn to create tag 'Release103'.Release103nobody2002-01-201-338/+0
| | | | svn path=/tags/Release103/; revision=15390
* Changed the license announcement at the top of these files.Christopher James Lahey2001-10-271-5/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-26 Christopher James Lahey <clahey@ximian.com> * e-cell-checkbox.c, e-cell-checkbox.h, e-cell-combo.c, e-cell-combo.h, e-cell-date.c, e-cell-date.h, e-cell-number.c, e-cell-number.h, e-cell-pixbuf.c, e-cell-pixbuf.h, e-cell-popup.c, e-cell-popup.h, e-cell-size.c, e-cell-size.h, e-cell-spin-button.c, e-cell-spin-button.h, e-cell-string.c, e-cell-text.c, e-cell-text.h, e-cell-toggle.c, e-cell-toggle.h, e-cell-tree.c, e-cell-tree.h, e-cell.c, e-cell.h, e-table-click-to-add.c, e-table-click-to-add.h, e-table-col-dnd.h, e-table-col.c, e-table-col.h, e-table-column-specification.c, e-table-column-specification.h, e-table-column.c, e-table-config-field.c, e-table-config-field.h, e-table-config.c, e-table-config.h, e-table-defines.h, e-table-example-1.c, e-table-example-2.c, e-table-extras.c, e-table-extras.h, e-table-field-chooser-dialog.c, e-table-field-chooser-dialog.h, e-table-field-chooser-item.c, e-table-field-chooser-item.h, e-table-field-chooser.c, e-table-field-chooser.h, e-table-group-container.c, e-table-group-container.h, e-table-group-leaf.c, e-table-group-leaf.h, e-table-group.c, e-table-group.h, e-table-header-item.c, e-table-header-item.h, e-table-header-utils.c, e-table-header-utils.h, e-table-header.c, e-table-header.h, e-table-item.c, e-table-item.h, e-table-memory-callbacks.c, e-table-memory-callbacks.h, e-table-memory.c, e-table-memory.h, e-table-model.c, e-table-model.h, e-table-one.c, e-table-one.h, e-table-scrolled.c, e-table-scrolled.h, e-table-selection-model.c, e-table-selection-model.h, e-table-simple.c, e-table-simple.h, e-table-size-test.c, e-table-sort-info.c, e-table-sort-info.h, e-table-sorted-variable.c, e-table-sorted-variable.h, e-table-sorted.c, e-table-sorted.h, e-table-sorter.c, e-table-sorter.h, e-table-sorting-utils.c, e-table-sorting-utils.h, e-table-specification.c, e-table-specification.h, e-table-state.c, e-table-state.h, e-table-subset-variable.c, e-table-subset-variable.h, e-table-subset.c, e-table-subset.h, e-table-tooltip.h, e-table-tree.h, e-table-utils.c, e-table-utils.h, e-table-without.c, e-table-without.h, e-table.c, e-table.h, e-tree-memory-callbacks.c, e-tree-memory-callbacks.h, e-tree-memory.c, e-tree-memory.h, e-tree-model.c, e-tree-model.h, e-tree-scrolled.c, e-tree-scrolled.h, e-tree-selection-model.c, e-tree-selection-model.h, e-tree-simple.c, e-tree-simple.h, e-tree-sorted-variable.c, e-tree-sorted-variable.h, e-tree-sorted.c, e-tree-sorted.h, e-tree-table-adapter.c, e-tree-table-adapter.h, e-tree.c, e-tree.h, table-test.c, table-test.h, test-check.c, test-cols.c, test-table.c: Changed the license announcement at the top of these files. * e-cell-string.c: Removed unused file. svn path=/trunk/; revision=14154
* Use new e_table_header_prioritized_column field.Christopher James Lahey2001-10-131-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-12 Christopher James Lahey <clahey@ximian.com> * e-table-click-to-add.c (set_initial_selection): Use new e_table_header_prioritized_column field. * e-table-header.c, e-table-header.h (e_table_header_prioritized_column): New function. Refactors the code from ETableClickToAdd to find the column with the highest priority. * e-table-selection-model.c, e-table-selection-model.h (model_changed_idle): Changed this function to use the e_table_header_prioritized_column function. Added an argument to set the "header" on this selection model. * e-table-utils.h: Indentation cleanup. * e-table.c (et_real_construct): Set the "header" argument on the selection model here. * e-table.h: #include <gal/e-table/e-table-sorter.h> svn path=/trunk/; revision=13633
* add E_OBJECT_CLASS_ADD_SIGNALS and E_OBJECT_CLASS_TYPE to ease migrationMichael Meeks2001-10-051-0/+1
| | | | | | | | | | | | | | | 2001-10-05 Michael Meeks <michael@ximian.com> * gal/util/e-util.h: add E_OBJECT_CLASS_ADD_SIGNALS and E_OBJECT_CLASS_TYPE to ease migration to Gnome 2.0 from a single source base. * All C files: s/object_class->type,/E_OBJECT_CLASS_TYPE (object_class),/g; s/gtk_object_class_add_signals([^\(]*)\(([^,]*),([^,]*),([^\)]*)/ E_OBJECT_CLASS_ADD_SIGNALS\1(\2,\3,\4/; svn path=/trunk/; revision=13428
* Initialize the hash field. (model_changed_idle): Send cursor changed andChristopher James Lahey2001-10-031-6/+12
| | | | | | | | | | | | 2001-10-03 Christopher James Lahey <clahey@ximian.com> * e-table-selection-model.c (e_table_selection_model_init): Initialize the hash field. (model_changed_idle): Send cursor changed and selection changed signals. (model_pre_change): If there's no cursor here, make sure to set the cursor_id to NULL. svn path=/trunk/; revision=13373
* Confirm row count here. (etsm_get_row_count): Make sure etsm->model isn'tChristopher James Lahey2001-09-201-1/+5
| | | | | | | | | | 2001-09-19 Christopher James Lahey <clahey@ximian.com> * e-table-selection-model.c (add_model): Confirm row count here. (etsm_get_row_count): Make sure etsm->model isn't NULL here. If it is, it's not an error. Return 0 in this case. svn path=/trunk/; revision=12993
* Bumped version number to 0.11.99.4.Christopher James Lahey2001-09-171-20/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-16 Christopher James Lahey <clahey@ximian.com> * configure.in: Bumped version number to 0.11.99.4. * gal/e-text/e-completion-view.c (e_completion_view_construct), tests/test-table-1.c (create_table): Changed the parameters to e_table_simple_new here to adjust to changes in the interface. * gal/widgets/e-categories-master-list-array.c (ecmla_default): Fixed a memory leak here. * gal/widgets/e-categories.c (e_categories_get_save_id): Added get_save_id here so that selection would be maintained across changes. From gal/e-table/ChangeLog: 2001-09-16 Christopher James Lahey <clahey@ximian.com> * e-table-model.c, e-table-model.h (e_table_model_class_init): Rearranged order of has_save_id and get_save_id to be more consistent with ETree. * e-table-selection-model.c, e-table-selection-model.h: Turned on the code to maintain selection and cursor across changes if the model supports get_save_id. * e-table-simple.c, e-table-simple.h: Changed this interface to take all of the ETableModel functions in the _new function. * e-table-subset.c (etss_has_save_id, etss_get_save_id): Added these to properly proxy the save_id functionality. * e-tree-memory-callbacks.c, e-tree-memory-callbacks.h, e-tree-model.c, e-tree-model.h, e-tree-sorted.c: Made the save_id parameter to get_node_by_id be const char * instead of char *. * e-tree-table-adapter.c (etta_class_init): Rearranged some assignments here to be more consistent. svn path=/trunk/; revision=12869
* Fix headers. Ditto. Ditto. Ditto. Ditto. Ditto. Ditto. Ditto. Ditto.Kjartan Maraas2001-04-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Added e-selection-model-array.lo.Christopher James Lahey2001-03-251-28/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-25 Christopher James Lahey <clahey@ximian.com> * gal/Makefile.am (libgal_la_LIBADD): Added e-selection-model-array.lo. * gal/widgets/Makefile.am: Added e-selection-model-array.c and e-selection-model-array.h. * gal/widgets/e-selection-model-array.c, gal/widgets/e-selection-model-array.h: New class that implements the details of ESelectionModel. ESelectionModel has been refactored to just be a this virtual class. ESelectionModelArray is the original implementation of ESelectionModel. This is what most people will want to use or derive from. * gal/widgets/e-selection-model-simple.c, gal/widgets/e-selection-model-simple.h: Made the parent class of this be ESelectionModelArray instead of ESelectionModel. Changed some function names to match this change. * gal/widgets/e-selection-model.c, gal/widgets/e-selection-model.h: Refactored most of the implementation of this class into ESelectionModelArray. Now just a thin virtual class. From gal/e-table/ChangeLog: 2001-03-25 Christopher James Lahey <clahey@ximian.com> * e-table-selection-model.c, e-table-selection-model.h: Made the parent object of this be ESelectionModelArray instead of ESelectionModel due to their refactoring. Changed the commented out code for saving the selection a bit. svn path=/trunk/; revision=8924
* Deal with proxy_node_changed being called on a different root node thanChristopher James Lahey2001-03-201-12/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Changed e_table_selection_model_clear to e_selection_model_clear.Christopher James Lahey2001-02-281-712/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Made it so that if you set the row or col to something not equal to -1, itChristopher James Lahey2001-02-151-0/+6
| | | | | | | | | | | 2001-02-15 Christopher James Lahey <clahey@ximian.com> * e-table-selection-model.c (e_table_selection_model_do_something): Made it so that if you set the row or col to something not equal to -1, it makes sure that the other one is also not equal to -1. svn path=/trunk/; revision=8240
* Fix selection so that changing a model row equal to 31 mod 32 works.Christopher James Lahey2001-02-111-1/+1
| | | | | | | | | 2001-02-11 Christopher James Lahey <clahey@ximian.com> * e-table-selection-model.c (change_one_row): Fix selection so that changing a model row equal to 31 mod 32 works. svn path=/trunk/; revision=8170
* Dont overwrite the end of our bitmap array.Not Zed2001-02-021-1/+2
| | | | | | | | | 2001-02-02 Not Zed <NotZed@Ximian.com> * e-table-selection-model.c (model_row_deleted): Dont overwrite the end of our bitmap array. svn path=/trunk/; revision=7944
* Make home and end keys move to the beginning and end of the row if cursorChristopher James Lahey2001-01-281-0/+44
| | | | | | | | | | | | | | | | | | | | 2001-01-27 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c (eti_event): Make home and end keys move to the beginning and end of the row if cursor mode is set to E_TABLE_CURSOR_SIMPLE. Otherwise have %ETableSelectionModel handle them. * e-table-selection-model.c, e-table-selection-model.h: Added a "cursor_mode" argument. (e_table_selection_model_key_press): Made home and end keys move the beginning and end of the table if cursor_mode is E_TABLE_CURSOR_MODE_LINE. * e-table.c: Set the cursor-mode argument of our %ETableSelectionModel. svn path=/trunk/; revision=7864
* Made this correctly check for going off the end of the table.Christopher James Lahey2001-01-261-2/+4
| | | | | | | | | 2001-01-25 Christopher James Lahey <clahey@helixcode.com> * e-table-selection-model.c (move_selection): Made this correctly check for going off the end of the table. svn path=/trunk/; revision=7817
* Documented. Added a "cursor_activated" signal. Removed some unusedChristopher James Lahey2001-01-251-2/+31
| | | | | | | | | | | | | | | | | | | | 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
* Made the cursor move when rows are inserted or deleted. If in single modeChristopher James Lahey2001-01-221-0/+11
| | | | | | | | | | 2001-01-21 Christopher James Lahey <clahey@helixcode.com> * e-table-selection-model.c: Made the cursor move when rows are inserted or deleted. If in single mode and the selected row gets removed, move it up. svn path=/trunk/; revision=7691
* Made this conform to the new prototype for e_popup_menu_run.Christopher James Lahey2001-01-211-10/+170
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-21 Christopher James Lahey <clahey@helixcode.com> * e-table-header-item.c (ethi_header_context_menu): Made this conform to the new prototype for e_popup_menu_run. * e-table-item.c, e-table-item.h: Documented. (e_table_item_is_row_selected): Removed this function. (eti_draw): Changed this so that if the ETableItem is in cursor-mode="row", the cursor is draw all the way across the row. (eti_cursor_move_up, eti_cursor_move_down): Commented these out since they're no longer used. (_do_tooltip, eti_event): Commented out tooltips. (eti_event): Made it so that we call the key_press function in the %ETableSelectionModel on each key press. * e-table-selection-model.c, e-table-selection-model.h: Documented. Added a function e_table_selection_model_key_press that does whatever behavior is correct for the user having pressed the given key. Changed the behavior of this to better match windows (use selection-mode="browse"). * e-table-specification.c, e-table-specification.h: Added a draw_focus variable. * e-table.c: Decide whether to draw the focus based on the ETableSpecification. Removed the argument for setting whether to draw the focus. svn path=/trunk/; revision=7673
* Rename from Helix Code -> XimianMiguel de Icaza2001-01-161-1/+1
| | | | svn path=/trunk/; revision=7520
* New function. Tells whether a key should begin editing. (ect_event,Miguel de Icaza2001-01-121-4/+5
| | | | | | | | | | | 2001-01-12 Miguel de Icaza <miguel@ximian.com> * e-cell-text.c (key_begins_editing): New function. Tells whether a key should begin editing. (ect_event, GDK_KEY_PRESS/RELEASE): check whether we should start editing. svn path=/trunk/; revision=7445
* Added selection_mode argument.Christopher James Lahey2001-01-121-52/+95
| | | | | | | | | | | | | | | | 2001-01-11 Christopher James Lahey <clahey@helixcode.com> * e-table-selection-model.c, e-table-selection-model.h: Added selection_mode argument. * e-table-specification.c, e-table-specification.h: Added a selection_mode field that is set based on the selection-mode attribute in the ETableSpecification element. * e-table.c (et_real_construct): Set the selection model's selection mode based on the ETableSpecification. svn path=/trunk/; revision=7427
* need to zero out the bits corresponding to the rows not selected in theChris Toshok2000-12-041-1/+13
| | | | | | | | | | | | 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
* Made it compile again.Chris Lahey2000-11-041-2/+2
| | | | svn path=/trunk/; revision=6376
* Turned on proper handling of insert and delete.Christopher James Lahey2000-11-041-1/+1
| | | | | | | | | 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
* Emit the selection/cursor "changed" signals.Jeffrey Stedfast2000-10-051-0/+19
| | | | | | | | | | | 2000-10-04 Jeffrey Stedfast <fejj@helixcode.com> * e-table-selection-model.c (e_table_selection_model_invert_selection): Emit the selection/cursor "changed" signals. (e_table_selection_model_select_all): Same. svn path=/trunk/; revision=5724
* Select all elements of the etable.Jeffrey Stedfast2000-10-051-0/+42
| | | | | | | | | | | | | | | | 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-1/+1
| | | | 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
* Made the selection work when shift clicking on the first row of the table.Christopher James Lahey2000-08-311-7/+7
| | | | | | | | | 2000-08-31 Christopher James Lahey <clahey@helixcode.com> * e-table-selection-model.c: Made the selection work when shift clicking on the first row of the table. svn path=/trunk/; revision=5139
* Check for selection->selection being NULL inChristopher James Lahey2000-08-251-0/+3
| | | | | | | | | 2000-08-24 Christopher James Lahey <clahey@helixcode.com> * e-table-selection-model.c: Check for selection->selection being NULL in e_table_selection_model_selected_count. svn path=/trunk/; revision=5025
* Added e_table_selection_model_selected_count.Christopher James Lahey2000-08-211-0/+26
| | | | | | | | | 2000-08-20 Christopher James Lahey <clahey@helixcode.com> * e-table-selection-model.c: Added e_table_selection_model_selected_count. svn path=/trunk/; revision=4893
* Make right click select if the current row is not selected.Christopher James Lahey2000-08-101-0/+13
| | | | | | | | | | 2000-08-09 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c, e-table-selection-model.c, e-table-selection-model.h: Make right click select if the current row is not selected. svn path=/trunk/; revision=4658
* Made selection ranges work even if the table is sorted.Christopher James Lahey2000-08-051-20/+78
| | | | | | | | | | | | | 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
* Made drag events calculate a row and column and signal that information.Christopher James Lahey2000-08-041-4/+5
| | | | | | | | | | | | | | 2000-08-04 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: Made drag events calculate a row and column and signal that information. * e-table-selection-model.c, e-table-selection-model.h: Changed do_something to take a GdkModifierType. svn path=/trunk/; revision=4529
* Added a comment.Christopher James Lahey2000-07-271-0/+1
| | | | | | | | 2000-07-27 Christopher James Lahey <clahey@helixcode.com> * e-table-selection-model.c: Added a comment. svn path=/trunk/; revision=4387
* Fixed shift click selections.Christopher James Lahey2000-07-271-37/+40
| | | | | | | | 2000-07-27 Christopher James Lahey <clahey@helixcode.com> * e-table-selection-model.c: Fixed shift click selections. svn path=/trunk/; revision=4386
* Allocate correctly in the insert method.Christopher James Lahey2000-07-271-3/+3
| | | | | | | | | | | 2000-07-27 Christopher James Lahey <clahey@helixcode.com> * e-table-selection-model.c: Allocate correctly in the insert method. * e-table-click-to-add.c: Removed the line that was causing this to do bad things. svn path=/trunk/; revision=4385
* Clear the selection model when activating.Christopher James Lahey2000-07-271-2/+6
| | | | | | | | | | | | | | | 2000-07-27 Christopher James Lahey <clahey@helixcode.com> * e-table-click-to-add.c: Clear the selection model when activating. * e-table-item.c: Fixed a bunch of model column vs. view column issues. * e-table-selection-model.c: Set the cursor to -1, -1 and emi a "cursor_changed" signal. svn path=/trunk/; revision=4380
* Fixed a reference.Christopher James Lahey2000-07-271-5/+11
| | | | | | | | | | | | | | 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
* Fixed the model/view row confusion.Christopher James Lahey2000-07-271-1/+1
| | | | | | | | | | | 2000-07-26 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Fixed the model/view row confusion. * e-table-selection-model.c: Changed one expression to use a #define properly. svn path=/trunk/; revision=4371
* Added "table_selection_model" argument. Removed foreach function andChristopher James Lahey2000-07-271-38/+200
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Made foreach call the callback in top to bottom order.Christopher James Lahey2000-07-261-4/+5
| | | | | | | | | 2000-07-25 Christopher James Lahey <clahey@helixcode.com> * e-table-selection-model.c: Made foreach call the callback in top to bottom order. svn path=/trunk/; revision=4335
* Replaced get_selection_list with foreach.Christopher James Lahey2000-07-261-9/+6
| | | | | | | | | | | 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
* Added e-table-selection-model.c and e-table-selection-model.h.Christopher James Lahey2000-07-261-145/+43
| | | | | | | | | | | | | | 2000-07-25 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added e-table-selection-model.c and e-table-selection-model.h. * e-table-selection-model.c: Added the get_selection_list and is_row_selected functions. Removed some unused code. * e-table-selection-model.h: Removed some unused code. svn path=/trunk/; revision=4331
* Added comments to the bit field code.Christopher James Lahey2000-07-261-2/+13
| | | | | | | | | | 2000-07-25 Christopher James Lahey <clahey@helixcode.com> * e-table-selection-model.c: Added comments to the bit field code. * e-table-selection-model.h: Made the selection data guint32s. svn path=/trunk/; revision=4329
* More fixes.Christopher James Lahey2000-07-261-8/+22
| | | | | | | | 2000-07-25 Christopher James Lahey <clahey@helixcode.com> * e-table-selection-model.c: More fixes. svn path=/trunk/; revision=4328
* Fixed up the bit manipulation a bit here.Christopher James Lahey2000-07-261-3/+34
| | | | | | | | | 2000-07-25 Christopher James Lahey <clahey@helixcode.com> * e-table-selection-model.c: Fixed up the bit manipulation a bit here. svn path=/trunk/; revision=4327
* New files for doing a selection model. Not finished yet and thus not inChristopher James Lahey2000-07-261-0/+274
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