aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-table-item.c
Commit message (Collapse)AuthorAgeFilesLines
* Upped the version number to 0.6.99.0. Upped the so number to 6.Christopher James Lahey2001-04-131-7/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-04-12 Christopher James Lahey <clahey@ximian.com> * configure.in: Upped the version number to 0.6.99.0. Upped the so number to 6. * docs/etablexml.txt: Made some updates here. * tests/test-tree-1.c, tests/test-tree-3.c: Added NULL, NULL to the call to e_tree_memory_callbacks_new. From gal/e-table/ChangeLog: 2001-04-12 Christopher James Lahey <clahey@ximian.com> * e-table-item.c (eti_cursor_change): Only move the screen to show the cursor if there are no changes pending. Updated the commented out code for alternating colors a bit. * e-table-model.c, e-table-model.h: Added e_table_model_has_change_pending. * e-tree-memory-callbacks.c, e-tree-memory-callbacks.h: Added has_get_node_by_id and get_node_by_id. * e-tree-model.c, e-tree-model.h: Added e_tree_model_has_get_node_by_id and e_tree_model_get_node_by_id. Added e_tree_model_has_change_pending. * e-tree-selection-model.c: Handle the selection and cursor properly across the tree changing. * e-tree-sorted.c: Implemented has_get_node_by_id and get_node_by_id, and has_changes_pending. * e-tree-table-adapter.c: Implemented has_changes_pending. Fixed an array underflow. svn path=/trunk/; revision=9289
* Put debugging stuff in d().Christopher James Lahey2001-04-111-3/+5
| | | | | | | | 2001-04-10 Christopher James Lahey <clahey@ximian.com> * e-table-item.c: Put debugging stuff in d(). svn path=/trunk/; revision=9220
* Changed resizeable to resizable in ETableCol for consistency.Christopher James Lahey2001-04-101-3/+3
| | | | | | | | | | | | | | | 2001-04-09 Christopher James Lahey <clahey@ximian.com> * e-table-col.c, e-table-col.h, e-table-header-item.c, e-table-header.c, e-table-item.c: Changed resizeable to resizable in ETableCol for consistency. * e-tree-selection-model.c (etsm_row_of_node): Return -1 here if the path isn't found. (etsm_sorted_node_changed): If cursor_row is -1, make cursor_col -1 as well. svn path=/trunk/; revision=9211
* Fixed headers.Christopher James Lahey2001-04-041-1/+4
| | | | | | | | | | | | | 2001-04-04 Christopher James Lahey <clahey@ximian.com> * e-table-config.c, e-table-item.c, e-table-memory.c, e-table-sort-info.c, e-table-specification.c, e-tree-sorted.c: Fixed headers. * e-table-config.c, e-table-specification.c: Replaced strcasecmp with g_strcasecmp. svn path=/trunk/; revision=9174
* 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
* Made these use GTK_TYPE_GDK_EVENT whenever sending an event through theChristopher James Lahey2001-03-301-4/+4
| | | | | | | | | | | | | | | 2001-03-30 Christopher James Lahey <clahey@ximian.com> * e-table-group.c, e-table-header-item.c, e-table-item.c, e-table.c, e-tree.c: Made these use GTK_TYPE_GDK_EVENT whenever sending an event through the signal system instead of GTK_TYPE_POINTER. * e-table.c, e-tree.c (set_header_canvas_width): Check that none of the variables we're going to need are NULL before executing this function. svn path=/trunk/; revision=9042
* Changed the signal "table_selection_model" to just be "selection_model"Christopher James Lahey2001-03-301-20/+24
| | | | | | | | | | | | | | | | | | | 2001-03-30 Christopher James Lahey <clahey@ximian.com> * e-table-group-container.c, e-table-group-container.h, e-table-group-leaf.c, e-table-group-leaf.h, e-table-item.c, e-table-item.h, e-table.c, e-tree.c: Changed the signal "table_selection_model" to just be "selection_model" everywhere and made it be ESelectionModels instead of ETableSelectionModels for generality. * e-table-item.c (eti_event): Make right arrow and left arrow accessible as events that can be caught. * e-tree-sorted.c, e-tree-sorted.h (e_tree_sorted_orig_position): Added this function. svn path=/trunk/; revision=9041
* Ignore these signals if we aren't realized yet.Christopher James Lahey2001-03-231-4/+19
| | | | | | | | | 2001-03-23 Christopher James Lahey <clahey@ximian.com> * e-table-item.c (eti_cursor_change, eti_cursor_activated): Ignore these signals if we aren't realized yet. svn path=/trunk/; revision=8917
* Made this not create the new font until realize instead of at new_viewChristopher James Lahey2001-03-231-0/+19
| | | | | | | | | | | | | 2001-03-23 Christopher James Lahey <clahey@ximian.com> * e-cell-text.c: Made this not create the new font until realize instead of at new_view time. * e-table-item.c: Don't request heights or do other things that you aren't allowed to do before realization unless you're realized. svn path=/trunk/; revision=8915
* Bumped the version number to 05.99.9.Christopher James Lahey2001-03-211-15/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-59/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Update arguments to e_canvas_item_grab_focus. (eti_cursor_change): Ditto,Dan Winship2001-03-161-3/+3
| | | | | | | | | | * e-table-item.c (eti_event): Update arguments to e_canvas_item_grab_focus. (eti_cursor_change): Ditto, but pass FALSE! Fixes the problem of the Evolution message list stealing your focus when new mail arrives. Ha! svn path=/trunk/; revision=8746
* Changed e_table_selection_model_clear to e_selection_model_clear.Christopher James Lahey2001-02-281-24/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* new abstract ECell subclass to be used as base class for popup ECells.Damon Chaplin2001-02-261-7/+7
| | | | | | | | | | | | | | | | | 2001-02-25 Damon Chaplin <damon@ximian.com> * e-cell-popup.c: new abstract ECell subclass to be used as base class for popup ECells. * e-cell-combo.c: subclass of ECellPopup which pops up a simple list of strings. * e-table-item.c: Renamed eti_row_diff() to e_table_item_row_diff() and made public, since the ECellPopup subclasses need it. * Makefile.am: added e-cell-popup.[hc] and e-cell-combo.[hc] svn path=/trunk/; revision=8387
* Fix the crash when ETableItems are destroyed.Christopher James Lahey2001-02-141-1/+4
| | | | | | | | | 2001-02-13 Christopher James Lahey <clahey@ximian.com> * e-table-item.c (eti_destroy): Fix the crash when ETableItems are destroyed. svn path=/trunk/; revision=8207
* Let e_canvas_item_show_area_delayed deal with a delayed area show insteadChristopher James Lahey2001-02-111-28/+8
| | | | | | | | | | 2001-02-11 Christopher James Lahey <clahey@ximian.com> * e-table-item.c (eti_cursor_change): Let e_canvas_item_show_area_delayed deal with a delayed area show instead of dealing with it ourselves. svn path=/trunk/; revision=8169
* Make this not error out if ecol is not found, but simply return -1.Christopher James Lahey2001-02-051-3/+2
| | | | | | | | | | | 2001-02-04 Christopher James Lahey <clahey@ximian.com> * e-table-item.c (view_to_model_col): Make this not error out if ecol is not found, but simply return -1. (eti_event): Don't call view_to_model_col here as we already have a model column. svn path=/trunk/; revision=7960
* make the segfault caused by double clicking into a critical warning untilLarry Ewing2001-02-011-0/+1
| | | | | | | | | 2001-01-31 Larry Ewing <lewing@ximian.com> * e-table-item.c (view_to_model_col): make the segfault caused by double clicking into a critical warning until it can be fixed. svn path=/trunk/; revision=7927
* Made the contained %ETableItem have cursor_mode asChristopher James Lahey2001-01-301-29/+32
| | | | | | | | | | | | | | | | 2001-01-30 Christopher James Lahey <clahey@helixcode.com> * e-table-click-to-add.c (etcta_event): Made the contained %ETableItem have cursor_mode as %E_TABLE_CURSOR_SPREADSHEET. * e-table-defines.h, e-table-item.c, e-table-specification.c: Added a new cursor mode E_TABLE_CURSOR_SPREADSHEET. This is accessed using cursor_mode="spreadsheet" in your specification xml, as well as by the click_to_add item. It is identical to E_TABLE_CURSOR_SIMPLE, except that tab goes to the next item in the table instead of to the next widget. svn path=/trunk/; revision=7910
* Made carriage return finish editing.Christopher James Lahey2001-01-301-5/+4
| | | | | | | | | | | | 2001-01-30 Christopher James Lahey <clahey@helixcode.com> * e-table-click-to-add.c (etcta_event): Made carriage return finish editing. * e-table-item.c (eti_event): Made carriage return key press signal go out before sending it to the selection model. svn path=/trunk/; revision=7909
* Made the scrolling to show the current roll happen in a time out.Christopher James Lahey2001-01-281-2/+50
| | | | | | | | | 2001-01-28 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c, e-table-item.h: Made the scrolling to show the current roll happen in a time out. svn path=/trunk/; revision=7875
* Make home and end keys move to the beginning and end of the row if cursorChristopher James Lahey2001-01-281-0/+16
| | | | | | | | | | | | | | | | | | | | 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
* Make ETable stop editing when it looses focus.Christopher James Lahey2001-01-271-3/+14
| | | | | | | | | | | | | 2001-01-27 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c (eti_event): Make ETable stop editing when it looses focus. * e-table.c (et_canvas_button_press): Make ETable stop editing if you click on an unhandled area of the table canvas (The white area at the bottom for instance.) svn path=/trunk/; revision=7849
* Documented. Added a "cursor_activated" signal. Removed some unusedChristopher James Lahey2001-01-251-23/+58
| | | | | | | | | | | | | | | | | | | | 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 this conform to the new prototype for e_popup_menu_run.Christopher James Lahey2001-01-211-23/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Commented out an unused variable to fix a warning.Christopher James Lahey2000-12-151-0/+2
| | | | | | | | | 2000-12-14 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c (eti_realize): Commented out an unused variable to fix a warning. svn path=/trunk/; revision=7014
* Added eti_visibility_notify. Didn't get it to work properly, so it's #ifChristopher James Lahey2000-12-141-0/+25
| | | | | | | | | 2000-12-13 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c (eti_realize): Added eti_visibility_notify. Didn't get it to work properly, so it's #if 0ed out. svn path=/trunk/; revision=6991
* Changed the background color of the tooltips to light gray.Christopher James Lahey2000-12-141-1/+1
| | | | | | | | | | | | 2000-12-13 Christopher James Lahey <clahey@helixcode.com> * e-cell-text.c (ect_show_tooltip): Changed the background color of the tooltips to light gray. * e-table-item.c (eti_event): Changed the tooltip timeout to 100 milliseconds. svn path=/trunk/; revision=6988
* remove the silly logic - we pop up a tooltip regardless of where the mouseChris Toshok2000-12-141-0/+5
| | | | | | | | | | | | | | | | | | | 2000-12-13 Chris Toshok <toshok@helixcode.com> * e-cell-tree.c (ect_show_tooltip): remove the silly logic - we pop up a tooltip regardless of where the mouse cursor hovers. just make sure it appears in the right place. (ect_event): reverse the change we make to the event after passing it to our subcell. this fixes the problem of the tree reacting twice to events (once with flags == 0, and once with flags == E_CELL_EDITING). * e-table-item.c (eti_event): destroy the tooltip window on a motion event. this can (and does) happen when we get a tooltip on a tree cell and the cursor isn't over the area where the tooltip pops up. svn path=/trunk/; revision=6979
* New function to calculate the extra pixels per column header.Christopher James Lahey2000-12-141-0/+15
| | | | | | | | | | | | | | | | | | | | | | 2000-12-13 Christopher James Lahey <clahey@helixcode.com> * e-table-header-utils.c, e-table-header-utils.h (e_table_header_width_extras): New function to calculate the extra pixels per column header. * e-table-header.c, e-table-header.h: Added a "width_extras" argument which is used to calculate the correct minimum widths for each column header after adding padding. * e-table-item.c (_do_tooltip): Destroy the old tooltip window when creating the new one. (eti_event): Destroy the old tooltip window if the person presses a key. Don't handle the tab key. * e-table.c (et_state_to_header): Set the ETableHeader's width_extras argument. svn path=/trunk/; revision=6978
* Emit double_click signal with the model column, not the view column.Dan Winship2000-12-121-1/+1
| | | | | | | * e-table-item.c (eti_event): Emit double_click signal with the model column, not the view column. svn path=/trunk/; revision=6909
* Added the actions parameter to ect_event. Added an actions field toChristopher James Lahey2000-12-101-40/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-12-09 Christopher James Lahey <clahey@helixcode.com> * e-cell-text.c: Added the actions parameter to ect_event. Added an actions field to CellEdit. Handle CellEdit properly in the ect_event function to do grabbing and ungrabbing when appropriate. Set the actions field in CellEdit when appropriate in e_cell_text_view_command. * e-cell-toggle.c, e-cell-tree.c, e-cell.c, e-cell.h: Added a ECellActions enum, a ECellActions actions parameter to e_cell_event and added the actions parameter to all the handlers of the event method including having ECellTree pass it on to its child cell. * e-table-header-item.c: Use the NULL cursor instead of the E_CURSORS_ARROW cursor. * e-table-item.c, e-table-item.h: Added grabbed_row and grabbed_col fields to ETableItem (-1 on either means ungrabbed.) Pay attention to them in the find_cell function. Handle the actions parameter of e_cell_event and grab or ungrab the pointer to a given cell if requested. This is done using the new function eti_e_cell_event (which is internal to e-table-item.c,) instead of the old e_cell_event function call. Fake an ungrabbed table when calling find_cell from within the compute_location method. svn path=/trunk/; revision=6889
* Add column and GdkEvent * parameters to the double click signal.Christopher James Lahey2000-12-081-3/+8
| | | | | | | | | | | | | | | | | | 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
* pass along the column's width to e_cell_show_tooltip.Chris Toshok2000-12-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | 2000-12-06 Chris Toshok <toshok@helixcode.com> * e-table-item.c (_do_tooltip): pass along the column's width to e_cell_show_tooltip. * e-cell-text.c (ect_show_tooltip): add col_width argument, and set cell.width = col_width - 8 (to mimic what happens in build_current_cell, but with a possibly altered width). * e-cell.c (e_cell_show_tooltip): add col_width argument, and pass along to virtual function. (ec_show_tooltip): add col_width argument. * e-cell.h: change prototype of e_cell_show_tooltip to include a width parameter. * e-cell-tree.c (ect_show_tooltip): send the width - the subcell's offset to e_cell_show_tooltip. svn path=/trunk/; revision=6831
* Adapted these to accept the new flags parameter to e_cell_event.Christopher James Lahey2000-12-071-18/+22
| | | | | | | | | | | | | | | | 2000-12-06 Christopher James Lahey <clahey@helixcode.com> * e-cell-text.c, e-cell-toggle.c, e-cell-tree.c: Adapted these to accept the new flags parameter to e_cell_event. * e-cell.c, e-cell.h: Added a flags parameter to e_cell_event. * e-table-item.c: Send all e_cell_event calls a E_CELL_EDITABLE flag. Add a new e_cell_event to the button press event that happens before selecting the appropriate row and which does not have the E_CELL_EDITABLE flag set. svn path=/trunk/; revision=6823
* Federico gets into pixel-perfect neurosis. Xmag is my best friend.Federico Mena Quintero2000-12-031-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-12-01 Federico Mena Quintero <federico@helixcode.com> Federico gets into pixel-perfect neurosis. Xmag is my best friend. * e-table-item.c (eti_draw): Set the focus_gc stipple origin to match the upper-left corner of the focus rectangle. This way focusing will look consistent even among rows/columns with odd pixel sizes. Also, make the focus rectangle span the whole cell; there was one blank pixel column to the left of the rectangle. * e-table-header-utils.c: New file with utilities for drawing header buttons. This is so that ETableHeaderItem and ETableFieldChooserItem can share the same code. (e_table_header_compute_height): New function to compute the height of a column button. (make_composite_pixmap): New function to composite a pixbuf against a solid background and make a pixmap out of the result. This does some ultra-fancy fading-out of the original pixbuf if the destination area is smaller than the source. (compute_elision_length): New function to compute the elision length in O(n log n) instead of O(n^2), for n = strlen (str). (e_table_header_draw_button): New function to draw a header button. (e_table_draw_elided_string): New function to draw a string elided to a maximum width. * e-table-defines.h (HEADER_PADDING): Made the default padding be 1; now a header button's height is content_height + 2 * (HEADER_PADDING + style->ythickness). This is the correct way to measure button heights. * e-table-field-chooser-item.c (etfci_find_button): Use e_table_header_compute_height(). (etfci_reflow): Likewise. (etfci_draw): Use e_table_header_draw_button(). (etfci_start_drag): Likewise. (etfci_draw): Likewise. (etfci_start_drag): Likewise. (etfci_button_height): Removed function. (draw_button): Removed function. * e-table-header-item.c (draw_button): Removed function. (e_table_header_item_get_height): Use e_table_header_compute_height(). (ethi_draw): e_table_header_draw_button(). (ethi_start_drag): Likewise. (make_shaped_window_from_xpm): Fixed misspelling in function name. (draw_button): Removed function. * Makefile.am: Added e-table-header-utils.[ch]. svn path=/trunk/; revision=6766
* Save the children - FedericoFederico Mena Quintero2000-11-231-6/+15
| | | | svn path=/trunk/; revision=6652
* Made the column on the right click and click signals be the model columnChristopher James Lahey2000-10-261-2/+2
| | | | | | | | | 2000-10-25 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Made the column on the right click and click signals be the model column instead of the view column. svn path=/trunk/; revision=6172
* Destroy the tooltip timeout on object destruction.Christopher James Lahey2000-10-241-1/+8
| | | | | | | | | 2000-10-23 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Destroy the tooltip timeout on object destruction. svn path=/trunk/; revision=6137
* Made it so that it doesn't recalculate all the rows if a row is changed,Christopher James Lahey2000-10-221-4/+27
| | | | | | | | | | | 2000-10-22 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Made it so that it doesn't recalculate all the rows if a row is changed, inserted or deleted. * e-table-subset.c: Added debugging code (turned off). svn path=/trunk/; revision=6102
* Make text a different color if !(flags & E_CELL_FOCUSED).Christopher James Lahey2000-10-191-1/+5
| | | | | | | | | | | | | | | | | 2000-10-18 Christopher James Lahey <clahey@helixcode.com> * e-cell-text.c: Make text a different color if !(flags & E_CELL_FOCUSED). * e-cell.h: Added E_CELL_FOCUSED to flags. * e-table-item.c: Changed the background color of selected cells if the widget is focused. Send E_CELL_FOCUSED to flags if the widget is focused. * e-table.c: Repaint the window if focus changes. svn path=/trunk/; revision=6010
* when there are 0 columns, don't assert.Jeffrey Stedfast2000-10-121-1/+1
| | | | | | | | 2000-10-12 Jeffrey Stedfast <fejj@helixcode.com> * e-table-item.c: when there are 0 columns, don't assert. svn path=/trunk/; revision=5876
* Removed the assertion that there must be at least 1 column. No way toNot Zed2000-10-091-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fudge the location of a click in the tooltip, so that it selects theIain Holmes2000-09-271-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | 2000-09-27 Iain Holmes <iain@helixcode.com> * e-cell-text.c: Fudge the location of a click in the tooltip, so that it selects the current cell. Pass keyboard events to the e-table. * e-table-item.c: Don't show the tooltip if the cell is being editted. Also don't destroy the tooltip until the button release event (other wise the e-table-item starts a select) 2000-09-25 Iain Holmes <iain@helixcode.com> * e-table-header-item.c (draw_button): Calculate the vertical offset correctly to centre text. 2000-09-25 Iain Holmes <iain@helixcode.com> * e-table-header-item.c (ethi_popup_best_fit): Fill this out to call the "request_width" signal and set the new size. svn path=/trunk/; revision=5599
* Typo caused readability problems with ETable.Christopher James Lahey2000-09-211-1/+1
| | | | | | | | 2000-09-21 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Typo caused readability problems with ETable. svn path=/trunk/; revision=5536
* Moved files, fixed header files and paths - FedericoFederico Mena Quintero2000-09-201-3/+3
| | | | svn path=/trunk/; revision=5513
* Fixed e-table #includes so that it would compile.Chris Lahey2000-09-181-3/+3
| | | | svn path=/trunk/; revision=5482
* Better calculations for tooltip positionsIain Holmes2000-09-181-3/+2
| | | | svn path=/trunk/; revision=5477
* Added some missing #includes.Christopher James Lahey2000-09-161-2/+2
| | | | | | | | | | | | 2000-09-16 Christopher James Lahey <clahey@helixcode.com> * e-cell-text.c: Added some missing #includes. * e-cell-tree.c: Removed an unused variable. * e-table-item.c: Added some missing casts. svn path=/trunk/; revision=5470
* If the cursor is inside the subcell, call the show_tooltip on it.Iain Holmes2000-09-161-0/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-09-15 Iain Holmes <iain@helixcode.com> * e-cell-tree.c (ect_show_tooltip): If the cursor is inside the subcell, call the show_tooltip on it. * e-table-header-item.c (draw_button): Draw the arrow first, then take it's size into account when calculating how to draw the text. Use ellipsis if the text it too long. 2000-09-15 Iain Holmes <iain@helixcode.com> * e-table-header-item.c (draw_button): Fix a crash by passing the canvas widget to gtk_paint_box. Reported by Radek. 2000-09-14 Iain Holmes <iain@helixcode.com> * e-table-header-item.c (set_cursor): The column isn't resizable if it is the last, or if all other columns after it are not resizable. * e-cell-text.c (ect_max_width): Correctly calculate the width of the line of text. Unbuild the current cell and unref the lines as well. (build_current_cell): Initialize cell->style to 0; 2000-09-14 Iain Holmes <iain@helixcode.com> * e-table-item.c: Start timers for the tooltip to appear, on motion events. * e-cell.[ch]: Add a new show_tooltip method. * e-cell-text.c (ect_show_tooltip): Show the tooltip. svn path=/trunk/; revision=5466
* Fix some crashes Make double clicking on the header dividers automaticallyIain Holmes2000-09-151-1/+20
| | | | | | | | | | | Fix some crashes Make double clicking on the header dividers automatically size the header to it's best fit. When dragging onto the header check the dragged item is a header object. Check the column is resizeable before setting the cursor to <-> Use the font and themes to draw the table and items. svn path=/trunk/; revision=5438
* Fixed a leak and a double unref.Christopher James Lahey2000-09-021-3/+0
| | | | | | | | 2000-09-01 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c, e-table.c: Fixed a leak and a double unref. svn path=/trunk/; revision=5174
* Make printing of groups work better and make them print headers.Christopher James Lahey2000-08-291-0/+4
| | | | | | | | | | | 2000-08-28 Christopher James Lahey <clahey@helixcode.com> * e-table-group-container.c: Make printing of groups work better and make them print headers. * e-table-item.c: Turn off alternating row support. svn path=/trunk/; revision=5086
* Pay attention to the return value from the click signal.Christopher James Lahey2000-08-251-2/+8
| | | | | | | | | 2000-08-24 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Pay attention to the return value from the click signal. svn path=/trunk/; revision=5022
* Added a click signal which gets sent if the user hits the left or middleChristopher James Lahey2000-08-251-0/+13
| | | | | | | | | | | 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 infrastructure for setting the justification of columns. Still needChristopher James Lahey2000-08-251-1/+18
| | | | | | | | | | | | 2000-08-24 Christopher James Lahey <clahey@helixcode.com> * e-cell-text.c, e-cell-toggle.c, e-cell-tree.c, e-cell.c, e-cell.h, e-table-col.c, e-table-col.h, e-table-item.c: Added infrastructure for setting the justification of columns. Still need to change the cells to support it and need to add user interface to change the justification. svn path=/trunk/; revision=5010
* Moved drawing of the cell backgrounds from ECell into ETableItem.Christopher James Lahey2000-08-221-2/+16
| | | | | | | | | | | 2000-08-22 Christopher James Lahey <clahey@helixcode.com> * e-cell-text.c, e-cell-toggle.c, e-cell-tree.c, e-table-item.c: Moved drawing of the cell backgrounds from ECell into ETableItem. * e-tree-model.c: Include stdlib.c. svn path=/trunk/; revision=4915
* Made background colors alternate.Christopher James Lahey2000-08-201-10/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-08-19 Christopher James Lahey <clahey@helixcode.com> * e-cell-text.c: Made background colors alternate. * e-table-click-to-add.c: Made tabbing off the right edge of the click to add commit the new values. * e-table-group-container.c, e-table-group-leaf.c, e-table-group.c, e-table-group.h, e-table-sorted-variable.c, e-table-subset-variable.c, e-table-subset-variable.h: Added a decrement method. Made the add and remove methods not automatically increment and decrement. * e-table-item.c: Fixed some view vs model issues for both rows and columns. * e-table-model.c: Added debugging code. Removed automatic signalling of changes by the ETableModel set_value_at function (the model should send these signals itself.) * e-table.c: Added increment and decrement calls when a row is removed or added from the source model. svn path=/trunk/; revision=4881
* Make right click select if the current row is not selected.Christopher James Lahey2000-08-101-0/+2
| | | | | | | | | | 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 drag events calculate a row and column and signal that information.Christopher James Lahey2000-08-041-10/+20
| | | | | | | | | | | | | | 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
* Add a handler for "model_pre_change" and properly stop editing.Christopher James Lahey2000-08-031-7/+35
| | | | | | | | | | | | | | | | | | 2000-08-02 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c, e-table-item.h: Add a handler for "model_pre_change" and properly stop editing. * e-table-model.c, e-table-model.h: Added a "model_pre_change" signal that gets sent before any row numbers are changed. * e-table-sorted-variable.c, e-table-subset-variable.c: Emit "model_pre_change" signals as appropriate. * e-table-subset.c, e-table-subset.h: Proxy "model_pre_changed" signals. svn path=/trunk/; revision=4472
* Made enter key destroy and recreate the ETableItem.Christopher James Lahey2000-07-301-0/+2
| | | | | | | | | | | | 2000-07-29 Christopher James Lahey <clahey@helixcode.com> * e-table-click-to-add.c: Made enter key destroy and recreate the ETableItem. * e-table-item.c: Grab focus when person clicks even if cursor isn't changing. svn path=/trunk/; revision=4416
* Fixed up the table behavior so that it's not always in an edit mode.Christopher James Lahey2000-07-281-9/+43
| | | | | | | | | 2000-07-27 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Fixed up the table behavior so that it's not always in an edit mode. svn path=/trunk/; revision=4392
* Grab focus properly.Christopher James Lahey2000-07-271-1/+14
| | | | | | | | | | | 2000-07-27 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c (eti_cursor_change): Grab focus properly. * e-table-item.c, e-table-click-to-add.c: Fixed ETableClickToAdd to handle carriage return. This still doesn't quite work right. svn path=/trunk/; revision=4384
* Clear the selection model when activating.Christopher James Lahey2000-07-271-66/+71
| | | | | | | | | | | | | | | 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 the model/view row confusion.Christopher James Lahey2000-07-271-10/+14
| | | | | | | | | | | 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-219/+228
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Add e-table-scrolled.c and e-table-scrolled.h.Christopher James Lahey2000-07-101-0/+3
| | | | | | | | | | | | | | | | | 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
* Put back e_cell_event sometimes when we're not editing.Christopher James Lahey2000-07-101-3/+3
| | | | | | | | | 2000-07-09 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c (eti_event): Put back e_cell_event sometimes when we're not editing. svn path=/trunk/; revision=4019
* Get rid of an unused variable.Ettore Perazzoli2000-07-091-0/+4
| | | | svn path=/trunk/; revision=3997
* Don't call e_cell_event if we're not editing.Christopher James Lahey2000-07-091-3/+3
| | | | | | | | | 2000-07-08 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c (eti_event): Don't call e_cell_event if we're not editing. svn path=/trunk/; revision=3991
* Commented out some unnecessary and buggy code.Christopher James Lahey2000-07-091-0/+2
| | | | | | | | | 2000-07-08 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c (eti_table_model_changed): Commented out some unnecessary and buggy code. svn path=/trunk/; revision=3988
* Send GDK_BUTTON_RELEASE events to the ecell associated with the cell (ifChristopher James Lahey2000-07-061-0/+37
| | | | | | | | | 2000-07-06 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Send GDK_BUTTON_RELEASE events to the ecell associated with the cell (if it's the cursor.) svn path=/trunk/; revision=3909
* Added a reflow_compare callback and did removal if you do shift-click on aChristopher James Lahey2000-07-041-5/+30
| | | | | | | | | 2000-07-03 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Added a reflow_compare callback and did removal if you do shift-click on a selected row that's not the cursor. svn path=/trunk/; revision=3873
* From mail:Christopher James Lahey2000-06-301-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Added an unsort command.Christopher James Lahey2000-06-281-0/+1
| | | | | | | | | | 2000-06-27 Christopher James Lahey <clahey@helixcode.com> * e-table-header-item.c: Added an unsort command. * e-table-item.c: leave_edit when you loose the cursor. svn path=/trunk/; revision=3766
* Calculate height including if clip_height is set to -1.Christopher James Lahey2000-06-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Killed a warning.Christopher James Lahey2000-06-231-1/+1
| | | | | | | | 2000-06-22 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Killed a warning. svn path=/trunk/; revision=3691
* Remove use of the "x" and "y" arguments to EText.Christopher James Lahey2000-06-231-0/+2
| | | | | | | | | | | | | | 2000-06-22 Christopher James Lahey <clahey@helixcode.com> * e-table-group-container.c: Remove use of the "x" and "y" arguments to EText. * e-table-item.c: Properly ref the source_model field. * test-check.c, test-cols.c, test-table.c: Remove use of the "x" and "y" arguments to ETableHeaderItem. svn path=/trunk/; revision=3690
* Fix a minor warning.Christopher James Lahey2000-06-211-7/+19
| | | | | | | | | | | 2000-06-20 Christopher James Lahey <clahey@helixcode.com> * e-table-group-leaf.c: Fix a minor warning. * e-table-item.c: Add to the selection if shift is held down. Show cursor when changing sort (or if table changes majorly.) svn path=/trunk/; revision=3667
* Fix cursor column information.Christopher James Lahey2000-06-211-6/+9
| | | | | | | | 2000-06-20 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Fix cursor column information. svn path=/trunk/; revision=3661
* Removed the unfocus method since that's handled by the canvas itself now.Christopher James Lahey2000-06-211-99/+85
| | | | | | | | | | | | | | | | | | 2000-06-20 Christopher James Lahey <clahey@helixcode.com> * e-table-group-container.c, e-table-group-leaf.c, e-table-group.c, e-table-group.h: Removed the unfocus method since that's handled by the canvas itself now. * e-table-item.c, e-table-item.h: Finished adapting ETableItem to use the canvas selection/cursor system. Selection and cursor now use row numbers associated with the source model instead of the sorted model (if the model they are given is an ETableSubset.) This has no effect on the interface, except that unfocus was removed and e_table_item_focus was renamed to e_table_item_set_cursor. svn path=/trunk/; revision=3660
* Started adapting ETableItem to use the canvas selection/cursor system.Christopher James Lahey2000-06-211-62/+49
| | | | | | | | | 2000-06-20 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c, e-table-item.h: Started adapting ETableItem to use the canvas selection/cursor system. svn path=/trunk/; revision=3656
* Clip the contained text.Christopher James Lahey2000-06-131-3/+67
| | | | | | | | | | | | | | | 2000-06-13 Christopher James Lahey <clahey@helixcode.com> * e-cell-text.c: Clip the contained text. * e-table-group-container.c: Did a first pass at grouped printing. This works, but there's no fancy boxes or headers around the groups. * e-table-item.c: Added will_fit function and added quantize function to _height. svn path=/trunk/; revision=3552
* change things so we focus the cell and select the row, and also dispatchChris Toshok2000-06-111-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-06-10 Chris Toshok <toshok@helixcode.com> * e-table-item.c (eti_event): change things so we focus the cell and select the row, and also dispatch the event to that row/cell. This fixes the problem with the tree where you had to click twice to activate the tree controls. * Makefile.am (libetable_a_SOURCES): remove e-tree-gnode.* and add e-tree-simple.* (icons): add tree-expanded.xpm and tree-unexpanded.xpm * e-cell-tree.c (ect_enter_edit): defer to subcell's view. (ect_leave_edit): defer to subcell's view. (visible_depth_of_node): visual depth, taking into account that the root node of the model might not be displayed. (offset_of_node): return the offset used to shift the subcell over. (ect_draw): don't draw vertical lines if we're the leftmode node (a visual root node). also, don't shift x2 by the subcell offset, so we get ellipses like we're supposed to. (ect_event): remove GDK_BUTTON_RELEASE from the list of events that we care about. * e-tree-example-1.c: lots of changes, a more dynamic UI so we can test tree model api stuff. * e-tree-gnode.c, e-tree-gnode.c: removed files, since their guts have been rolled into e-tree-model.c * e-tree-model.c, e-tree-model.h: substantially changed. too much to really describe here. this should really be considered the first revision of these files :) * e-tree-simple.c, e-tree-simple.h: analogous to e-table-simple, a subclass that allows the use of function pointers. svn path=/trunk/; revision=3519
* Added $(GNOME_PRINT_LIBS) to all of the LDADDs.Christopher James Lahey2000-06-111-0/+255
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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-25/+50
| | | | | | | | | | | | 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
* Copy and paste error.Christopher James Lahey2000-06-021-10/+3
| | | | | | | | | | 2000-06-01 Christopher James Lahey <clahey@helixcode.com> * e-table.c: Copy and paste error. * e-table-item.c: Mixed up parity on eti->editing. svn path=/trunk/; revision=3368
* Added a "key_press" signal.Christopher James Lahey2000-06-021-3/+18
| | | | | | | | | | 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
* Copy and paste error.Christopher James Lahey2000-06-021-1/+1
| | | | | | | | 2000-06-01 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Copy and paste error. svn path=/trunk/; revision=3353
* Added e_table_get_selected_view_row.Christopher James Lahey2000-06-021-0/+6
| | | | | | | | | | 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
* Make sure that the cursor is always shown when the selection changes.Christopher James Lahey2000-05-311-2/+27
| | | | | | | | | 2000-05-30 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Make sure that the cursor is always shown when the selection changes. svn path=/trunk/; revision=3290
* Fixed a bunch of selection bugs. Removed "spreadsheet" argument (for now.)Christopher James Lahey2000-05-301-67/+136
| | | | | | | | | | | | | | 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-4/+30
| | | | | | | | | | 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
* Account for extra pixel at right end of ETable.Christopher James Lahey2000-05-261-1/+1
| | | | | | | | | | | | | 2000-05-25 Christopher James Lahey <clahey@helixcode.com> * e-table-header.c: Account for extra pixel at right end of ETable. * e-table-item.c: Make grid less intrusive. * e-table.c: Make scrollbars disappear when appropriate. svn path=/trunk/; revision=3206
* Fixed a memory leak.Christopher James Lahey2000-05-161-0/+2
| | | | | | | | 2000-05-16 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Fixed a memory leak. svn path=/trunk/; revision=3089
* From widgets/e-table/ChangeLogChristopher James Lahey2000-05-141-48/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-05-14 Christopher James Lahey <clahey@helixcode.com> * Implemented the feature where the ETable columns automatically fill the given space. * e-cell-text.c, e-cell-text.h: Moved #include e-text-event-processor.h from the .h to the .c. * e-table-col.c, e-table-col.h: Added an expansion variable, and made it so that width isn't set by the programmer but instead by the e-table-header. * e-table-example-1.c, e-table-example-2.c, e-table-size-test.c, test-check.c, test-cols.c, test-table.c: Fixed to handle new ETable column resizing. * 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: Fixed these to do a proper canvas reflow/update loop. Changed them to take a minimum width and return a width and a height. * e-table-header-item.c, e-table-header-item.h: Made this so that it depends on e-table-header.c for deciding the actual size of columns during resize (it was making incorrect decisions on its own.) * e-table-header.c, e-table-header.h: Changed this to make sure that the sum of the widths of the columns was always as close as possible to the width of the window. This is done by taking a full width and having each of the columns have an "expansion" field. This field is what makes each column have approximately the same portion of its part of the screen that it used to. * e-table.c: Changed this to set the width on the ETableHeader as well as set the proper minimum width on the ETableGroup and get the width and height it reports. From addressbook/ChangeLog 2000-05-14 Christopher James Lahey <clahey@helixcode.com> * backend/ebook/Makefile.am: Added libeutil for e-card's support for categories. * backend/ebook/e-card-list.c, backend/ebook/e-card-list.h: Added a function to get the length. * backend/ebook/e-card.c, backend/ebook/e-card.h: Added categories support (accessible either as "categories" or "category_list".) * contact-editor/Makefile.am: Added e-table and all of the categories files. * contact-editor/categories.glade, contact-editor/categories-strings.h, contact-editor/e-contact-editor-categories.c, contact-editor/e-contact-editor-categories.h: * contact-editor/contact-editor.glade, contact-editor/e-contact-editor-strings.h: Rearranged this dialog. * contact-editor/e-contact-editor.c: Rearranged dialog a bit. Added opening of categories dialog. * gui/component/Makefile.am: Rearranged libraries so that libetable would be available for the contact editor categories dialog. * gui/component/addressbook.c: Fix for new ETable resizing. Make contact editor dialog resizable. * gui/minicard/Makefile.am: Added libetable contact editor categories dialog. * gui/minicard/e-minicard.c: Make contact editor dialog resizable. From mail/ChangeLog 2000-05-14 Christopher James Lahey <clahey@helixcode.com> * message-list.c: Updated to work with new ETable resizing. svn path=/trunk/; revision=3027
* Handle row_inserted and row_deleted signals properly.Christopher James Lahey2000-05-081-3/+30
| | | | | | | | | | | | | | | 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
* Added a height_cache idle loop so that the height_cache will be validatedChristopher James Lahey2000-05-041-2/+38
| | | | | | | | | 2000-05-04 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c, e-table-item.h: Added a height_cache idle loop so that the height_cache will be validated in the idle loop. svn path=/trunk/; revision=2794
* Fix author information.Christopher James Lahey2000-05-041-4/+30
| | | | | | | | | | | | | | | 2000-05-04 Christopher James Lahey <clahey@helixcode.com> * e-cell-text.c, e-cell-text.h: Fix author information. * e-table-group-leaf.c: Set a length threshold of 200. * e-table-item.c: Height cache is now actually a map. Made "length_threshold" argument work. If over the length threshold, use the height cache to get a better estimate so that once the height cache is full, height estimate is perfect. svn path=/trunk/; revision=2791
* Add argument handling here.Miguel de Icaza2000-04-261-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fixed a warning.Christopher James Lahey2000-04-251-2/+0
| | | | | | | | | | 2000-04-25 Christopher James Lahey <clahey@helixcode.com> * e-table-size-test.c: Fixed a warning. * e-table-item.c: Removed the unnecessary gnome_canvas_update_bbox. svn path=/trunk/; revision=2598
* Calculate the width of the table from the width of all the columns, andIain Holmes2000-04-241-2/+11
| | | | | | | | | | 2000-04-23 Iain Holmes <ih@csd.abdn.ac.uk> * e-table-item.c (eti_bounds): Calculate the width of the table from the width of all the columns, and update the eti->width field as appropiate. (eti_update): Update the bbox. svn path=/trunk/; revision=2572
* Propagate mouse wheel events upwards.Anders Carlsson2000-04-171-2/+6
| | | | | | | | | | | | 2000-04-16 Anders Carlsson <andersca@gnu.org> * e-table-item.c (eti_event): Propagate mouse wheel events upwards. * e-table.c (et_real_construct): Use a GtkScrolledWindow here instead of a GtkScrollbar, since it makes mouse wheel scrolling much easier. svn path=/trunk/; revision=2463
* Added a row height cache.Christopher James Lahey2000-04-151-2/+59
| | | | | | | | 2000-04-14 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c, e-table-item.h: Added a row height cache. svn path=/trunk/; revision=2443
* Fixed some referencing and lifetime issues.Christopher James Lahey2000-04-051-1/+3
| | | | | | | | | | | | | | | | | 2000-04-04 Christopher James Lahey <clahey@helixcode.com> * widgets/e-minicard/e-minicard.c: Fixed some referencing and lifetime issues. From widgets/e-table: 2000-04-04 Christopher James Lahey <clahey@helixcode.com> * e-table-text-model.c: Make this assert a bit more readable. * e-table-item.c: Fix update loop behavior. svn path=/trunk/; revision=2291
* Fix indentationMiguel de Icaza2000-03-301-8/+8
| | | | svn path=/trunk/; revision=2252
* Fix nasty rendering bugs,Michael Meeks2000-03-281-41/+54
| | | | | | | 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-42/+37
| | | | | | | | | | | | | * 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
* Rearranged SUBDIRS for dependencies.Christopher James Lahey2000-03-121-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-03-12 Christopher James Lahey <clahey@helixcode.com> * widgets/Makefile.am: Rearranged SUBDIRS for dependencies. * widgets/e-text/e-text-model.c, widgets/e-text-model.h: New object which stores a piece of text data. All methods are virtual. * widgets/e-text/e-text.c, widgets/e-text/e-text.h: Modified this to use an ETextModel for its data. * widgets/e-text/Makefile.am: Added e-text-model.c and e-text-model.h. * widgets/e-minicard/test-minicard-label.c: Made this work again. * widgets/e-minicard/e-minicard.c, widgets/e-minicard/e-minicard.h: Made this use an ETableModel to get its data. * widgets/e-minicard/e-minicard-label.c, widgets/e-minicard/e-minicard-label.h: Added the ability to set the text model used for the contained text widget. * widgets/e-minicard/Makefile.am: Added e-table since e-minicard is now dependent on an e-table-model for its data. * e-util/e-canvas.c, e-util/e-canvas.h: Fixed some bugs here to speed up reflow and to make it fail less often. * addressbook/demo, addressbook/demo/.cvsignore, addressbook/demo/Makefile.am, addressbook/demo/demo.c, addressbook/demo/spec: A new program to test ETable and EMinicard integration. * configure.in: Added addressbook/demo/Makefile. * addressbook/Makefile.am: Added the demo/ subdirectory. in widgets/e-table/: 2000-03-12 Christopher James Lahey <clahey@helixcode.com> * e-table.c: Made this use an ECanvas. Fixed a bug where e_table_new_from_spec_file was calling e_table_construct instead of e_table_construct_from_spec_file. * e-table-item.c, e-table-header-item.c, e-table-column-item.c: Switched these to use GTK_TYPE_OBJECT and GTK_VALUE_OBJECT instead of GTK_TYPE_POINTER and GTK_TYPE_OBJECT. * e-cell-text.c: Got rid of a crashing bug. * e-table-text-model.c, e-table-text-model.h: A new object which is an e-text-model which uses an e-table-model for its data. * Makefile.am: Added e-table-text-model.c and e-table-text-model.h. * .cvsignore: Added table-example-1 and table-example-2. svn path=/trunk/; revision=2101
* Changed the destroy function to disconnect from signals before unrefingChristopher James Lahey2000-03-081-30/+38
| | | | | | | | | | | | | | | | | | | 2000-03-08 Christopher James Lahey <clahey@helixcode.com> * e-table.c: Changed the destroy function to disconnect from signals before unrefing the objects the sinnals are on. Changed the destroy function to match the objects and signal ids properly in its disconnect section. * e-table-item.c, e-table-item.h: Changed this to do follow the canvas rules better. * e-table-header-item.c, e-table-header-item.h: Made ETableHeaderItem connect to the "sort_info_changed" on its ETableSortInfo instead of just manually redrawing itself. Fixed the update function a bit to follow the canvas rules a bit better. svn path=/trunk/; revision=2087
* Made rows get unselected when switching from one group to the next.Christopher James Lahey2000-03-061-0/+3
| | | | | | | | | 2000-03-06 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Made rows get unselected when switching from one group to the next. svn path=/trunk/; revision=2075
* Fixed a compile warning.Christopher James Lahey2000-03-051-18/+18
| | | | | | | | | | 2000-03-04 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Fixed a compile warning. * e-table.c: Fixed a crash error. svn path=/trunk/; revision=2039
* Made the E table item redraw properly.Christopher James Lahey2000-02-251-0/+2
| | | | | | | | | | | | 2000-02-25 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Made the E table item redraw properly. * e-table-group-container.c: Added handling to distinguish between n items and 1 item. Got rid of a crash due to an abandoned timeout callback. svn path=/trunk/; revision=1933
* Added duplicate_value and add_value. Use the new compare functions. MadeChristopher James Lahey2000-02-251-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Made keyboard focus navigation work across groups.Christopher James Lahey2000-02-241-1/+1
| | | | | | | | | | | | | | | | | | 2000-02-24 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Made keyboard focus navigation work across groups. * e-table-header.c: Made e_table_header_col_diff not crash if you give it a column less than 0 (it truncates negative column values to 0.) * e-table-group.c, e-table-group.h: Added e_table_group_get_header to get the ETableHeader for this ETableGroup. * e-table-group-container.c: Made shift tab work. svn path=/trunk/; revision=1917
* Made changing focus work.Christopher James Lahey2000-02-241-5/+5
| | | | | | | | 2000-02-24 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Made changing focus work. svn path=/trunk/; revision=1916
* This were moved to widgets/e-text/ a while ago but never removed. TheyChristopher James Lahey2000-02-241-61/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Add nice assertion.Miguel de Icaza2000-02-111-0/+5
| | | | | | | | | 2000-02-11 Miguel de Icaza <miguel@gnu.org> * e-table-item.c (eti_header_structure_changed): Add nice assertion. svn path=/trunk/; revision=1733
* Fixed some motion event bugs. (incorrect x and y.)Christopher James Lahey2000-02-081-4/+4
| | | | | | | | | | | | | | | 2000-02-07 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c (eti_event): Fixed some motion event bugs. (incorrect x and y.) * Makefile.am: Added includes for dependencies in evolution/widgets/libevolutionwidgets.a * e-cell-text.h, e-cell-text.c: Completely revamped using code from e-text.c and e-text.h. svn path=/trunk/; revision=1692
* Ok, the restructuring of ETableItem to compute its size without hacks isMiguel de Icaza1999-12-311-13/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-29/+109
| | | | svn path=/trunk/; revision=1521
* Fix before tripArturo Espinosa1999-12-131-4/+4
| | | | svn path=/trunk/; revision=1485
* Works with GnomeCanvasGroups -miguelArturo Espinosa1999-12-131-22/+59
| | | | svn path=/trunk/; revision=1484
* More work. We now have the basics for nesting working, now we need all theArturo Espinosa1999-12-121-3/+8
| | | | | | | | | | | | | | 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
* fix this routine.Miguel de Icaza1999-12-101-60/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1999-12-09 Miguel de Icaza <miguel@gnu.org> * e-table-header.c (e_table_header_col_diff): fix this routine. 1999-12-04 Miguel de Icaza <miguel@gnu.org> * e-table-header-item.c (ethi_event): Started drag and drop support. * e-table-item.c (eti_table_model_changed): The columns are controled by the Header, not by the TableModel. * e-table-header-item.c (ethi_draw): Fixed redraw logic to support arbitrary header positioning. * e-cell.h: Revamped e-cell interface. We now provide the model column and the view column to all methods (so that the methods can talk to the view and to the model at the same time). * e-table-item.c: Update to new API * e-cell-test.c: Update to new API 1999-12-03 Miguel de Icaza <miguel@gnu.org> * e-cell.c (e_cell_class_init): Provide emtpy methods for enter_edit, and leave_edit. * e-table-item.c: Killed draw cell. (eti_draw): Perform column mapping here. (e_table_item_leave_edit): ditto. (e_table_item_enter_edit): ditto. (eti_event): ditto. svn path=/trunk/; revision=1478
* New file. Implement a multi-state image toggle cell object.Miguel de Icaza1999-11-301-39/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | 1999-11-29 Miguel de Icaza <miguel@gnu.org> * e-cell-toggle.c, e-cell-toggle.h: New file. Implement a multi-state image toggle cell object. * e-cell-text.c (ect_leave_edit): Handle the case of us calling leave edit manually. (ect_stop_editing): Leave manually editing here. (ect_draw): Add one pixel to the border for left and right; Handle off-screen cursor (must be improved). (ect_edit_select_all): New function. (ect_event): Select all text on editing start * e-table-item.c (eti_event): Map mouse events and dispatch them. (eti_event): Add spreadsheet mode for editing; Enter editing only with visual characters; Leave editing mode when a different row has been selected. (eti_get_height): Fix the computation for this; Fix logic for the length_threshold. (eti_draw): Add borders on all sides of the box; Only draw focus if the cell is not being edited. svn path=/trunk/; revision=1445
* Small cosmetic fixArturo Espinosa1999-11-291-7/+35
| | | | svn path=/trunk/; revision=1443
* New methods; They implement editing.Miguel de Icaza1999-11-291-19/+68
| | | | | | | | | | | | | | | | | 1999-11-28 Miguel de Icaza <miguel@gnu.org> * e-cell-text.c (ect_enter_edit, ect_leave_edit): New methods; They implement editing. * e-cell.h: new methods: enter_edit, leave_edit * e-table-model.h (set_value_at): make val argument const. * e-table-simple.c (simple_set_value_at): Make value argument const; * e-table-item.c (eti_set_arg): Add new mode: draw_focus; svn path=/trunk/; revision=1442
* beginning of the keyboard navigation.Miguel de Icaza1999-11-281-46/+340
| | | | | | | | | | | | | | | | | | | | | | | | 1999-11-27 Miguel de Icaza <miguel@gnu.org> * e-table-item.c (eti_event): beginning of the keyboard navigation. * e-table-model.c (e_table_model_row_changed): new function. (e_table_model_cell_changed): new function. (e_table_model_class_init): New signals. * e-table-item.c (eti_request_region_redraw): x2, y2 offsets were wrong. (eti_select): Repaint selected region. (eti_request_region_redraw): Fix range. (eti_draw): Correct offset computation here. (e_table_item_class_init): New method: row_selection, handles the selection. Now it implement GTK_SELECTION_SINGLE and GTK_SELECTION_MULTIPLE. Focusing and selection should be correct now. svn path=/trunk/; revision=1441
* More work.Arturo Espinosa1999-11-271-24/+118
| | | | | | | | | | More work. I got a few offsets wrong; Event handling is broken, but I am happier Mmiguel. svn path=/trunk/; revision=1440
* Compute height using the ecell methods here. (eti_get_height): new methodMiguel de Icaza1999-11-271-10/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1999-11-26 Miguel de Icaza <miguel@gnu.org> * e-table-item.c (eti_realize): Compute height using the ecell methods here. (eti_get_height): new method to compute dimensions. * e-cursors.c: use a different cursor. * e-table-model.h: kill height and row_height methods. * e-cell.c (ec_height): New method. * e-cell-text.c (ect_realize): Load the font from the canvas. (ect_draw): New color setup. Center in the row. (ect_height): Implement new method. 1999-11-26 Michael Meeks <mmeeks@gnu.org> * ROADMAP.e-table: small spelling/typo fixes. 1999-11-25 Miguel de Icaza <miguel@gnu.org> * e-table-item.c (eti_event): Work on mouse-button event svn path=/trunk/; revision=1439
* It draws the data. WEEEEEEEEE! MiguelArturo Espinosa1999-11-251-7/+55
| | | | svn path=/trunk/; revision=1435
* Realize cells.Miguel de Icaza1999-11-251-10/+70
| | | | | | | | | | | | | | | | | | | | | | | 1999-11-25 Miguel de Icaza <miguel@gnu.org> * e-table-header-item.c (ethi_realize): Realize cells. * e-table-item.c (eti_header_dim_changed): redraw before and after. * e-table-header-item.c (ethi_event): Add continuous resizing. 1999-11-24 Miguel de Icaza <miguel@gnu.org> * e-table-subset.h, e-table-subset.c: New files, used to implement subset tables. * e-table-sorted.h, e-table-sorted.c: Now they derive from e-table-subset. * e-cell.c, e-cell.h: realize method now return per view instance data. svn path=/trunk/; revision=1434
* WOOOOHOOOOOoO! It took me quite a while to figure this one out. Fixed.Miguel de Icaza1999-11-211-1/+1
| | | | | | | | | 1999-11-20 Miguel de Icaza <miguel@gnu.org> * e-table-item.c (eti_draw): WOOOOHOOOOOoO! It took me quite a while to figure this one out. Fixed. svn path=/trunk/; revision=1426
* Compute width, keep track of it. (ethi_add_table_header): Monitor changesMiguel de Icaza1999-11-211-13/+51
| | | | | | | | | | | | | | | | | | | | 1999-11-20 Miguel de Icaza <miguel@gnu.org> * e-table-header-item.c (ethi_set_arg): Compute width, keep track of it. (ethi_add_table_header): Monitor changes to the Header model; Queue updates. (ethi_draw): Fix the redraw logic here. * table-test.c (main): Change the sample code, so we can better debug this. * e-table-item.c (eti_header_structure_changed): Keep track of width; (eti_header_dim_changed): ditto. (eti_draw): Many redraw fixes. svn path=/trunk/; revision=1425
* more stuff -migArturo Espinosa1999-11-201-2/+35
| | | | svn path=/trunk/; revision=1424
* More work -migArturo Espinosa1999-11-191-8/+62
| | | | svn path=/trunk/; revision=1420
* New E-table-item.[ch] -migArturo Espinosa1999-11-191-0/+248
svn path=/trunk/; revision=1419