aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-table-item.c
Commit message (Collapse)AuthorAgeFilesLines
* Port to Windows, initial commit:Tor Lillqvist2005-04-291-16/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-04-29 Tor Lillqvist <tml@novell.com> Port to Windows, initial commit: * configure.in: Check for Win32, define Automake conditional OS_WIN32. Check for regexec() perhaps in separate -lregex, define REGEX_LIBS if so. Require glib-2.0 >= 2.6 (and thus also gtk+-2.0 >= 2.6) so that we can use the gstdio wrappers for full support of non-ASCII filenames on Win32. Don't use -D_REENTRANT on Win32, has ne special meaning. * gal.pc.in: Require gtk+-2.0 >= 2.6 also here for consistency. * gal-zip.in: New file, used to build zipfile format distribution of gal for Win32. * configure.in * Makefile.am: Add gal-zip(.in). * */Makefile.am * */*.c: Harmonize -I and #include conventions. (Of course, this hasn't anything to do with Windows porting as such, I just got carried away...) Use only -I$(top_srcdir). Use paths to gal headers staring with "gal", except for headers from the same directory as the .c file, which are included as such. Include all gal headers using doublequotes. Sort #includes and remove duplicates and obvious redundancies. Include config.h first without any HAVE_CONFIG_H, then system headers, then other GNOME lib headers, than gal's own headers. Just include gtk.h instead of separate gtk*.h headers. Don't include gi18n.h, include e-i18n.h to use e_gettext() consistently. * gal/Makefile.am: Use -no-undefined on Win32 so that libtool agrees to build a shared library. Because of the bidirectional dependency between libgal and libgal-a11y we can build libgal-a11y sanely as a shared library on Win32, so we don't install any separate libgal-a11y at all. So, on Win32, link the stuff that goes into libgal-a11y also into libgal. Link with REGEX_LIBS. * gal/a11y/Makefile.am: See above. Just build a dummy static libgal-a11y on Win32 (can't convince Automake not to build the library at all on one platform using Automake ifdef, apparently). Then (this is a gross hack) explicitly remove the library after installation in the install-data-local rule. * gal/e-table/Makefile.am * gal/e-table/e-table-config.c: Rename ETABLE_GLADEDIR to GAL_GLADEDIR for consistency. * gal/e-table/e-cell-date.c: No localtime_r() in Microsoft's C library, but its localtime() *is* thread-safe. * gal/e-table/e-cell-text.c * gal/e-table/e-cell-tree.c * gal/e-table/e-cell-vbox.c * gal/e-text/e-text.c * gal/widgets/e-unicode.c: Remove unnecessary inclusion of gdkx.h. * gal/e-table/e-cell-tree.c (ect_realize): Instead of the Xlib macro None (whose value is zero), use the corresponding zero-valued enums from the appropriate GDK type. * gal/e-table/e-table-config.c * gal/e-table/e-table-field-chooser.c * gal/menus/gal-define-views-dialog.c * gal/menus/gal-view-instance-save-as-dialog.c * gal/menus/gal-view-new-dialog.c * gal/widgets/e-categories-master-list-array.c * gal/widgets/e-categories-master-list-dialog.c * gal/widgets/e-categories.c: Use g_build_filename() to construct pathnames at run-time instead of compile-time. On Windows the macros GAL_GLADEDIR and GAL_IMAGESDIR expand to function calls, in order to support installing in a freely chosen location. * gal/e-table/e-table-item.c * gal/e-table/e-cell-vbox.c: Instrad of the Xlib GrabSuccess, use GDK_GRAB_SUCCESS (which has the same value). * gal/e-table/e-table-specification.c (e_table_specification_load_from_file) * gal/e-table/e-table.c (e_table_load_specification) * gal/e-table/e-tree-table-adapter.c (open_file) * gal/menus/gal-view-instance.c (load_current_view) * gal/menus/gal-view-instance.c (load_current_view): On Win32, convert filename to the locale character set before passing to xmlParseFile() which doesn't use UTF-8 filenames. Use gstdio wrappers. * gal/util/Makefile.am: Define GAL_PREFIX as $prefix. Define GAL_LOCALEDIR, GAL_GLADEDIR and GAL_IMAGESDIR also here for e-win32-reloc.c. Include e-win32-reloc.c on Win32. * gal/util/e-iconv.c (e_iconv_init): Use g_win32_getlocale() on Windows. * gal/util/e-util.c * gal/util/e-xml-utils.c: Use g_mkstemp() instead of non-portable mkstemp(). Use GLib pathname manipulation functions. Use gstdio wrappers. * gal/util/e-util-private.h: New file. Contains just Win32 bits for now that redefine the directory names from the Makefile as functions calls. * gal/util/e-win32-reloc.c: New file. Contains a minimal DllMain() and functions to support freely chosen installation location on Windows. * gal/util/e-xml-utils.c: No fsync() in the Microsoft C library. * gal/windgets/Makefile.am: Add -I$(top_srcdir)/gal for consistency with the sibling Makefile.am files. * gal/widgets/e-canvas.c: Instead of the Xlib AlreadyGrabbed, use GDK_GRAB_ALREADY_GRABBED. svn path=/trunk/; revision=29249
* add an a11y name for the popup list. make shortcut key ALT+Arrow work.Li Yuan2005-01-271-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-01-27 Li Yuan <li.yuan@sun.com> * e-cell-combo.c: (e_cell_combo_init), (e_cell_combo_do_popup), (e_cell_combo_list_button_press), (e_cell_combo_button_press), (e_cell_combo_button_release), (e_cell_combo_key_press): add an a11y name for the popup list. make shortcut key ALT+Arrow work. Fixes #70261 * e-cell-text.c: (e_cell_text_class_init), (_delete_selection), (_insert): add "text_inserted" and "text_deleted" signals to notify the text has been changed. (e_cell_text_get_text_by_view): new helper function to get the text being editted. * e-cell-text.h: add signal declaration. * e-cell-toggle.c: (etog_draw): add range check for negative values. * e-cell-vbox.c: (e_cell_vbox_class_init): * e-cell-vbox.h: make ECellVboxView public since it will be used in a11y part. * e-table-click-to-add.c: (etcta_style_set), (create_rect_and_text), (etcta_realize), (etcta_class_init), (e_table_click_to_add_commit): add "style_set" signal to click_to_add and implement the style_set function. (etcta_init): add a11y name to click to add. * e-table-click-to-add.h: add "style_set" signal to click_to_add and implement the style_set function. * e-table-config.c: (config_button_up), (config_button_down): check whether the columns are empty. * e-table-group-container.c: * e-table-group-container.h: make ETableGroupContainerChildNode public since it will be used in a11y part. * e-table-item.c: (eti_init): init eti->cols. (eti_event): at GDK_KEY_PRESS event and GDK_Down key pressed, we check view_col value before we pass it to eti_e_cell_event. (eti_class_init): call the new initialize function * e-table.c: (table_canvas_focus_event_cb): if canvas has a focused item but the etable does not have a cursor row, just focus the first item after check whether the click_to_add should get the focus. svn path=/trunk/; revision=28571
* fixes for compiler warningsRadek Doulik2004-06-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-06-10 Radek Doulik <rodo@ximian.com> * e-cell-text.c (layout_with_preedit): removed unused variable * e-tree.c (e_tree_get_item): added cast added #include <atk/atkregistry.h> * e-table-one.c (one_finalize): removed unused variable * e-table-item.c: added #include "gal/a11y/e-table/gal-a11y-e-table-item.h" for gal_a11y_e_table_item_factory_get_type prototype * e-table-header-utils.c (e_table_header_draw_button): removed unused variable * e-table-config.c (get_source_model_col_index): removed unused variable * e-table-click-to-add.c (finish_editing): added cast (etcta_event): ditto * e-cell-toggle.c: added #include "gal/a11y/e-table/gal-a11y-e-cell-registry.h" to have gal_a11y_e_cell_registry_add_cell_type prototype * e-cell-text.c (layout_with_preedit): removed unused variable (build_layout): ditto (ect_event): ditto (e_cell_text_commit_cb): ditto * e-cell-popup.c: added #include "gal/a11y/e-table/gal-a11y-e-cell-registry.h" to have gal_a11y_e_cell_registry_add_cell_type prototype svn path=/trunk/; revision=26284
* Fixes #51626Bruce Tao2004-05-101-0/+4
| | | | | | | | | | | | | | | | | | | | 2004-04-22 Bruce Tao <bruce.tao@sun.com> Fixes #51626 * e-table-click-to-add.c: (etcta_event): Add an entry for focus_in event, do the same thing as button_press event. * e-table-item.c: (eti_event): Mask the Ctrl+Tab processing routine. * e-table.c: (table_canvas_focus_event_cb), (canvas_vbox_event), (click_to_add_event), (e_table_setup_table): Enable you to navigate between click_to_add and the existing tasks by pressing Ctrl+Tab. However, if there is no existing task, you can still jump out of click_to_add by this way. svn path=/trunk/; revision=25831
* revert last patch. (eti_attach_cell_views): add some code to reset dragsNot Zed2004-05-041-2/+12
| | | | | | | | | | | | 2004-05-04 Not Zed <NotZed@Ximian.com> * e-table-item.c (eti_event): revert last patch. (eti_attach_cell_views): add some code to reset drags and other things as if the model changed, so we don't keep trying to run things we shouldn't be on the view which might be changing. This may break other things but should fix 57222 and related. svn path=/trunk/; revision=25779
* if motion column is beyond our known columns, just ignore it and don'tNot Zed2004-05-041-2/+3
| | | | | | | | | | 2004-05-04 Not Zed <NotZed@Ximian.com> * e-table-item.c (eti_event): if motion column is beyond our known columns, just ignore it and don't generate a LEAVE_NOTIFY. uh, seems to work, and fixes #57222. svn path=/trunk/; revision=25778
* reset motion_row/motion_col if the model changes. See bug #54757.Not Zed2004-02-261-0/+2
| | | | | | | | | 2004-02-26 Not Zed <NotZed@Ximian.com> * e-table-item.c (eti_table_model_pre_change): reset motion_row/motion_col if the model changes. See bug #54757. svn path=/trunk/; revision=24878
* Fixed #50844Andrew Wu2003-12-081-1/+1
| | | | | | | | | | | 2003-12-08 Andrew Wu <yang.wu@sun.com> Fixed #50844 * gal/a11y/e-table/gal-a11y-e-cell-popup.c: * gal/a11y/e-table/gal-a11y-e-cell-popup.h: a11y impl. for e-cell-popup. svn path=/trunk/; revision=23670
* Fixes #51139Bolian Yin2003-12-021-2/+2
| | | | | | | | | | | | | 2003-12-02 Bolian Yin <bolian.yin@sun.com> Fixes #51139 * gal/a11y/gal-a11y-e-table-item: (gal_a11y_e_table_item_ref_selection) (gal_a11y_e_table_item_unref_selection): new functions. * gal/e-table/e-table-item.c : change the place of emitting ""selection_model_removed" signal. svn path=/trunk/; revision=23571
* Fix for 50681 send a event to the right cell to pop up something.Andrew Wu2003-11-141-0/+6
| | | | | | | | | 2003-11-12 Andrew Wu <yang.wu@sun.com> Fix for 50681 * gal/e-table/e-table-item.c (eti_event): send a event to the right cell to pop up something. svn path=/trunk/; revision=23349
* Fixes # 50480Bolian Yin2003-11-111-0/+28
| | | | | | | | | | 2003-11-11 Bolian Yin <bolian.yin@sun.com> Fixes # 50480 * e-table-item: add two signals: "selection_model_removed" and "selection_model_added" svn path=/trunk/; revision=23281
* Allocate colors using gdk_colormap_alloc_color().Hans Petter Jansson2003-10-241-1/+4
| | | | | | | | | 2003-10-23 Hans Petter Jansson <hpj@ximian.com> * e-table-item.c (eti_get_cell_background_color): Allocate colors using gdk_colormap_alloc_color(). svn path=/trunk/; revision=23053
* Support for preedit in e-text widgets.Suresh Chandrasekharan2003-10-151-7/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-10-14 Suresh Chandrasekharan <suresh.chandrasekharan@sun.com> * Support for preedit in e-text widgets. * gal/gal/e-text/e-text.c: Added e_text_preedit_changed_cb and insert_preedit_text. * Modified the following functions. (e_text_draw) Calls insert_preedit_text also cursor pos @ the end of text->selection_start + text->preedit_len (e_text_event) Added hooks for preedit_cb (e_text_init) Inits text->preedit_len (e_text_retrieve_surrounding_cb) Removed printf (e_text_delete_surrounding_cb) Correct params for gtk_editable_delete_text to make it work. * gal/gal/e-text/e-text.h: Added preedit_len in struct _EText 2003-09-25 Suresh Chandrasekharan <suresh.chandrasekharan@sun.com> * Fix for "44222 task summary entry widget not i18ned". The following files are changed. * gal/gal/e-table/e-cell-text.c: Lots of changes for i18n selection/input support. Added these functions for input method support. (e_cell_text_preedit_changed_cb) (e_cell_text_commit_cb) (e_cell_text_retrieve_surrounding_cb) (e_cell_text_delete_surrounding_cb) (layout_with_preedit) This function inserts the preedit string with the right attribs to the layout text. (build_attr_list) Creates the PangoAttrList with bold/stikeout/underline as applicable for the current ECellText. The following functions are modified. (ect_stop_editing): disconnect signal handlers when editing stops (ect_draw): Changes for including the preedit only to the currently selected row/col. Also display the cursor at the end of preedit text. (ect_event): Connects the IM callbacks to the key press event. Disconnect when not in editing mode. Also a special flag to see when Enter key pressed in preedit mode, the text is committed only not a new row is created. This woks in conjunction with the changes made in the eti_event in e-table-item.c file and e-cell.h. (ect_height): Changes due to parameters changing for generate_layout (ect_enter_edit): Initialization of im_context for a cell text and assoociated flags. (ect_max_width): Changes due to parameters changing for generate_layout. (ect_max_width_by_row): Changes due to parameters changing for generate_layout. (ect_show_tooltip): Changes due to parameters changing for generate_layout. (e_cell_text_construct): check whether paramters are NULL. (get_position_from_xy): Changes due to parameters changing for generate_layout. (_insert): Set the selection_start as the minimum of strlen(edit->text) and selection_start. Used to correct the preedit_string length which may have added to the selection_start. (e_cell_text_view_command): When inserting, if in the preedit mode do not delete the selection. (_selection_get): Set utf8 data instead of string data. (_selection_received): Take in UTF8_ATOM inaddition to GDK_SELECTION_TYPE_STRING. (e_cell_text_view_get_selection): Make utf8 data when acting as a selection source. * gal/e-table/e-cell-text.h : Included <gtk/gtkmenu.h> * gal/e-table/e-cell.h: Added enum E_CELL_PREEDIT to ECellFlags * gal/e-table/e-table-item.c: (eti_event) Changes for not committing the edited text as a seperate row in preedit mode. * gal/e-table/e-table.c: (table_canvas_focus_event_cb) To have proper im_context focus for the ecanvas holding the e-table. svn path=/trunk/; revision=22882
* add new files. set the right role. new file.Yuedong Du2003-10-111-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-10-11 Yuedong Du <yuedong.du@sun.com> * gal/a11y/e-table/Makefile.am: add new files. * gal/a11y/e-table/gal-a11y-e-cell.c: (gal_a11y_e_cell_construct): set the right role. * gal/a11y/e-table/gal-a11y-e-table-item-factory.c: new file. (gal_a11y_e_table_item_factory_get_accessible_type), (gal_a11y_e_table_item_factory_create_accessible), (gal_a11y_e_table_item_factory_class_init), (gal_a11y_e_table_item_factory_init), (gal_a11y_e_table_item_factory_get_type): factory for the table item a11y object. in create_accessible, we judge the type of widget then set correct role. * gal/a11y/e-table/gal-a11y-e-table-item-factory.h: ditto. * gal/a11y/e-table/gal-a11y-e-tree-factory.c: new file. (gal_a11y_e_tree_factory_get_accessible_type), (gal_a11y_e_tree_factory_create_accessible), (gal_a11y_e_tree_factory_class_init), (gal_a11y_e_tree_factory_init), (gal_a11y_e_tree_factory_get_type): factory for a11y object of etree. Mostly copyed from gal-a11y-e-table-factory.c. * gal/a11y/e-table/gal-a11y-e-tree-factory.h: ditto * gal/a11y/e-table/gal-a11y-e-tree.c: (init_child_item), (et_ref_accessible_at_point), (et_get_n_children), (et_ref_child), (et_class_init), (et_atk_component_iface_init), (et_init), (gal_a11y_e_tree_get_type), (gal_a11y_e_tree_new):a11y object for etree object, mostly copied from gal-a11y-e-table.c. init_child_item set correct role for the table item. * gal/a11y/e-table/gal-a11y-e-tree.h: ditto. * gal/e-table/e-table-item.c: (eti_class_init): register factory for table item a11y object. * gal/e-table/e-tree.c: (e_tree_get_item), (e_tree_class_init): add new access fuction to get the table item of etree. * gal/e-table/e-tree.h: ditto svn path=/trunk/; revision=22867
* extracted from ect_draw (draw_expander): new gtktreeview-like expanderMike Kestner2003-08-161-10/+36
| | | | | | | | | | | | | | | | | | 2003-08-15 Mike Kestner <mkestner@ximian.com> * e-cell-tree.c (draw_retro_expander): extracted from ect_draw (draw_expander): new gtktreeview-like expander drawing (ect_draw): draw lines and expanders based on retro_look style prop (adjust_event_position): extracted method from ect_event (event_in_expander): new checks for motion/clicks in expander (ect_event): handle prelight for new expanders * e-table-item.c (eti_init): init new motion col/row (eti_event): synthesize leave_notify events for cells and propogate existing motion events to the cells. * e-tree.c (e_tree_class_init): add retro_look and expander_size style props. svn path=/trunk/; revision=22251
* don't do the CURSOR_FIRST checks if cursor is NULL [43523]Mike Kestner2003-06-141-1/+1
| | | | | | | | | | | | | | 2003-06-13 Mike Kestner <mkestner@ximian.com> * e-tree.c (et_search_search): don't do the CURSOR_FIRST checks if cursor is NULL [43523] 2003-06-13 Mike Kestner <mkestner@ximian.com> * e-table-item.c (eti_get_cell_background_color): update to an alt row color more consistent with gtktreeview. [44610] svn path=/trunk/; revision=21440
* block the signal that got us here until we're done to stop an infiniteMike Kestner2003-05-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | 2003-05-16 Mike Kestner <mkestner@ximian.com> * gal-view-collection.c (view_changed): block the signal that got us here until we're done to stop an infinite recursion. Fixes 43153. 2003-05-16 Mike Kestner <mkestner@ximian.com> * e-cell-text.c (invisible_finalize): kill (ect_stop_editing): destroy the invisible, not weak_unref (e_cell_text_view_get_invisible): don't weak_ref the invisible since we own its ref. 2003-05-16 Mike Kestner <mkestner@ximian.com> * e-table-item.c (eti_event): fix a couple timer checks * e-tree-table-adapter.c (update_node): Traverse POST order so that the parent nodes are at the head of the prepended list. Don't restore expanded state to nodes that aren't in the tree any longer. Hopefully fixes #42856. svn path=/trunk/; revision=21229
* gross hack to work around a post dispose event emission byMike Kestner2003-05-151-0/+3
| | | | | | | | | 2003-05-13 Mike Kestner <mkestner@ximian.com> * e-table-item.c (eti_event): gross hack to work around a post dispose event emission by gtk2.0/canvas2.0 [#42622] svn path=/trunk/; revision=21174
* don't return on col == -1. update the adjustment to center the cursor.Mike Kestner2003-05-101-1/+1
| | | | | | | | | | | 2003-05-09 Mike Kestner <mkestner@ximian.com> * e-table-item.c (eti_cursor_change): don't return on col == -1. * e-tree.c (tree_canvas_size_allocate): update the adjustment to center the cursor. (hover_timeout): remove unused variable to fix warning svn path=/trunk/; revision=21142
* remove debugging g_print calls fix length_threshold prop range fixMike Kestner2003-04-081-1/+1
| | | | | | | | | | | 2003-04-08 Mike Kestner <mkestner@ximian.com> * e-cell-popup.c : remove debugging g_print calls * e-table-group-container.c : fix length_threshold prop range * e-table-group-leaf.c : fix length_threshold prop range * e-table-item.c : fix length_threshold prop range svn path=/trunk/; revision=20750
* add cursor_idle_id.Chris Toshok2003-03-191-1/+8
| | | | | | | | | | | | | | 2003-03-18 Chris Toshok <toshok@ximian.com> * e-table-item.h (ETableItem): add cursor_idle_id. * e-table-item.c (eti_idle_maybe_show_cursor): save off the cursor_idle_id. (eti_idle_show_cursor_cb): reset the cursor_idle_id to 0. (eti_dispose): remove the cursor_idle_id. Fixes a crash in the evolution select-names dialog. svn path=/trunk/; revision=20344
* fix overzealous g_asserts to avoid crashes when eti->rows is alreadyMike Kestner2003-02-211-5/+1
| | | | | | | | | 2003-02-20 Mike Kestner <mkestner@ximian.com> * e-table-item.c (eti_table_model_rows_deleted): fix overzealous g_asserts to avoid crashes when eti->rows is already updated. svn path=/trunk/; revision=19982
* make GAL_LIBS use -lgal-2.0 remove extraneous GTK_LIBS reference update toMike Kestner2003-02-051-0/+4
| | | | | | | | | | | | | | | | | 2003-02-03 Mike Kestner <mkestner@ximian.com> * configure.in : make GAL_LIBS use -lgal-2.0 * gal/Makefile.am : remove extraneous GTK_LIBS reference * tests/test-tree-3.c : update to new etta API gal/e-table/ChangeLog 2003-02-03 Mike Kestner <mkestner@ximian.com> * e-tree-selection-model.c : remove e-tree-sorted usage * e-tree-table-adapter.* : rewrite to perform sorting * e-tree.c : remove e-tree-sorted usage svn path=/trunk/; revision=19755
* revert broken fixMike Kestner2003-01-111-1/+1
| | | | | | | | 2002-01-10 Mike Kestner <mkestner@ximian.com> * e-table-item.c (eti_table_model_rows_deleted): revert broken fix svn path=/trunk/; revision=19413
* valgrindageMike Kestner2002-12-141-1/+1
| | | | | | | | 2002-12-13 Mike Kestner <mkestner@ximian.com> * e-table-item.c (eti_table_model_rows_deleted): valgrindage svn path=/trunk/; revision=19119
* check for table->table_canvas == NULL.Chris Toshok2002-11-171-11/+13
| | | | | | | | | | | 2002-11-16 Chris Toshok <toshok@ximian.com> * e-table.c (set_scroll_adjustments): check for table->table_canvas == NULL. * e-table-item.c (eti_dispose): guard eti->tooltip. svn path=/trunk/; revision=18807
* GObject port work.Chris Toshok2002-11-171-247/+303
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-11-16 Chris Toshok <toshok@ximian.com> * e-cell-checkbox.[ch]: GObject port work. * e-cell-combo.[ch]: same. * e-cell-date.[ch]: same. * e-cell-float.[ch]: same. * e-cell-number.[ch]: same. * e-cell-pixbuf.[ch]: same. * e-cell-popup.[ch]: same. * e-cell-progress.[ch]: same. * e-cell-size.[ch]: same. * e-cell-spin-button.[ch]: same. * e-cell-text.[ch]: same. * e-cell-toggle.[ch]: same. * e-cell-tree.[ch]: same. * e-cell-vbox.[ch]: same. * e-cell.[ch]: same. * e-table-col.c: same. * e-table-column.c: same. * e-table-config-field.[ch]: same. * e-table-config.c: same. * e-table-config.glade: same. * e-table-field-chooser-dialog.[ch]: same. * e-table-field-chooser-item.[ch]: same. * e-table-field-chooser.[ch]: same. * e-table-group-container.[ch]: same. * e-table-group-leaf.[ch]: same. * e-table-group.[ch]: same. * e-table-header-item.[ch]: same. * e-table-header-utils.[ch]: same. * e-table-header.c: same. * e-table-item.[ch]: same. * e-table-scrolled.[ch]: same. * e-table-utils.c: same. * e-table.[ch]: same. * e-tree-memory-callbacks.h: same. * e-tree-scrolled.[ch]: same. * e-tree-sorted-variable.c: same. * e-tree.[ch]: same. * test-check.c: same. * test-cols.c: same. * test-table.c: same. svn path=/trunk/; revision=18801
* deal with ESelectionModel no longer deriving from GtkObject.Chris Toshok2002-11-151-91/+91
| | | | | | | | | | | | | | | | | | | | | | 2002-11-14 Chris Toshok <toshok@ximian.com> * e-table-item.c: deal with ESelectionModel no longer deriving from GtkObject. * e-table.c: same. * e-tree.c: same. * e-table-config.c (do_fields_config_dialog): use GtkDialog's reponse instead of GnomeDialog's button. * e-table-click-to-add.[ch]: GObjectify this. * e-table-selection-model.[ch]: this derives from GObject now. * e-tree-selection-model.[ch]: same. svn path=/trunk/; revision=18773
* Replace gtk_object_(un)?ref() with g_object_(un)?ref(). Likewise.Ettore Perazzoli2002-11-121-1/+1
| | | | | | | | | | | | | | | | | | * gal/e-table/e-cell-popup.c: Replace gtk_object_(un)?ref() with g_object_(un)?ref(). * gal/e-table/e-cell-text.c: Likewise. * gal/e-table/e-cell-tree.c: Likewise. * gal/e-table/e-cell-vbox.c: Likewise. * gal/e-table/e-table-click-to-add.c: Likewise. * gal/e-table/e-table-config-field.c: Likewise. * gal/e-table/e-table-field-chooser-dialog.c: Likewise. * gal/e-table/e-table-field-chooser-item.c: Likewise. * gal/e-table/e-table-field-chooser.c: Likewise. * gal/e-table/e-table-group-container.c: Likewise. * gal/e-table/e-table-item.c: Likewise. * gal/e-table/e-table-without.c: Likewise. svn path=/trunk/; revision=18702
* remove ref/unref G_OBJECT masks ditto ditto ditto ditto ditto ditto dittoMike Kestner2002-11-061-11/+11
| | | | | | | | | | | | | | | | 2002-11-05 Mike Kestner <mkestner@ximian.com> * e-cell-text.c : remove ref/unref G_OBJECT masks * e-table-extras.c : ditto * e-table-header-item.c : ditto * e-table-item.c : ditto * e-table-memory-store.c : ditto * e-table-one.c : ditto * e-tree-sorted.c : ditto * e-tree-table-adapter.c : ditto * e-tree.c : ditto svn path=/trunk/; revision=18572
* use GObject api for models GObjectify GObjectify GObjectify GObjectifyMike Kestner2002-11-051-37/+37
| | | | | | | | | | | | | | | | | | | | | 2002-11-05 Mike Kestner <mkestner@ximian.com> * e-table-item.c : use GObject api for models * e-table-memory-callbacks.[ch] : GObjectify * e-table-memory-store.[ch] : GObjectify * e-table-memory.[ch] : GObjectify * e-table-model.[ch] : GObjectify * e-table-one.[ch] : GObjectify * e-table-simple.[ch] : GObjectify * e-tree-memory.[ch] : GObjectify * e-tree-model.[ch] : GObjectify * e-tree-selection-model.c : use GObject api for models * e-tree-simple.[ch] : GObjectify * e-tree-sorted.[ch] : GObjectify * e-tree-table-adapter.[ch] : GObjectify * e-tree.c : use GObject api for models svn path=/trunk/; revision=18553
* use GObject api for ETableHeader use GObject api on ETableHeaderMike Kestner2002-11-051-18/+18
| | | | | | | | | | | | | | | | | | 2002-11-04 Mike Kestner <mkestner@ximian.com> * e-table-group.c : use GObject api for ETableHeader * e-table-header-item.c : use GObject api on ETableHeader * e-table-header.[ch] : GObjectify * e-table-item.c : use GObject api on ETableHeader * e-table-search.[ch] : GObjectify * e-table-sorted.c : use GObject api for ETableHeader * e-table-sorter.c : use GObject api for ETableHeader * e-table-specification.[ch] : GObjectify * e-table-utils.c : use GObject api for ETableHeader * e-tree-sorted.c : use GObject api for ETableHeader * e-tree.c : use GObject api on Header, Spec, and Search svn path=/trunk/; revision=18531
* merging the gal-2 branch back to the trunk.Mike Kestner2002-11-011-23/+43
| | | | | | merging the gal-2 branch back to the trunk. svn path=/trunk/; revision=18471
* don't emit a signal if we couldn't find the view rowJP Rosevear2002-10-221-2/+4
| | | | | | | | | 2002-10-18 JP Rosevear <jpr@ximian.com> * e-table-item.c (eti_cursor_activated): don't emit a signal if we couldn't find the view row svn path=/trunk/; revision=18405
* use the fg color array in style, not text color. Change requested by ChrisMike Kestner2002-09-281-2/+2
| | | | | | | | | 2002-09-27 Mike Kestner <mkestner@ximian.com> * e-table-item.c (eti_get_cell_foreground_color): use the fg color array in style, not text color. Change requested by Chris Lahey. svn path=/trunk/; revision=18256
* exit editing on dblclick. ungrab based on grabbed_count. unset grabbed_colMike Kestner2002-09-181-7/+8
| | | | | | | | | | 2002-09-17 Mike Kestner <mkestner@ximian.com> * gal/e-table/e-table-item.c (eti_event): exit editing on dblclick. ungrab based on grabbed_count. unset grabbed_col and grabbed_row on ungrab. svn path=/trunk/; revision=18089
* forgot to commit the po stuff from the release. also bumped the so number.Mike Kestner2002-09-111-1/+1
| | | | | | | | | | | | forgot to commit the po stuff from the release. also bumped the so number. 2002-09-10 Mike Kestner <mkestner@ximian.com> * gal/e-table/e-table-item.c (eti_event): allow keypress handling for cursor_col==-1 as long as cursor_row isn't -1 also so that e-tree searching works without click focusing an item. svn path=/trunk/; revision=18038
* Added debugging printfs.Christopher James Lahey2002-06-051-1/+2
| | | | | | | | | | | | | | | 2002-06-05 Christopher James Lahey <clahey@ximian.com> * e-table-field-chooser-item.c: Added debugging printfs. * e-table-header-item.c: Added debugging printfs. (ethi_drag_motion): Don't subtract widget->allocation.* here. It seems that this value is affected by whether the table is using a click to add field. Not sure why. * e-table-item.c (eti_realize): Check for NULL selection here. svn path=/trunk/; revision=17118
* Made it so that on realize we grab focus if we have the cursor, sinceChristopher James Lahey2002-06-051-0/+11
| | | | | | | | | | 2002-06-05 Christopher James Lahey <clahey@ximian.com> * e-table-item.c (eti_realize): Made it so that on realize we grab focus if we have the cursor, since otherwise, we'll change our selection on focus in. svn path=/trunk/; revision=17115
* Reenable tooltips if the GAL_DO_TOOLTIPS environment variable is set.Christopher James Lahey2002-06-041-1/+2
| | | | | | | | | 2002-06-04 Christopher James Lahey <clahey@ximian.com> * e-table-item.c (eti_event): Reenable tooltips if the GAL_DO_TOOLTIPS environment variable is set. svn path=/trunk/; revision=17097
* Get the font from the style again when the style changes. (init): ChecksChristopher James Lahey2002-06-041-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | 2002-06-03 Christopher James Lahey <clahey@ximian.com> * e-cell-text.c (ect_style_set): Get the font from the style again when the style changes. (init): Checks for the environment variable GAL_ELLIPSIS and uses that instead of ... if it is set. * e-table-click-to-add.c (finish_editing): e_table_item_leave_edit before committing. (etcta_event): Added a missing break; here. * e-table-item.c (eti_style_set): On style set, free the height cache, request a reflow and a redraw, and call eti_idle_maybe_show_cursor. (e_table_item_compute_location): Don't call eti_get_height here, just use the cached value. * e-tree.c, e-tree.h (e_tree_get_table_adapter): Added this simple accessor function. svn path=/trunk/; revision=17088
* Switch from gnome_canvas_item_grab to e_canvas_item_grab.Christopher James Lahey2002-05-101-8/+27
| | | | | | | | | | | | | | | | | | | 2002-05-09 Christopher James Lahey <clahey@ximian.com> * gal/e-text/e-text.c: Switch from gnome_canvas_item_grab to e_canvas_item_grab. * gal/widgets/e-canvas.c, gal/widgets/e-canvas.h (e_canvas_item_grab, e_canvas_item_ungrab): Added these functions. From gal/e-table/ChangeLog: 2002-05-09 Christopher James Lahey <clahey@ximian.com> * e-table-item.c, e-table-item.h: Switched from gnome_canvas_item_grab to e_canvas_item_grab. svn path=/trunk/; revision=16738
* From gal/e-table/ChangeLog:Christopher James Lahey2002-04-301-8/+8
| | | | | | | | | 2002-04-29 Christopher James Lahey <clahey@ximian.com> * e-table-item.c (eti_cursor_change): Redraw a row that is no longer the cursor even if this item isn't getting the new cursor. svn path=/trunk/; revision=16642
* Ansification patch from danw.Christopher James Lahey2002-04-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | 2002-04-25 Christopher James Lahey <clahey@ximian.com> * e-cell-checkbox.c, e-cell-combo.c, e-cell-date.c, e-cell-float.c, e-cell-number.c, e-cell-pixbuf.c, e-cell-popup.c, e-cell-size.c, e-cell-spin-button.c, e-cell-text.c, e-cell-toggle.c, e-cell-tree.c, e-cell.c, e-cell.h, e-table-click-to-add.c, e-table-col.c, e-table-column-specification.c, e-table-config-field.c, e-table-config.c, e-table-extras.c, e-table-field-chooser-dialog.c, e-table-field-chooser-item.c, e-table-field-chooser.c, e-table-group-container.c, e-table-group-leaf.c, e-table-group.c, e-table-header-item.c, e-table-header.c, e-table-item.c, e-table-memory-callbacks.c, e-table-model.c, e-table-scrolled.c, e-table-selection-model.c, e-table-sort-info.c, e-table-sorted-variable.c, e-table-sorted.c, e-table-sorter.c, e-table-specification.c, e-table-state.c, e-table-subset-variable.c, e-table-subset.c, e-table-without.c, e-table.c, e-table.h, e-tree-scrolled.c, e-tree-selection-model.c, e-tree-sorted-variable.c, e-tree-sorted.c, e-tree-table-adapter.c, e-tree.c: Ansification patch from danw. svn path=/trunk/; revision=16586
* implement printing (pixbuf_print_height): implement print heightJP Rosevear2002-04-251-1/+1
| | | | | | | | | | | | | | | | 2002-04-24 JP Rosevear <jpr@ximian.com> * e-cell-pixbuf.c (pixbuf_print): implement printing (pixbuf_print_height): implement print height (e_cell_pixbuf_class_init): set printing virtual methods * e-cell-toggle.c (etog_print): remove clipping, default clipping is done by the table, scale based on toggle height * e-table-item.c (e_table_item_calculate_print_widths): make the scale 1:1 svn path=/trunk/; revision=16577
* Check for a style_set signal on all the contained GnomeCanvasItems.Christopher James Lahey2002-03-161-0/+23
| | | | | | | | | | | | | | | | | | | | | 2002-03-15 Christopher James Lahey <clahey@ximian.com> * gal/widgets/e-canvas.c (e_canvas_style_set): Check for a style_set signal on all the contained GnomeCanvasItems. From gal/e-table/ChangeLog: 2002-03-15 Christopher James Lahey <clahey@ximian.com> * e-cell-toggle.c: Clear the pixmap cache in e_cell_style_set. * e-cell.c, e-cell.h (e_cell_style_set): Added this virtual method. * e-table-item.c, e-table-item.h: Call e_cell_style_set in out style_set signal. svn path=/trunk/; revision=16180
* Re-disable tooltips since they're (still) fantastically obnoxious withDan Winship2002-03-061-2/+0
| | | | | | | * e-table-item.c: Re-disable tooltips since they're (still) fantastically obnoxious with focus-follows-mouse. (OKed by Ettore). svn path=/trunk/; revision=15927
* Make the defalut for tooltips be on.Christopher James Lahey2002-02-141-2/+1
| | | | | | | | 2002-02-13 Christopher James Lahey <clahey@ximian.com> * e-table-item.c (eti_event): Make the defalut for tooltips be on. svn path=/trunk/; revision=15719
* Cancel tooltip timeouts here.Christopher James Lahey2002-02-131-8/+25
| | | | | | | | 2002-02-12 Christopher James Lahey <clahey@ximian.com> * e-table-item.c (eti_unrealize): Cancel tooltip timeouts here. svn path=/trunk/; revision=15686
* New functions for saving selection state and such.Christopher James Lahey2002-01-161-3/+42
| | | | | | | | | | | | | | | | 2002-01-15 Christopher James Lahey <clahey@ximian.com> * e-cell.c, e-cell.h (e_cell_save_state, e_cell_load_state, e_cell_free_state): New functions for saving selection state and such. * e-cell-text.c (ect_save_state): Implemented the new state functions. * e-table-item.c, e-table-item.h: Use the new cell state functions when focusing in or out. Fixes Ximian bug #14968. svn path=/trunk/; revision=15335
* Merging changes:Christopher James Lahey2001-12-171-11/+23
| | | | | | | | | | | | | | | | | 2001-12-11 Christopher James Lahey <clahey@ximian.com> * gal/widgets/e-canvas.c (e_canvas_unrealize): Turn off idle handling in the unrealize function instead of the destroy function. From gal/e-table/ChangeLog: 2001-12-11 Christopher James Lahey <clahey@ximian.com> * e-table-item.c: Turn off idle handling in the unrealize function instead of the destroy function. svn path=/trunk/; revision=15102
* Merging changes:Christopher James Lahey2001-12-051-6/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-12-04 Christopher James Lahey <clahey@ximian.com> * configure.in (GAL_CURRENT): Bumped version number to 0.18.99.0 and CURRENT to 19. 2001-11-21 Christopher James Lahey <clahey@ximian.com> * gal/widgets/e-reflow.c, gal/widgets/e-reflow.h: Handle selection_row_changed signal. * gal/widgets/e-selection-model-array.c, gal/widgets/e-selection-model-array.h: Properly send selection_row_changed signals if changing from a single row selected to a single other row selected or if moving the selection_end by a single row. * gal/widgets/e-selection-model.c, gal/widgets/e-selection-model.h: Added selection_row_changed signal. (e_selection_model_select_as_key_press): Fixed the case statement here to make MULTIPLE and EXTENDED the same as BROWSE instead of as SINGLE. From gal/e-table/ChangeLog: 2001-11-21 Christopher James Lahey <clahey@ximian.com> * e-table-item.c, e-table-item.h: Handle selection_row_changed signal. Keep track of the old cursor row so that we only redraw two rows when the cursor changes. * e-table.c, e-tree.c: Handle selection_row_changed signal. * e-tree-selection-model.c: Properly send selection_row_changed signals if changing from a single row selected to a single other row selected or if moving the selection_end by a single row. svn path=/trunk/; revision=14870
* Ungrab and set maybe_in_grab to FALSE before sending the double clickChristopher James Lahey2001-11-151-0/+17
| | | | | | | | | 2001-11-14 Christopher James Lahey <clahey@ximian.com> * e-table-item.c (eti_event): Ungrab and set maybe_in_grab to FALSE before sending the double click signal. svn path=/trunk/; revision=14708
* Bumped the version number to 0.16.99.0 and GAL_CURRENT to 17.Christopher James Lahey2001-11-011-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-31 Christopher James Lahey <clahey@ximian.com> * configure.in: Bumped the version number to 0.16.99.0 and GAL_CURRENT to 17. From gal/e-table/ChangeLog: 2001-10-31 Christopher James Lahey <clahey@ximian.com> * e-table-item.c (eti_unfreeze): Check for unfreezing past 0 here and give a warning. (eti_add_table_model): Call eti_freeze here since eti_table_model_changed will call unfreeze. * e-tree-memory.c (e_tree_memory_node_remove): Send deleted signal after freeing the child. * e-tree-model.c, e-tree-model.h: Added node_deleted signal. removed/deleted signals will always come in pairs in that order with a single pre_change for both of them. * e-tree-selection-model.c (etsm_node_deleted): Clear the tree on deleted here instead of on removed. * e-tree-sorted.c (ets_proxy_node_deleted): Chain deleted here. Chains to NULL node which is fine for now. svn path=/trunk/; revision=14557
* Added frozen_count variable to know not to show the cursor while a changeChristopher James Lahey2001-10-311-6/+73
| | | | | | | | | | | | | | | | | | | | | | | 2001-10-31 Christopher James Lahey <clahey@ximian.com> * e-table-item.c, e-table-item.h: Added frozen_count variable to know not to show the cursor while a change is going on. * e-table-model.c, e-table-model.h, e-tree-model.c, e-tree-model.h: Added a model_no_change signal to pair with a pre_change if there's no change. * e-table-selection-model.h: Removed an unused frozen field here. * e-table-sorted.c, e-table-subset.c, e-table-subset.h, e-table-without.c, e-tree-memory.c, e-tree-sorted.c, e-tree-table-adapter.c: Made sure pre_changes were all matched by some change. Proxy no_change signal where appropriate. * e-tree-selection-model.c: Keep track of the frozen_count variable to know whether a change is going on. svn path=/trunk/; revision=14523
* Request the right regions here. The range given is inclusive, notChristopher James Lahey2001-10-311-2/+2
| | | | | | | | | | 2001-10-30 Christopher James Lahey <clahey@ximian.com> * e-table-item.c (eti_show_cursor, eti_check_cursor_bounds): Request the right regions here. The range given is inclusive, not inclusive/exclusive. svn path=/trunk/; revision=14479
* Bumped the version number here to 0.15.99.9.Christopher James Lahey2001-10-301-8/+25
| | | | | | | | | | | | | | | | | | | | | | | 2001-10-30 Christopher James Lahey <clahey@ximian.com> * configure.in: Bumped the version number here to 0.15.99.9. From gal/e-table/ChangeLog: 2001-10-30 Christopher James Lahey <clahey@ximian.com> * e-cell-combo.c: Adapt to the changed popup signature. * e-cell-popup.c, e-cell-popup.h: Changed the behavior here to draw the button whenever we have the cursor. Changed the popup virtual method to pass in the row and column popping up. * e-cell.h: Added an E_CELL_CURSOR flag. * e-table-item.c: Pass in the E_CELL_CURSOR flag to event and draw calls as appropriate. svn path=/trunk/; revision=14439
* Chain the cursor_activated signal even if the row is -1.Christopher James Lahey2001-10-271-10/+7
| | | | | | | | | | | | 2001-10-26 Christopher James Lahey <clahey@ximian.com> * e-table-item.c (eti_cursor_activated): Chain the cursor_activated signal even if the row is -1. * e-tree.c (item_cursor_activated): Don't error out here if path is NULL. svn path=/trunk/; revision=14185
* Changed the license announcement at the top of these files.Christopher James Lahey2001-10-271-6/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-26 Christopher James Lahey <clahey@ximian.com> * e-cell-checkbox.c, e-cell-checkbox.h, e-cell-combo.c, e-cell-combo.h, e-cell-date.c, e-cell-date.h, e-cell-number.c, e-cell-number.h, e-cell-pixbuf.c, e-cell-pixbuf.h, e-cell-popup.c, e-cell-popup.h, e-cell-size.c, e-cell-size.h, e-cell-spin-button.c, e-cell-spin-button.h, e-cell-string.c, e-cell-text.c, e-cell-text.h, e-cell-toggle.c, e-cell-toggle.h, e-cell-tree.c, e-cell-tree.h, e-cell.c, e-cell.h, e-table-click-to-add.c, e-table-click-to-add.h, e-table-col-dnd.h, e-table-col.c, e-table-col.h, e-table-column-specification.c, e-table-column-specification.h, e-table-column.c, e-table-config-field.c, e-table-config-field.h, e-table-config.c, e-table-config.h, e-table-defines.h, e-table-example-1.c, e-table-example-2.c, e-table-extras.c, e-table-extras.h, e-table-field-chooser-dialog.c, e-table-field-chooser-dialog.h, e-table-field-chooser-item.c, e-table-field-chooser-item.h, e-table-field-chooser.c, e-table-field-chooser.h, e-table-group-container.c, e-table-group-container.h, e-table-group-leaf.c, e-table-group-leaf.h, e-table-group.c, e-table-group.h, e-table-header-item.c, e-table-header-item.h, e-table-header-utils.c, e-table-header-utils.h, e-table-header.c, e-table-header.h, e-table-item.c, e-table-item.h, e-table-memory-callbacks.c, e-table-memory-callbacks.h, e-table-memory.c, e-table-memory.h, e-table-model.c, e-table-model.h, e-table-one.c, e-table-one.h, e-table-scrolled.c, e-table-scrolled.h, e-table-selection-model.c, e-table-selection-model.h, e-table-simple.c, e-table-simple.h, e-table-size-test.c, e-table-sort-info.c, e-table-sort-info.h, e-table-sorted-variable.c, e-table-sorted-variable.h, e-table-sorted.c, e-table-sorted.h, e-table-sorter.c, e-table-sorter.h, e-table-sorting-utils.c, e-table-sorting-utils.h, e-table-specification.c, e-table-specification.h, e-table-state.c, e-table-state.h, e-table-subset-variable.c, e-table-subset-variable.h, e-table-subset.c, e-table-subset.h, e-table-tooltip.h, e-table-tree.h, e-table-utils.c, e-table-utils.h, e-table-without.c, e-table-without.h, e-table.c, e-table.h, e-tree-memory-callbacks.c, e-tree-memory-callbacks.h, e-tree-memory.c, e-tree-memory.h, e-tree-model.c, e-tree-model.h, e-tree-scrolled.c, e-tree-scrolled.h, e-tree-selection-model.c, e-tree-selection-model.h, e-tree-simple.c, e-tree-simple.h, e-tree-sorted-variable.c, e-tree-sorted-variable.h, e-tree-sorted.c, e-tree-sorted.h, e-tree-table-adapter.c, e-tree-table-adapter.h, e-tree.c, e-tree.h, table-test.c, table-test.h, test-check.c, test-cols.c, test-table.c: Changed the license announcement at the top of these files. * e-cell-string.c: Removed unused file. svn path=/trunk/; revision=14154
* Added #include "gal/widgets/e-unicode.h".Christopher James Lahey2001-10-251-28/+110
| | | | | | | | | | | | | | | | | | | | | | | | 2001-10-24 Christopher James Lahey <clahey@ximian.com> * e-cell-combo.c: Added #include "gal/widgets/e-unicode.h". * e-cell-text.c: Added lots of deactivated debugging printfs here. (ect_event): Fixed the flags check here. Set edit->actions to 0 before calling e_text_event_processor_handle_event. * e-table-item.c, e-table-item.h: Use eti_grab and eti_ungrab all over the place. Added lots and lots of deactivated debugging printfs here. (eti_grab, eti_ungrab): New functions to encapsulate grabbing and ungrabbing the cursor and to allow for recursive grabs (refcounting style.) * e-table.c: Added deactivated debugging printfs here. (et_canvas_root_event): Attach to the event handler on the root canvas item instead of the canvas itself when making the ETable leave editing state. Fixes Ximian bug #9737. svn path=/trunk/; revision=14072
* Make this check immediately for whether to show the cursor, instead of inChristopher James Lahey2001-10-231-5/+12
| | | | | | | | | | | | | 2001-10-22 Christopher James Lahey <clahey@ximian.com> * e-table-item.c (eti_idle_maybe_show_cursor): Make this check immediately for whether to show the cursor, instead of in the idle handler. * e-tree-table-adapter.c (e_tree_table_adapter_node_set_expanded): Added a pre_change here since we send two changes. svn path=/trunk/; revision=13931
* Cancel the drag or maybe drag if you have the mouse button down when theChristopher James Lahey2001-10-231-6/+22
| | | | | | | | | | | | | | 2001-10-22 Christopher James Lahey <clahey@ximian.com> * e-table-item.c (eti_cancel_drag_due_to_model_change): Cancel the drag or maybe drag if you have the mouse button down when the pre_change signal comes in. Fixes Ximian bug #11309. * e-table-without.c (add_row, remove_row, e_table_without_show_all): Call e_table_model_pre_change where appropriate here. svn path=/trunk/; revision=13927
* Implement these functions as pass through to the child cell.Christopher James Lahey2001-10-111-8/+20
| | | | | | | | | | | | | | | | | | | | 2001-10-10 Christopher James Lahey <clahey@ximian.com> * e-cell-popup.c (ecp_get_bg_color), e-cell-tree.c (ect_get_bg_color): Implement these functions as pass through to the child cell. * e-cell-text.c, e-cell-text.h (ect_get_bg_color): Implemented this using a bg_color_column which can be set through the argument of the same string. * e-cell.c, e-cell.h (e_cell_get_bg_color): Added this function to allow background color to change by cell. * e-table-item.c (eti_get_cell_background_color): Call e_cell_get_bg_color to allow background color to change by cell. svn path=/trunk/; revision=13566
* Check that cell views are realized before doing anything here. FixesChristopher James Lahey2001-10-071-0/+12
| | | | | | | | | | | | 2001-10-06 Christopher James Lahey <clahey@ximian.com> * e-table-item.c (eti_show_cursor, eti_check_cursor_bounds): Check that cell views are realized before doing anything here. Fixes Ximian bug #11919. (eti_check_cursor_on_screen): If the cursor values are all set to -1, don't do anything. svn path=/trunk/; revision=13488
* Handle row and cell changes properly in the uniform_row_height case.Christopher James Lahey2001-10-071-6/+3
| | | | | | | | | | 2001-10-06 Christopher James Lahey <clahey@ximian.com> * e-table-item.c (eti_table_model_row_changed, eti_table_model_cell_changed): Handle row and cell changes properly in the uniform_row_height case. svn path=/trunk/; revision=13485
* Got rid of the misused button variable here.Christopher James Lahey2001-10-061-6/+3
| | | | | | | | | 2001-10-05 Christopher James Lahey <clahey@ximian.com> * e-table-item.c (eti_event): Got rid of the misused button variable here. svn path=/trunk/; revision=13468
* Fixed the uniform_row_height + confirm_row_hieght_cache crash.Christopher James Lahey2001-10-061-6/+10
| | | | | | | | | 2001-10-05 Christopher James Lahey <clahey@ximian.com> * e-table-item.c (eti_set_arg): Fixed the uniform_row_height + confirm_row_hieght_cache crash. svn path=/trunk/; revision=13452
* Adapted height method to deal with a row of -1.Christopher James Lahey2001-10-051-88/+144
| | | | | | | | | | | | | | 2001-10-05 Christopher James Lahey <clahey@ximian.com> * e-cell-text, e-cell-pixbuf: Adapted height method to deal with a row of -1. * 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-table.h, e-tree.c: Added "uniform_row_height" argument. svn path=/trunk/; revision=13440
* add E_OBJECT_CLASS_ADD_SIGNALS and E_OBJECT_CLASS_TYPE to ease migrationMichael Meeks2001-10-051-8/+8
| | | | | | | | | | | | | | | 2001-10-05 Michael Meeks <michael@ximian.com> * gal/util/e-util.h: add E_OBJECT_CLASS_ADD_SIGNALS and E_OBJECT_CLASS_TYPE to ease migration to Gnome 2.0 from a single source base. * All C files: s/object_class->type,/E_OBJECT_CLASS_TYPE (object_class),/g; s/gtk_object_class_add_signals([^\(]*)\(([^,]*),([^,]*),([^\)]*)/ E_OBJECT_CLASS_ADD_SIGNALS\1(\2,\3,\4/; svn path=/trunk/; revision=13428
* Sometimes put off maybe showing the cursor until an idle callback.Christopher James Lahey2001-10-041-1/+23
| | | | | | | | | | | | | | 2001-10-04 Christopher James Lahey <clahey@ximian.com> * e-table-item.c (eti_idle_maybe_show_cursor): Sometimes put off maybe showing the cursor until an idle callback. * e-tree-selection-model.c (add_model): Use connect_after to connect to all the signals. This means we can assume the sorted tree and table adapters are both done. This also means that those objects cannot assume that the selection is already changed. svn path=/trunk/; revision=13406
* Only show the cursor during changes if it was already shown. Fixes XimianChristopher James Lahey2001-10-021-68/+196
| | | | | | | | | | 2001-10-02 Christopher James Lahey <clahey@ximian.com> * e-table-item.c, e-table-item.h: Only show the cursor during changes if it was already shown. Fixes Ximian bug #9810 and Ximian bug #4048. svn path=/trunk/; revision=13297
* Commit patch from Chris to implement e_tree_right_click_up() forEttore Perazzoli2001-09-261-1/+6
| | | | | | correct right-click behavior in single selection mode. svn path=/trunk/; revision=13123
* Remove the grab if ->grabbed.Ettore Perazzoli2001-09-211-0/+5
| | | | | | * e-table-item.c (eti_unrealize): Remove the grab if ->grabbed. svn path=/trunk/; revision=13024
* Added GDK_BUTTON_PRESS_MASK to our button mask. Fixes Ximian bug #8241.Christopher James Lahey2001-09-081-1/+1
| | | | | | | | | 2001-09-07 Christopher James Lahey <clahey@ximian.com> * e-table-item.c (eti_event): Added GDK_BUTTON_PRESS_MASK to our button mask. Fixes Ximian bug #8241. svn path=/trunk/; revision=12685
* Don't do_something on button_release if we did something on button_press.Christopher James Lahey2001-09-081-2/+6
| | | | | | | | | | 2001-09-07 Christopher James Lahey <clahey@ximian.com> * e-table-item.c, e-table-item.h (eti_event): Don't do_something on button_release if we did something on button_press. Fixes Ximian bug #3742. svn path=/trunk/; revision=12680
* Rename these functions from ecn_get_text and ecn_free_text.Christopher James Lahey2001-09-011-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fix this memmove. We've already subtracted the count from eti->rows.Christopher James Lahey2001-09-011-1/+2
| | | | | | | | | 2001-08-31 Christopher James Lahey <clahey@ximian.com> * e-table-item.c (eti_table_model_rows_deleted): Fix this memmove. We've already subtracted the count from eti->rows. svn path=/trunk/; revision=12550
* Fixed this memmove to subtract the count as well as the row for the numberChristopher James Lahey2001-08-271-1/+1
| | | | | | | | | | 2001-08-27 Christopher James Lahey <clahey@ximian.com> * e-table-item.c (eti_table_model_rows_deleted): Fixed this memmove to subtract the count as well as the row for the number of rows to move. svn path=/trunk/; revision=12482
* Added start_drag signals.Christopher James Lahey2001-08-251-26/+91
| | | | | | | | | | | | | | | | | | 2001-08-24 Christopher James Lahey <clahey@ximian.com> * e-table-group-container.c, e-table-group-leaf.c, e-table-group-leaf.h, e-table-group.c, e-table-group.h: Added start_drag signals. * e-table-item.c, e-table-item.h (eti_event): Send the start_drag signal. Fixes Ximian bug #807. * e-table.c, e-table.h, e-tree.c, e-tree.h: Added start_drag signal. Made default handler start drag & drop if we're set to automatically handle dnd. Ripped out the code to handle watching events for dnd since start_drag does this now. svn path=/trunk/; revision=12437
* Make the right and left key presses be marked as handled here (i.e.,Christopher James Lahey2001-08-031-0/+2
| | | | | | | | | | 2001-08-02 Christopher James Lahey <clahey@ximian.com> * e-table-item.c (eti_event): Make the right and left key presses be marked as handled here (i.e., return 1 always.) Fixes Ximian bug #2090. svn path=/trunk/; revision=11592
* Changed all e_table_model_is_cell_editable calls in this file to be on theChristopher James Lahey2001-08-031-3/+3
| | | | | | | | | 2001-08-02 Christopher James Lahey <clahey@ximian.com> * e-table-item.c: Changed all e_table_model_is_cell_editable calls in this file to be on the model column instead of the view column. svn path=/trunk/; revision=11589
* If the CLICK signal gets a return value, so we're going to be return fromJason Leach2001-07-261-1/+4
| | | | | | | | | | 2001-07-25 Jason Leach <jleach@ximian.com> * e-table-item.c (eti_event): If the CLICK signal gets a return value, so we're going to be return from eti_event immediately after, set the eti->click_count to zero. Fixes bug #811. svn path=/trunk/; revision=11420
* Handle GDK_KP_* cursor keys as well.Ettore Perazzoli2001-07-231-1/+5
| | | | | | * e-table-item.c (eti_event): Handle GDK_KP_* cursor keys as well. svn path=/trunk/; revision=11302
* Changed the variable names here to make it clear that these are view modelChristopher James Lahey2001-07-051-21/+50
| | | | | | | | | | | | | 2001-07-05 Christopher James Lahey <clahey@ximian.com> * e-table-item.c, e-table-item.h (find_cell): Changed the variable names here to make it clear that these are view model and row. (eti_event): Added click_count to make it so that if we get two clicks in different rows we don't send a double click event. (eti_event, view_to_model_row): Set row_guess in a few extra places. svn path=/trunk/; revision=10791
* Make a whole bunch of control keys not start the ETableItem editing.Christopher James Lahey2001-07-051-19/+43
| | | | | | | | | 2001-07-05 Christopher James Lahey <clahey@ximian.com> * e-table-item.c (eti_event): Make a whole bunch of control keys not start the ETableItem editing. svn path=/trunk/; revision=10789
* Make sure start_row and end_row are within the number of rows in theChristopher James Lahey2001-07-051-0/+8
| | | | | | | | | 2001-07-05 Christopher James Lahey <clahey@ximian.com> * e-table-item.c (e_table_item_row_diff): Make sure start_row and end_row are within the number of rows in the table. svn path=/trunk/; revision=10788
* Don't send the double click signal if there's no row selected.Christopher James Lahey2001-07-031-3/+6
| | | | | | | | | 2001-07-02 Christopher James Lahey <clahey@ximian.com> * e-table-item.c (eti_event): Don't send the double click signal if there's no row selected. svn path=/trunk/; revision=10712
* Make a key press stop the tooltip timeout.Christopher James Lahey2001-05-121-0/+4
| | | | | | | | | | | | | 2001-05-11 Christopher James Lahey <clahey@ximian.com> * e-table-item.c (eti_event): Make a key press stop the tooltip timeout. * e-table-state.c (e_table_state_load_from_node): Make the default expansion be one so that if the user doesn't specify any expansions they get a uniform expansion. svn path=/trunk/; revision=9769
* (Make the alternating row colors a option in ETableSpecification insteadJason Leach2001-04-291-10/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-04-28 Jason Leach <jasonleach@usa.net> (Make the alternating row colors a option in ETableSpecification instead of a compiled in #define) * e-table-specification.c (e_table_specification_load_from_node): Read in the "alternating-row-colors=bool" option for ETableSpecifications. Default value is true so unless it is specified to be false, row colors will alternate. (e_table_specification_save_to_node): Save the alternating row color options here. * e-table.c (et_build_groups): Pass down the alternating row colors through to the ETableGroup. * e-table-group-container.[ch]: Handle the new alternating row colors option here, passing it to ETableItem. * e-table-group-leaf.[ch]: Here too. * e-table-item.c (eti_get_cell_background_color): Got rid of the #define ALTERNATE_COLORS, replaced with truth check for ETableItem::alternating_row_colors. * e-tree.c: Make ETree recognize alternating row color options as well. svn path=/trunk/; revision=9622
* Added get_cell_geometry method.Christopher James Lahey2001-04-241-0/+25
| | | | | | | | | | | | | | 2001-04-23 Christopher James Lahey <clahey@ximian.com> * e-table-group-container.c, e-table-group-leaf.c, e-table-group.c, e-table-group-.h: Added get_cell_geometry method. * e-table-item.c, e-table-item.h: Added e_table_item_get_cell_geometry. * e-table.c, e-table.h: Added e_table_get_cell_geometry. svn path=/trunk/; revision=9532
* Submit a signal even if there are no extras.Christopher James Lahey2001-04-201-1/+1
| | | | | | | | | | | | | | | 2001-04-19 Christopher James Lahey <clahey@ximian.com> * e-table-header.c (eth_calc_widths): Submit a signal even if there are no extras. * e-table-item.c (eti_request_column_width): Don't compute widths if our cells aren't realized yet. * e-tree.c: Call e_table_header_update_horizontal whenever our data changes. svn path=/trunk/; revision=9465
* Turned off information expanders (tooltips) in ETable by default. TurnChristopher James Lahey2001-04-201-7/+9
| | | | | | | | | | 2001-04-19 Christopher James Lahey <clahey@ximian.com> * e-table-item.c: Turned off information expanders (tooltips) in ETable by default. Turn them back on with the environment variable GAL_DO_TOOLTIPS. svn path=/trunk/; revision=9462
* Turned on tooltips and alternating colors.Christopher James Lahey2001-04-171-2/+2
| | | | | | | | 2001-04-16 Christopher James Lahey <clahey@ximian.com> * e-table-item.c: Turned on tooltips and alternating colors. svn path=/trunk/; revision=9393
* Set the background color to the specified tooltip->background. Set theChristopher James Lahey2001-04-161-22/+101
| | | | | | | | | | | | | | | | | | | 2001-04-15 Christopher James Lahey <clahey@ximian.com> * e-cell-text.c (ect_show_tooltip): Set the background color to the specified tooltip->background. Set the foreground color to the specified tooltip->foreground. * e-table-item.c (eti_get_cell_background_color, eti_get_cell_foreground_color): Added these functions. (eti_draw, _do_tooltip): Use these new functions. * e-table-tooltip.h: Added foreground and background colors to this structure. * e-tree.c, e-tree.h (e_tree_get_tooltip): Added this function. svn path=/trunk/; revision=9338
* Added /* #defines */ at the top. Fixed ALTERNATE_COLORS to be an #ifdefChristopher James Lahey2001-04-161-1/+3
| | | | | | | | | | | | 2001-04-15 Christopher James Lahey <clahey@ximian.com> * e-table-item.c: Added /* #defines */ at the top. Fixed ALTERNATE_COLORS to be an #ifdef instead of an #if. * e-cell-text.c (ect_show_tooltip): Set "strikeout" argument on created tooltip. svn path=/trunk/; revision=9328
* Use e_canvas_hide_tooltip and e_canvas_popup_tooltip.Christopher James Lahey2001-04-161-46/+7
| | | | | | | | | | | | | | 2001-04-15 Christopher James Lahey <clahey@ximian.com> * e-cell-text.c (tooltip_event): Use e_canvas_hide_tooltip and e_canvas_popup_tooltip. * e-table-item.c: Cleaned this up. Removed some #if 0 and replaced others with #ifdefs. * e-table-tooltip.h: Removed some unnecessary fields. svn path=/trunk/; revision=9326
* Cleaned this up. Removed some #if 0 and replaced others with #ifdefs.Christopher James Lahey2001-04-151-59/+4
| | | | | | | | | 2001-04-15 Christopher James Lahey <clahey@ximian.com> * e-table-item.c: Cleaned this up. Removed some #if 0 and replaced others with #ifdefs. svn path=/trunk/; revision=9321
* Set "bold" argument on created tooltip. Adjusted position of displayedChristopher James Lahey2001-04-151-14/+16
| | | | | | | | | | | | | | | | | | 2001-04-15 Christopher James Lahey <clahey@ximian.com> * e-cell-text.c (ect_show_tooltip): Set "bold" argument on created tooltip. Adjusted position of displayed tooltip. * e-cell-tree.c (offset_of_node): Changed it so that this function handles knowing whether on not to indent non expandable first level nodes. This makes things more consistent. * e-table-item.c (eti_realize): Cleaned up the ETableItem code to properly hide tooltips when going off the screen. * e-table-tooltip.h: Added a visibility_count field to ETableTooltip. svn path=/trunk/; revision=9320
* Added widget/e-hsv-utils.lo.Christopher James Lahey2001-04-151-14/+13
| | | | | | | | | | | | | | | | | | | | | 2001-04-14 Christopher James Lahey <clahey@ximian.com> * gal/Makefile.am: Added widget/e-hsv-utils.lo. * gal/widgets/Makefile.am: Added e-hsv-utils.c and e-hsv-utils.h. * gal/widgets/e-hsv-utils.c, gal/widgets/e-hsv-utils.h: Moved from gal/e-table/e-table-hsv-utils.c and gal/e-table/e-table-hsv-utils.h. Handle modifying hue saturation and value of colors. 2001-04-13 Christopher James Lahey <clahey@ximian.com> * gal/widgets/e-selection-model.c (e_selection_model_do_something): Always emit the cursor changed signal. Even if it's changed to the same row/column. svn path=/trunk/; revision=9318
* 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