aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-table-header-item.c
Commit message (Collapse)AuthorAgeFilesLines
* Rename these functions from ecn_get_text and ecn_free_text.Christopher James Lahey2001-09-011-6/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-01 Christopher James Lahey <clahey@ximian.com> * e-cell-float.c (ecf_get_text, ecf_free_text): Rename these functions from ecn_get_text and ecn_free_text. * e-cell-tree.c (ect_height): Make sure the height is a multiple of two here. * e-table-header-item.c, e-table-header-item.h: Added a "tree" argument so that the sorting can be set by right clicking on the header item. * e-table-item.c (eti_table_model_rows_deleted): Added some assertions here. * e-tree-selection-model.c (etsm_find_node_unless_equals): Fixed indentation. * e-tree-table-adapter.c (etta_proxy_node_changed): Rewrote this to be more readable. (e_tree_table_adapter_node_set_expanded): Added an assertion. * e-tree.c, e-tree.h (e_tree_get_spec): Added this function. (e_tree_setup_header): Set the tree argument on the ETableHeaderItem here. svn path=/trunk/; revision=12553
* Patch to fix few 64bit issuesGeorge Lebl2001-08-291-18/+18
| | | | | | | | | | | | | | | | | | | | | | Tue Aug 28 18:29:28 2001 George Lebl <jirka@5z.com> Patch to fix few 64bit issues * gal/e-table/e-table-header-item.c (ethi_draw) (ethi_start_drag) gal/widgets/e-categories.c (e_categories_value_at) (e_categories_value_to_string): Use GINT_TO_POINTER and GPOINTER_TO_INT to cast between pointers and ints to fix 64bit issues connected with that. * gal/e-table/e-table-sorting-utils.c (e_table_sorting_utils_tree_check_position) gal/util/e-sorter-array.c (e_sorter_array_append): Use size_t for size not ints to fix crashes * gal/e-text/e-completion-match.c, gal/e-text/e-completion.c: Include <string.h> svn path=/trunk/; revision=12507
* If the sort_info can't group, hide the grouping button and label.Christopher James Lahey2001-08-111-5/+6
| | | | | | | | | | | | | | | | | | | | | | 2001-08-10 Christopher James Lahey <clahey@ximian.com> * e-table-config.c (setup_gui): If the sort_info can't group, hide the grouping button and label. * e-table-header-item.c (ethi_header_context_menu): Removed the Group By This Field menu item if the sort_info doesn't support grouping. * e-table-sort-info.c, e-table-sort-info.h (e_table_sort_info_get_can_group, e_table_sort_info_set_can_group): Added these functions. * e-tree.c (e_tree_set_state_object, et_real_construct): Set can_group to FALSE for all our sort infos. (e_tree_get_state_object): Fixed a potential gtk_object_ref (NULL) here. svn path=/trunk/; revision=11896
* Added a "header" argument to these structures which just gets passedChristopher James Lahey2001-08-091-0/+1
| | | | | | | | | | | | | | | | | 2001-08-09 Christopher James Lahey <clahey@ximian.com> * e-table-field-chooser-dialog.c, e-table-field-chooser-dialog.h, e-table-field-chooser.c, e-table-field-chooser.h: Added a "header" argument to these structures which just gets passed downwards. * e-table-field-chooser-item.c, e-table-field-chooser-item.h: Added a "header" argument here. Made it so that only rows that aren't already in the header are shown. * e-table-header-item.c: Set the "header" argument on our e-table-field-chooser-dialog. Fixes Ximian bug #2654. svn path=/trunk/; revision=11828
* Don't do most of the work in this function if data->data is NULL. FixesChristopher James Lahey2001-08-031-21/+27
| | | | | | | | | | 2001-08-02 Christopher James Lahey <clahey@ximian.com> * e-table-header-item.c (ethi_drag_data_received): Don't do most of the work in this function if data->data is NULL. Fixes Ximian bug #6041. svn path=/trunk/; revision=11587
* Make this function not crash if x somehow doesn't land on some column.Christopher James Lahey2001-08-021-4/+8
| | | | | | | | | | | | | 2001-08-01 Christopher James Lahey <clahey@ximian.com> * e-table-header-item.c (ethi_change_sort_state): Make this function not crash if x somehow doesn't land on some column. Fixes Ximian bug #5957. * e-table-header-item.c: Removed a bunch of menu items whose functionality won't be ready for 1.0. Fixes Ximian bug #154. svn path=/trunk/; revision=11560
* Made it so that the drop marker can show up when dragging a new column toChristopher James Lahey2001-07-051-1/+1
| | | | | | | | | | 2001-07-05 Christopher James Lahey <clahey@ximian.com> * e-table-header-item.c (ethi_drag_motion): Made it so that the drop marker can show up when dragging a new column to the leftmost position of the table header item. svn path=/trunk/; revision=10801
* Made the remove this column menu item greyed out if it's the last column.Christopher James Lahey2001-07-031-2/+4
| | | | | | | | | 2001-07-02 Christopher James Lahey <clahey@ximian.com> * e-table-header-item.c (ethi_header_context_menu): Made the remove this column menu item greyed out if it's the last column. svn path=/trunk/; revision=10725
* (Fix bug #53111: Portability fixes for HP's ANSI compiler.)Jason Leach2001-05-081-3/+9
| | | | | | | | | | | | | | | | | | | | 2001-04-29 Jason Leach <jasonleach@usa.net> (Fix bug #53111: Portability fixes for HP's ANSI compiler.) * e-table-header-item.c (ethi_popup_sort_ascending): Changes for initializing a struct for picky compiler. (ethi_popup_sort_descending): Ditto. (ethi_change_sort_state): Ditto. * e-cell.c (e_cell_realize): Fix trying to return a value for a void function. (e_cell_show_tooltip): Here too. * e-table-subset.c (etss_set_value_at): Another fix for trying to return something instead of void. svn path=/trunk/; revision=9695
* write what was converted to console, this function does not work always.Gediminas Paulauskas2001-05-081-2/+5
| | | | | | | | | | | | | | | | | 2001-05-07 Gediminas Paulauskas <menesis@delfi.lt> * gal/widgets/e-unicode.c (e_utf8_to_gtk_string_sized): write what was converted to console, this function does not work always. (e_utf8_gtk_editable_get_chars), (e_utf8_gtk_menu_item_new_with_label): removed some unneeded checks. (e_xml_get_translated_utf8_string_prop_by_name): if i.e. "title" was found, do not convert it to utf8 -- it already is. do this only on "_title". * gal/e-table/e-table-header-item.c: fix warning. svn path=/trunk/; revision=9692
* Changed resizeable to resizable in ETableCol for consistency.Christopher James Lahey2001-04-101-6/+6
| | | | | | | | | | | | | | | 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
* Don't draw the button if it's less than 1 pixel wide.Christopher James Lahey2001-04-031-0/+3
| | | | | | | | | | | | | 2001-04-03 Christopher James Lahey <clahey@ximian.com> * e-table-header-item.c (ethi_draw): Don't draw the button if it's less than 1 pixel wide. * e-tree-table-adapter.c (etta_proxy_node_inserted): Fixed a small array overrun (wasn't causing problems, but it's best to be correct.) svn path=/trunk/; revision=9120
* Made these use GTK_TYPE_GDK_EVENT whenever sending an event through theChristopher James Lahey2001-03-301-1/+1
| | | | | | | | | | | | | | | 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
* Removed extra printfsMiguel de Icaza2001-03-191-4/+0
| | | | svn path=/trunk/; revision=8812
* Use update_sort_and_group_config dialog instead of the non-implementedMiguel de Icaza2001-03-191-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-18 Miguel de Icaza <miguel@ximian.com> * e-table-config.c (sort_entry_changed): Use update_sort_and_group_config dialog instead of the non-implemented update_group_config_dialog. (update_sort_and_group_config_dialog): Update the text correctly. (sort_entry_changed): Handle empty string as not-in-set. (group_entry_changed): Handle empty string as not-in-set. (config_class_init): Fix the signal declaration for "changed", this was sending the wrong information. (update_sort_and_group_config_dialog): Use group_info here, not sort_info * e-table-header-item.c (ethi_popup_customize_view): Changed to use the "changed" signal in the ETableConfig instead of promiscously using the "apply" from the PropertyBox * e-table-config.glade: Set Hide On Close to yes for the Group-By dialog. The groups for Radio Buttons in the Glade file are global, which caused all sorts of strange behaviour and really hard to debug problems. This should be now fixed svn path=/trunk/; revision=8801
* Changed the text to pop up the Field Chooser.Christopher James Lahey2001-02-061-1/+1
| | | | | | | | | 2001-02-05 Christopher James Lahey <clahey@helixcode.com> * e-table-header-item.c: Changed the text to pop up the Field Chooser. svn path=/trunk/; revision=7988
* Made this conform to the new prototype for e_popup_menu_run.Christopher James Lahey2001-01-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Keep track of the valid column names (not used right now).Miguel de Icaza2001-01-191-47/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-18 Miguel de Icaza <miguel@gnu.org> * e-table-config.c (configure_sort_dialog): Keep track of the valid column names (not used right now). (config_destroy): release column names (entry_changed): Handle invalid input to mean "Next entry is grayed out". * e-table-header-item.c (ethi_popup_customize_view): Hook up to the "apply" signal on the dialog box to apply the changes. (apply_changes): New function to apply the changes from the ETableConfig object. * e-table-sort-info.c (e_table_sort_info_load_from_node): Notify of sort info changes. * e-table-header-item.c: Swapped the way arrows were done, so that they actually match the sorting that its expected. * e-table.c: Added inline documentation for a few methods. * e-table-config.h: Dropped ::spec, and temp_spec, we always use ::source_spec, as we never modify this variable. svn path=/trunk/; revision=7633
* This fixes translations of library messages compared to applicationMiguel de Icaza2001-01-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes translations of library messages compared to application messages. 2001-01-17 Miguel de Icaza <miguel@gnu.org> * po/POTFILES.in: update. * gal/widgets/color-palette.c: use e-i18n.h * gal/util/e-i18n.h: Avoid inclussion of the GNOME i18n file as we provide our own. 2001-01-17 Miguel de Icaza <miguel@gnu.org> * e-table-header-item.c: Use e-i18n.h here. * e-table.c (et_col_spec_to_col): Use gettext here. (et_real_construct): Use gettext too. (et_col_spec_to_col): Use gettext here. * e-cell-date.c: Use e-i18n.h here. * e-table-config.c (config_sort_info_update): Simplify column grabbing code and drop item layout code. (config_group_info_update): ditto. * e-table-config.c: Get correct translation setup working. 2001-01-17 Miguel de Icaza <miguel@gnu.org> * e-group-bar.c: Use e-i18n.h svn path=/trunk/; revision=7565
* Document all entry points. (e_table_specification_save_to_file): ChangeMiguel de Icaza2001-01-161-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-15 Miguel de Icaza <miguel@gnu.org> * e-table-specification.c: Document all entry points. (e_table_specification_save_to_file): Change prototype to return the number of bytes written. (e_table_specification_duplicate): Implement a function to duplicate nodes. (e_table_specification_save_to_node): Implement missing function. (e_table_specification_save_to_file): Enable. (e_table_specification_save_to_string): Enable. (e_table_specification_load_from_node): Just load the normal version of the click-to-add-message version, let other code translate it. (e_table_specification_load_from_string): Alter prototype to return success code. * e-table-specification.h: Do not store the translated version, store the plain version, so we can restore this later during the saving routines. * e-table.c (et_real_construct): Translate click to add message here. * e-table-header-item.c: Destroy config object if we are destroyed. svn path=/trunk/; revision=7518
* Work on the ETableConfigurator. Pick up where Chris left.Miguel de Icaza2001-01-151-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Work on the ETableConfigurator. Pick up where Chris left. A lot more changes to come in the short future. 2001-01-15 Miguel de Icaza <miguel@ximian.com> * e-table-config.c (config_group_info_update): Simplify signature. (config_sort_info_update): Simplify signature. (config_fields_info_update): Implement. (e_table_config_construct): Hook up field change spec. * e-table-header-item.c (config_destroyed): Add new utility function. * e-table-config.c (config_group_info_update): Simpify routine by using g_string. Show a message if there is no grouping. * e-table-config.c: Made e-table-config dialog be a GnomePropertyBox. * e-table-header-item.c (ethi_popup_customize_view): Use the new api. * e-table-config.c (config_sort_info_update): Simplify this routine. Fix bug that was not showing "unsorted" state. (setup_gui): Load XML user interface here. (config_init): Use Glade instead of manually coded user interface. (e_table_config_raise): New api call. 2001-01-14 Miguel de Icaza <miguel@ximian.com> * e-table-config.h: Change parent to be a GtkObject from GnomeDialog. svn path=/trunk/; revision=7495
* Close #758 2001-01-12 Miguel de Icaza <miguel@ximian.com>Miguel de Icaza2001-01-121-46/+64
| | | | | | | * e-table-header-item.c (ethi_change_sort_state): Moved the sort-on-click logic to its own function. svn path=/trunk/; revision=7438
* *** empty log message ***Miguel de Icaza2001-01-121-1/+1
| | | | svn path=/trunk/; revision=7437
* Added the actions parameter to ect_event. Added an actions field toChristopher James Lahey2000-12-101-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-0/+3
| | | | | | | | | | | | | | | | | | 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
* Free the xmlDoc when we are done with it. (e_table_state_save_to_file):Federico Mena Quintero2000-12-081-1/+7
| | | | | | | | | | | | | | | | | | 2000-12-07 Federico Mena Quintero <federico@helixcode.com> * e-table-state.c (e_table_state_save_to_string): Free the xmlDoc when we are done with it. (e_table_state_save_to_file): Ditto. * e-table.c (e_table_get_state): Unref the state object; why was it being sunk instead? (e_table_save_state): Ditto. (e_table_load_state): Ditto. (e_table_set_state): Ditto. * e-table-header-item.c (ethi_destroy): Free the ethi->dnd_code. svn path=/trunk/; revision=6837
* Federico gets into pixel-perfect neurosis. Xmag is my best friend.Federico Mena Quintero2000-12-031-162/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Changed this to match the new EPopupMenu structre.Christopher James Lahey2000-11-071-16/+16
| | | | | | | | | 2000-11-06 Christopher James Lahey <clahey@helixcode.com> * e-table-header-item.c: Changed this to match the new EPopupMenu structre. svn path=/trunk/; revision=6467
* Fixed ETableFieldChooser row heights a bit.Christopher James Lahey2000-10-191-1/+1
| | | | | | | | | | | | | | | 2000-10-18 Christopher James Lahey <clahey@helixcode.com> * e-table-field-chooser-item.c, e-table-field-chooser-item.h: Fixed ETableFieldChooser row heights a bit. * e-table-header-item.c: Formatting clean up. * e-table-state.c: Added saving of the version of the ETableState. This way, if we change the format of an ETableState, we can detect old version numbers. svn path=/trunk/; revision=6016
* Moved the glade file directories.Christopher James Lahey2000-10-181-1/+2
| | | | | | | | | | 2000-10-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Moved the glade file directories. * e-table-header-item.c: Removed an unused variable. svn path=/trunk/; revision=5982
* Reworked some of the height stuff?Christopher James Lahey2000-10-171-14/+12
| | | | | | | | 2000-10-16 Christopher James Lahey <clahey@helixcode.com> * e-table-header-item.c: Reworked some of the height stuff? svn path=/trunk/; revision=5943
* Choose a better size for the e-table-header-itemIain Holmes2000-10-171-17/+53
| | | | svn path=/trunk/; revision=5942
* Added e-table-config-field.lo.Christopher James Lahey2000-10-141-4/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-10-13 Christopher James Lahey <clahey@helixcode.com> * gal/Makefile.am: Added e-table-config-field.lo. * tests/test-tree-2.c: Changed this to use cursor-mode in the xml instead of the no longer existing gtk argument. From gal/e-table/ChangeLog: 2000-10-13 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added e-table-config-field.c and e-table-config-field.h. * e-table-column-specification.c: Cleaned this up a bit. Made it leak less memory. * e-table-config-field.c, e-table-config-field.h: New files. This is the configuration widgets for sorting or grouping. * e-table-config.c, e-table-config.h: Nuked these and replaced them with a widget that handles all the ETable configuration. * e-table-config.glade, e-table-config.glade.h: Updated this a bit to match what's actually being used better. This isn't used in actual code. * e-table-header-item.c, e-table-header-item.h: Added a pointer to the table in the header item structure so that we can launch the configuration from the header item right click menu. Made the header item launch the ETable configuration dialog. * e-table.c, e-table.h: Keep the spec given to us around. Added a get_state_object function which returns an ETableState *. Set the "table" argument on the header item. svn path=/trunk/; revision=5901
* Fixed gdk-font refcountingIain Holmes2000-10-131-17/+20
| | | | | | | Added font_e argument to e-text Fixed the header-item drawing the pixmap incorrectly svn path=/trunk/; revision=5894
* Fudge the location of a click in the tooltip, so that it selects theIain Holmes2000-09-271-6/+25
| | | | | | | | | | | | | | | | | | | | | | | | 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
* 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
* If the cursor is inside the subcell, call the show_tooltip on it.Iain Holmes2000-09-161-39/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 a crash in draw_button.Iain Holmes2000-09-151-2/+2
| | | | svn path=/trunk/; revision=5444
* Fix some crashes Make double clicking on the header dividers automaticallyIain Holmes2000-09-151-21/+68
| | | | | | | | | | | 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
* Tag some strings for translation.Miguel de Icaza2000-08-091-15/+15
| | | | | | | | 2000-08-08 Miguel de Icaza <miguel@helixcode.com> * e-table-header-item.c: Tag some strings for translation. svn path=/trunk/; revision=4642
* Changed e_popup_menu_run call to match the new arguments.Christopher James Lahey2000-08-091-1/+1
| | | | | | | | | 2000-08-09 Christopher James Lahey <clahey@helixcode.com> * e-table-header-item.c: Changed e_popup_menu_run call to match the new arguments. svn path=/trunk/; revision=4628
* Added an argument to set a column so that you can't sort by that column.Christopher James Lahey2000-08-011-22/+28
| | | | | | | | | | | 2000-07-31 Christopher James Lahey <clahey@helixcode.com> * e-table-col.c, e-table-col.h: Added an argument to set a column so that you can't sort by that column. * e-table-header-item.c: Obey the sortable column of ETableCol. svn path=/trunk/; revision=4439
* Changed the background color of the header.Christopher James Lahey2000-07-141-1/+1
| | | | | | | | | 2000-07-13 Christopher James Lahey <clahey@helixcode.com> * e-table-header-item.c: Changed the background color of the header. svn path=/trunk/; revision=4152
* Made scroll wheel work properly in header.Christopher James Lahey2000-07-131-1/+4
| | | | | | | | | 2000-07-12 Christopher James Lahey <clahey@helixcode.com> * e-table-header-item.c: Made scroll wheel work properly in header. svn path=/trunk/; revision=4128
* Don't draw drop markers when the layout won't be changed by the drop.Anders Carlsson2000-07-091-2/+9
| | | | svn path=/trunk/; revision=4005
* From mail:Christopher James Lahey2000-06-301-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/+13
| | | | | | | | | | 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
* Changed this to move the cell to the nearest edge instead of to the leftChristopher James Lahey2000-06-221-2/+46
| | | | | | | | | | | | 2000-06-21 Christopher James Lahey <clahey@helixcode.com> * e-table-header-item.c: Changed this to move the cell to the nearest edge instead of to the left of the column it's over. * e-table-header.c: Made target_index equal to eti->col_count be a valid parameter to e_table_header_move. svn path=/trunk/; revision=3683
* The field chooser works now.Christopher James Lahey2000-06-081-17/+9
| | | | | | | | | | | | | | | | | | | | 2000-06-08 Christopher James Lahey <clahey@helixcode.com> * The field chooser works now. * e-table-field-chooser-dialog.c: Make the dialog resizable. * e-table-field-chooser-item.c: Requested a reflow on realization. Made the correct column get dragged. * e-table-field-chooser.c: Set the height correctly. * e-table-field-chooser.glade: Replace the GnomeCanvas with an ECanvas. * e-table-header-item.c: Receive drags from the new dialog. svn path=/trunk/; revision=3476
* More work on the Field Chooser. Not quite done yet.Christopher James Lahey2000-06-081-3/+49
| | | | | | | | | | | | 2000-06-08 Christopher James Lahey <clahey@helixcode.com> * e-table-field-chooser-dialog.c, e-table-field-chooser-dialog.h, e-table-field-chooser-item.c, e-table-field-chooser.c, e-table-field-chooser.glade, e-table-field-chooser.h, e-table-header-item.c, e-table.c: More work on the Field Chooser. Not quite done yet. svn path=/trunk/; revision=3475
* Added e-table-field-chooser*.Christopher James Lahey2000-06-081-155/+138
| | | | | | | | | | | | | | | | | | | 2000-06-07 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added e-table-field-chooser*. * e-table-defines.h: Moved some things to here. * e-table-field-chooser-dialog.c, e-table-field-chooser-dialog.h, e-table-field-chooser-item.c, e-table-field-chooser-item.h, e-table-field-chooser.c, e-table-field-chooser.glade, e-table-field-chooser.glade.h, e-table-field-chooser.h: New dialog to drag extra fields from. (Not yet finished.) * e-table-header-item.c, e-table-header-item.h: Changed to accommodate e-table-field-chooser. svn path=/trunk/; revision=3473
* Made dragging columns work.Christopher James Lahey2000-05-261-27/+27
| | | | | | | | 2000-05-25 Christopher James Lahey <clahey@helixcode.com> * e-table-header-item.c: Made dragging columns work. svn path=/trunk/; revision=3205
* Fixed the remove column callback.Christopher James Lahey2000-05-241-1/+2
| | | | | | | | 2000-05-23 Christopher James Lahey <clahey@helixcode.com> * e-table-header-item.c: Fixed the remove column callback. svn path=/trunk/; revision=3187
* Added right click menus to the table header items.Christopher James Lahey2000-05-241-17/+179
| | | | | | | | | | | 2000-05-23 Christopher James Lahey <clahey@helixcode.com> * e-table-header-item.c: Added right click menus to the table header items. * e-table-sort-info.c: Fixed a small bug. svn path=/trunk/; revision=3184
* Removed a memory leak here.Christopher James Lahey2000-05-161-8/+0
| | | | | | | | | | | | | 2000-05-16 Christopher James Lahey <clahey@helixcode.com> * e-table-group-container.c: Removed a memory leak here. * e-table-group-leaf.c: Added a ref/sink pair. * e-table-group.c, e-table-header-item.c: Removed some unused code. svn path=/trunk/; revision=3079
* From widgets/e-table/ChangeLogChristopher James Lahey2000-05-141-38/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* *** empty log message ***Miguel de Icaza2000-05-121-1/+25
| | | | svn path=/trunk/; revision=3001
* Made this more reentrant.Christopher James Lahey2000-05-011-2/+7
| | | | | | | | | | | | | | 2000-04-30 Christopher James Lahey <clahey@helixcode.com> * e-table-header-item.c: Made this more reentrant. * e-table-sorted-variable.c, e-table-sorted-variable.h: Does a proper resort when the sorting info changes. * e-table.c, e-table.h: Made it so that ETable doesn't destroy and recreate the entire table when sorting info changes. svn path=/trunk/; revision=2704
* Fixed some warnings.Christopher James Lahey2000-04-281-2/+5
| | | | | | | | | | 2000-04-27 Christopher James Lahey <clahey@helixcode.com> * arrow-down.xpm, arrow-up.xpm, e-cell-text.c, e-cell-toggle.c, e-table-col.c, e-table-config.c, e-table-header-item.c: Fixed some warnings. svn path=/trunk/; revision=2659
* Added a missing include.Christopher James Lahey2000-04-261-0/+1
| | | | | | | | 2000-04-26 Christopher James Lahey <clahey@helixcode.com> * e-table-header-item.c: Added a missing include. svn path=/trunk/; revision=2637
* Add argument handling here.Miguel de Icaza2000-04-261-9/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Remove test for source. We will fix this later.Miguel de Icaza2000-04-131-15/+13
| | | | | | | | | 2000-04-12 Miguel de Icaza <miguel@gnu.org> * e-table-header-item.c (ethi_drag_motion): Remove test for source. We will fix this later. svn path=/trunk/; revision=2413
* Reset resize_guide here.Miguel de Icaza2000-04-121-5/+3
| | | | | | | | 2000-04-12 Miguel de Icaza <miguel@gnu.org> * e-table-header-item.c (ethi_end_resize): Reset resize_guide here. svn path=/trunk/; revision=2405
* Add group indent width here. (is_pointer_on_division): Use the groupMiguel de Icaza2000-04-111-19/+108
| | | | | | | | | | | | | | | | | | | | | | | 2000-04-11 Miguel de Icaza <miguel@helixcode.com> * e-table-header-item.c (ethi_add_destroy_marker): Add group indent width here. (is_pointer_on_division): Use the group indent here, so the resize pointer is shown at the correct time. (TOLERANCE): Bump it up to 3 (draw_button): Do not paint an arrow if there is an icon present, and not enough space to paint. 2000-04-10 Miguel de Icaza <miguel@helixcode.com> * e-table-header-item.c (make_shapped_window_from_xpm): New routine, creates a shapped mask window from an xpm buffer. (ethi_add_drop_marker): New version, uses shaped windows instead of canvas items to signal the drop location. (ethi_maybe_start_drag): Disable dragging if there is only one column left. svn path=/trunk/; revision=2390
* Drop frozen count support from here. (ethi_start_drag): ditto.Miguel de Icaza2000-04-111-8/+2
| | | | | | | | | | | | 2000-04-10 Miguel de Icaza <miguel@gnu.org> * e-table-header-item.c (ethi_drag_motion): Drop frozen count support from here. (ethi_start_drag): ditto. * e-table-header.h: Kill frozen_count. svn path=/trunk/; revision=2385
* Got rid of some warnings.Christopher James Lahey2000-04-061-53/+74
| | | | | | | | | | | | | | | 2000-04-06 Christopher James Lahey <clahey@helixcode.com> * test-cols.c, test-table.c: Got rid of some warnings. * e-table-group-container.c, e-table-group-container.h, e-table-group-leaf.c, e-table-group-leaf.h, e-table-group.c, e-table-group.h, e-table-header-item.c, e-table-header-item.h, e-table-sort-info.c, e-table-sort-info.h, e-table-sorted-variable.c, e-table-sorted-variable.h, e-table.c, e-table.h: Changed ETableSortInfo to not use xml internally. svn path=/trunk/; revision=2305
* One linerMiguel de Icaza2000-03-301-1/+1
| | | | svn path=/trunk/; revision=2253
* Fix indentationMiguel de Icaza2000-03-301-77/+77
| | | | svn path=/trunk/; revision=2252
* Remove warning from here.Miguel de Icaza2000-03-271-5/+3
| | | | | | | | | | | | | | | | 2000-03-26 Miguel de Icaza <miguel@gnu.org> * e-table-header-item.c (ethi_realize): Remove warning from here. * test-table.c (table_browser_test): Use ECanvas, not GnomeCanvas, to support reflow. * test-cols.c (multi_cols_test): ditto * e-table.c (e_table_setup_header): ditto * e-table-header-item.c (ethi_font_load): Replace font. (ethi_realize): ditto. svn path=/trunk/; revision=2172
* Rearranged SUBDIRS for dependencies.Christopher James Lahey2000-03-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-8/+34
| | | | | | | | | | | | | | | | | | | 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 it so that columns would be properly indented.Christopher James Lahey2000-03-061-4/+18
| | | | | | | | | 2000-03-06 Christopher James Lahey <clahey@helixcode.com> * e-table-header-item.c, e-table-header-item.h: Made it so that columns would be properly indented. svn path=/trunk/; revision=2072
* Added support for the sorting info. The Etable creates a sort_info object,Christopher James Lahey2000-03-061-6/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-03-05 Christopher James Lahey <clahey@helixcode.com> * e-table.c, e-table.h: Added support for the sorting info. The Etable creates a sort_info object, and then connects to the signals to rearrange the rows when the sort_info changes. It also passes the info object to the ETableHeaderItem. * e-table-model.c: Fixed a typo where ETableModel was written as ETableModle. * e-table-header.c, e-table-header.h: Added some code for sorting here, but it's not used. I don't think we want this code, but I wanted to check it in at least once so that it's not lost. * e-table-header-item.c, e-table-header-item.h: Added a "sort_info" argument to ETableHeaderItem. Added display of current sort settings. Added support for clicking to change the sort settings. * e-table-col.h: E_TABLE_COL_ARROW_NONE is marked as being = 0 since this is required in other places. (I think C defines this as being the case, but it's good to have the = 0 there so that it's obvious that it has to be first.) * TODO: Mark sorting as done. * e-table-sort-info.c, e-table-sort-info.h: New files for containing the xml grouping/sorting information and for sending signals on that information. * Makefile.am: Added e-table-sort-info.c and e-table-sort-info.h. svn path=/trunk/; revision=2060
* Removed some unused code.Christopher James Lahey2000-03-041-5/+0
| | | | | | | | | | | | | 2000-03-03 Christopher James Lahey <clahey@helixcode.com> * e-table.c: Removed some unused code. * e-table-header-item.c, e-table-header-item.h: Removed the unused normal_cursor variable and object. * e-table-col.c: Maintain a reference count in the contained ECell. svn path=/trunk/; revision=2024
* Test frozen columnsChristopher James Lahey2000-03-011-0/+9
| | | | | | | | | | | | | | | | | | | 2000-02-29 Christopher James Lahey <clahey@helixcode.com> * test-table.c: Test frozen columns * e-table.c: Make frozen columns available through the xml file. * e-table-header.c, e-table-header.h, e-table-header-item.c: Added frozen columns API to let you specify some number of leading columns as undraggable. * Makefile.am: Add e-table-example-1.c and e-table-example-2.c. * e-table-example-1.c, e-table-example-2.c: New files. A couple of examples of ETable use. svn path=/trunk/; revision=1993
* Fixed a couple of crash bugs.Christopher James Lahey2000-02-281-2/+2
| | | | | | | | | 2000-02-28 Christopher James Lahey <clahey@helixcode.com> * e-table-header-item.c, e-table-header.c: Fixed a couple of crash bugs. svn path=/trunk/; revision=1975
* This were moved to widgets/e-text/ a while ago but never removed. TheyChristopher James Lahey2000-02-241-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Check the ethi is actually the one being dragged. Prevents crashes whenIain Holmes2000-02-131-0/+14
| | | | | | | | | | | | | 2000-02-12 Iain Holmes <ih@csd.abdn.ac.uk> * e-table-header-item.c (ethi_drag_motion): Check the ethi is actually the one being dragged. Prevents crashes when trying to drag headeritems and there are multiple headeritems on the same canvas. (ethi_drag_end): Same. (ethi_drag_drop): Same. (ethi_drag_leave): Same. svn path=/trunk/; revision=1745
* Added test of sort arrows.Christopher James Lahey2000-02-121-7/+33
| | | | | | | | | | | | | 2000-02-11 Christopher James Lahey <clahey@helixcode.com> * test-check.c: Added test of sort arrows. * e-table-col.h, e-table-col.c: Added sort arrows for column headers (It doesn't actually sort. It just displays the arrows.) * e-table-header-item.c: Added display of arrows. svn path=/trunk/; revision=1743
* Test column header image.Christopher James Lahey2000-02-121-16/+34
| | | | | | | | | | | | | | 2000-02-11 Christopher James Lahey <clahey@helixcode.com> * clip.png: Test column header image. * test-check.c: Test pixbuf column headers. * e-table-col.h, e-table-col.c: Added pixbufs for column headers. * e-table-header-item.c (draw_button): Draw pixbuf column headers properly. svn path=/trunk/; revision=1739
* Added reordering of columns.Christopher James Lahey2000-02-121-21/+66
| | | | | | | | | | | | 2000-02-11 Christopher James Lahey <clahey@helixcode.com> * e-table-header-item.h, e-table-header-item.c: Added reordering of columns. * e-table-header.c: Fixed a couple of bugs in the move column and remove column functions. svn path=/trunk/; revision=1736
* Handle button releases properly.Christopher James Lahey2000-02-101-0/+23
| | | | | | | | | | 2000-02-10 Christopher James Lahey <clahey@helixcode.com> * e-cell-text.c: Handle button releases properly. * e-table-header-item.c (ethi_start_drag): Added a drag icon. svn path=/trunk/; revision=1724
* Setup the scroll region of the table canvas on size allocation.Miguel de Icaza2000-02-071-1/+3
| | | | | | | | | | | 2000-02-07 Miguel de Icaza <miguel@gnu.org> * e-table.c (e_table_setup_table): Setup the scroll region of the table canvas on size allocation. (e_table_canvas_realize): Do not set the scrollregion here. (e_table_canvas_init): Move root initialization here. svn path=/trunk/; revision=1683
* Compilation touchups -miguelArturo Espinosa2000-01-061-1/+1
| | | | svn path=/trunk/; revision=1537
* More work. We now have the basics for nesting working, now we need all theArturo Espinosa1999-12-121-2/+0
| | | | | | | | | | | | | | 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-24/+292
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* fixed api.Miguel de Icaza1999-12-031-2/+2
| | | | | | | | | | | | | | | | | | | | | 1999-12-02 Miguel de Icaza <miguel@gnu.org> * e-table-header.c (e_table_header_index): fixed api. 1999-12-01 Miguel de Icaza <miguel@gnu.org> * test-cols.c (multi_cols_test): Update to simplified API. * test-check.c (check_test): ditto * test-table.c (table_browser_test): ditto * e-table-simple.c (e_table_simple_class_init): Kill column_name method. * e-table-model.h: Kill column_name method. * e-table-col.c (e_table_col_new): Instead of using a column name, use a column index. svn path=/trunk/; revision=1459
* Removed change cursor from here.Miguel de Icaza1999-12-021-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | 1999-12-01 Miguel de Icaza <miguel@gnu.org> * e-table-header-item.c (ethi_unrealize): Removed change cursor from here. * e-cell-text.c (ect_draw): Memory leak fix. * table-test.c (main): Enhance the demo to load sample.table automatically, to get memprof working. * e-table-header.c (eth_do_remove): Take an argument: do -remove. * e-table-header.c (e_table_header_add_column): Sink ETableCol to own the object. * e-table-col.h: Made ETableCol a GtkObject to make reference counting the lifecycle method for these objects. * e-table-col.c (e_table_col_destroy): New API call. * e-table-subset.c (e_table_subset_get_toplevel): New API call. svn path=/trunk/; revision=1450
* New cell-toggle stuff compiles -miguelArturo Espinosa1999-11-301-2/+12
| | | | svn path=/trunk/; revision=1446
* beginning of the keyboard navigation.Miguel de Icaza1999-11-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Compute height using the ecell methods here. (eti_get_height): new methodMiguel de Icaza1999-11-271-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-23/+0
| | | | svn path=/trunk/; revision=1435
* Realize cells.Miguel de Icaza1999-11-251-8/+31
| | | | | | | | | | | | | | | | | | | | | | | 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
* Compute width, keep track of it. (ethi_add_table_header): Monitor changesMiguel de Icaza1999-11-211-6/+59
| | | | | | | | | | | | | | | | | | | | 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
* New E-table-item.[ch] -migArturo Espinosa1999-11-191-1/+2
| | | | svn path=/trunk/; revision=1419
* Add resizing capabilities.Miguel de Icaza1999-11-161-35/+268
| | | | | | | | | | | | | | | | | | | | | 1999-11-14 Miguel de Icaza <miguel@gnu.org> * e-table-header-item.c (is_pointer_on_division): Add resizing capabilities. * e-table-sorted.c: Finish implementation. 1999-11-13 Miguel de Icaza <miguel@gnu.org> * e-table-sorted.c: Implement e-table-sorted object. 1999-11-12 Miguel de Icaza <miguel@gnu.org> * e-table-header-item.c: Make the thing configurable. * e-table-header-item.h: Add font field, location, height. svn path=/trunk/; revision=1388
* More table workArturo Espinosa1999-11-121-7/+3
| | | | svn path=/trunk/; revision=1383
* StuffArturo Espinosa1999-11-101-0/+233
svn path=/trunk/; revision=1378