diff options
-rw-r--r-- | widgets/ChangeLog | 5 | ||||
-rw-r--r-- | widgets/table/ChangeLog | 8918 |
2 files changed, 8923 insertions, 0 deletions
diff --git a/widgets/ChangeLog b/widgets/ChangeLog index b05102092c..e8807f9f7c 100644 --- a/widgets/ChangeLog +++ b/widgets/ChangeLog @@ -1,3 +1,8 @@ +2005-06-21 Kaushal Kumar <kakumar@novell.com> + + * table/ChangeLog: Added from gal/gal/e-table as Gal is + retired from Head and e-table files are moved here. + 2005-05-12 Srinivasa Ragavan <sragavan@novell.com> * misc/e-dateedit.c: (on_time_entry_key_release), (create_children): Fix the bug 303856. Enables OK button diff --git a/widgets/table/ChangeLog b/widgets/table/ChangeLog new file mode 100644 index 0000000000..1fe05eed8b --- /dev/null +++ b/widgets/table/ChangeLog @@ -0,0 +1,8918 @@ +2005-06-01 Kaushal Kumar <kakumar@novell.com> + + * e-table-item.c (eti_dispose): Don't hide the tooltip if we don't + have a canvas anymore. + Patch by: Not Zed + +2005-05-20 Li Yuan <li.yuan@sun.com> + + * e-table-header-item.c: + * e-table-header-item.h: + export ethi_change_sort_state, so we can call it in a11y part. + * e-tree.c: (e_tree_get_header_item): + * e-tree.h: + return the header item of e-tree. + + Fix for #302154. + +2005-03-14 Theppitak Karoonboonyanan <theppitak@gmail.com> + + * e-cell-text.c (e_cell_text_retrieve_surrounding_cb) + (e_cell_text_delete_surrounding_cb): selecion fixes for im's. + +2005-02-25 Li Yuan <li.yuan@sun.com> + + Fix for #73009. + * e-table-config-no-group.glade: + * e-table-config.glade: + +2005-01-27 Harry Lu <harry.lu@sun.com> + + Some code clean work. + + * e-table-click-to-add.c: (etcta_class_init): move a11y registry + call to a11y code. + * e-table.c: (e_table_class_init): ditto. + * e-tree.c: (e_tree_class_init): ditto. + +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. + +2005-01-26 JP Rosevear <jpr@novell.com> + + Fixes #38195 + + * e-cell-combo.c (e_cell_combo_set_popdown_strings): don't convert + to the locale for gtk widgets now + +2004-12-21 JP Rosevear <jpr@novell.com> + + Fixes #29309 + + * e-table-header-item.h: add field chooser dialog data member + + * e-table-header-item.c: remove weak pointer ref + (ethi_popup_field_chooser): if we already have a dialog, just + present it, otherwise create a new one and listen for its + destruction + +2004-11-24 Li Yuan <li.yuan@sun.com> + + * e-table.c: (e_table_get_cell_geometry): + check whether header_canvas and table_canvas is NULL. + +2004-11-04 Li Yuan <li.yuan@sun.com> + + * gal/e-table/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. + +2004-10-19 JP Rosevear <jpr@novell.com> + + * e-table.c (table_canvas_focus_event_cb): return FALSE so we + don't kill the focus event chain + +2004-08-09 Not Zed <NotZed@Ximian.com> + + * e-cell-combo.c (e_cell_combo_get_popup_pos): include scrollbar + offset in vertical calculation. don't ask me i just work here. + see #61932. + +2004-08-02 Radek Doulik <rodo@ximian.com> + + * e-table-config.c (e_table_config_construct): do not set + position, it's already done in .glade, call set_transient_for + always (passing NULL is valid as well) + + * e-table-config.glade: * e-table-config-no-group.glade: center + window on parent, don't let it resize and most importan make it + dialog window so that set_transient_for works against define views + dialog + + Fixes #61936 + +2004-07-07 Radek Doulik <rodo@ximian.com> + + * e-table-sorted-variable.c (etsv_add): added + e_table_model_pre_change because we call + e_table_model_row_inserted later. It fixes freeze/unfreeze for + ETableItem assert warning which I run into when fixing #56271 + +2004-06-22 Rodney Dawes <dobey@novell.com> + + * e-table-config.c (do_fields_config_dialog, e_table_config_new): + Fix some spacing and border width properties on the dialog's widgets + to make the dialog compliant with the HIG + +2004-06-22 Christopher James Lahey <clahey@ximian.com> + + * e-table-model.[ch]: Added e_table_model_freeze and e_table_model_thaw + + * e-table-config.c (setup_fields): Use e_table_model_freeze and + e_table_model_thaw + + Fixes #54785 + +2004-06-11 Radek Doulik <rodo@ximian.com> + + * e-table-config.c (e_table_config_construct): set dialog window + position, glade doesn't do that for us anymore as the window is + first hidden, extended and later shown + + * e-table-config-no-group.glade: as below + + * e-table-config.glade: set visibility to false, it will keep the + dialog hidden until we call gtk_widget_show and thus no resizing + is visible while we are extending the dialog content + + Fixes #57825 + +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 + +2004-06-10 Not Zed <NotZed@Ximian.com> + + * e-tree-selection-model.c (e_tree_selection_model_select_paths): + add new api for setting the whole selection in one go. See + #59546. + +2004-06-09 Radek Doulik <rodo@ximian.com> + + * e-table-field-chooser.c (ensure_nonzero_step_increments): new + helper function to set step_increments + (allocate_callback): call ensure_nonzero_step_increments + (resize): ditto + (ensure_nonzero_step_increments): set step increments always to 16 + + Fixes #48275 + +2004-05-10 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. + +2004-05-04 Jeffrey Stedfast <fejj@ximian.com> + + * e-tree.c (e_tree_find_next): Don't necessarily set row to 0 if + the root node has the cursor (otherwise message_list_select() + first unread will actually select the second unread if the first + unread is the first in the list). Fixes a bug that's been pissing + me off for years. + +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. + +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. + +2004-04-30 Jeffrey Stedfast <fejj@ximian.com> + + * e-cell-text.c (e_cell_text_class_init): Changed the int param + specs to take a min value of -1 and also defautl to -1 (-1 means + off and they should all default to the same value that they + default to in the init() function). Needed to fix bug #57304. + +2004-03-10 Hao Sheng <hao.sheng@sun.com> + + Fixes #55198 + + * e-table-config.glade : Make the access key Alt+O work + +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. + +2004-02-12 Rodney Dawes <dobey@ximian.com> + + * e-cell-popup.c (ecp_draw): + * e-cell-spin-button.c (ecsb_draw): + * e-table-header-utils.c (e_table_header_draw_button): Change the + shadow type for the arrows here, so that themes that do handle the + use of shadow types with arrows, draw things correctly, instead of + following what the old default gtk+ did in 1.x + +2004-01-27 Radek Doulik <rodo@ximian.com> + + * e-cell-text.c (ect_print): print strikeout/underline + + Fixes #32240 + +2003-11-19 Bolian Yin <bolian.yin@sun.com> + + Fixes #51139 + + * e-table-item.c : change the place of emitting + "selection_model_removed" signal. + +2003-11-17 Mike Kestner <mkestner@ximian.com> + + * e-table-config.c : use new gal_combo_* namespace. + +2003-11-11 Bolian Yin <bolian.yin@sun.com> + + Fixes # 50480 + + * e-table-item: add two signals: "selection_model_removed" and + "selection_model_added" + +2003-10-13 Charles Zhang <charles.zhang@sun.com> + + * e-table-config.c (e_table_config_new): disable apply button + when initial dialog. + * e-table-header-item.c (apply_changes): disable apply button + after applying changes. + +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(). + +2003-09-28 Charles Zhang <charles.zhang@sun.com> + + * e-table-config.c (do_sort_and_group_config_dialog): process + GTK_RESPONSE_DELETE_EVENT signal correctly. + * e-table-config.c (do_fields_config_dialog): the same as above + [#48815] + +2003-09-11 Mike Kestner <mkestner@ximian.com> + + * e-table-config.c (get_source_model_col_index): new method to + get the source model column for a specified available_model idx. + (create_global_store): save the source model index in a new col. + (config_button_add): use the new index lookup function [48153]. + +2003-09-11 Mike Kestner <mkestner@ximian.com> + + * e-table-sort-info.c (e_table_sort_info_load_from_node): + move scnt and gcnt initialization outside the for loop [43156]. + +2003-08-25 Harry Lu <harry.lu@sun.com> + + ** For bug #47874. + + * e-table-specification.c (e_table_specification_load_from_file): + check whether file exists before call xmlParseFile(). + * e-table-state.c (e_table_state_load_from_file): ditto. + * e-tree-table-adapter.c (open_file): ditto. + +2003-08-19 Mike Kestner <mkestner@ximian.com> + + * e-cell-tree.c (draw_expander): add an expander_style param + (ect_draw): pass expander_style to draw_expander + (animate_expander): new timeout handler for expander animation + (ect_event): on !retro clicks, draw a "semi" expander and start + an animation handler to finish the animation. + +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. + +2003-08-12 Larry Ewing <lewing@ximian.com> + + * e-cell-toggle.c (check_cache): actually chose the right color to + composite over when caching the pixmap. + +2003-08-08 Stanislav Brabec <sbrabec@suse.cz> + + * Makefile.am: Removed trailing backslash on last line. + +2003-07-28 Mike Kestner <mkestner@ximian.com> + + * e-table-config (setup_fields): map model_column to available + model row by ignoring disabled columns. + +2003-06-30 Dan Winship <danw@ximian.com> + + * e-tree.c (e_tree_init): Initialize some missing fields. Fixes + "no handler with id" warnings at evo shutdown + (ETreePriv): remove unused table_rows_{inserted,deleted}_id + (et_disconnect_from_etta): remove refs to them + + * e-table.c (e_table_drag_source_unset): free site->target_list if + it's set. + +2003-06-22 Hans Petter Jansson <hpj@ximian.com> + + * e-cell-text.c (get_font_for_size): Implement. + (ect_print): Use same font heuristics as evo calendar, pick a font + that fits. Correct baseline calculation. + +2003-06-19 Larry Ewing <lewing@ximian.com> + + * e-table-specification.c (e_table_specification_load_from_node): + remove extra ref, the count starts at one. + + * e-table-utils.c (e_table_spec_to_full_header): add_column adds a + reference, so drop the intial reference. + + * e-table.c (et_real_construct):remove extra ref, count starts at + one. + +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] + +2003-06-12 Mike Kestner <mkestner@ximian.com> + + * e-cell-text.c (generate_layout): guard against NULL strings + * e-table-config.c (create_global_store): don't add disabled + column titles to the store. [44258] + * e-tree-table-adapter.c (e_t_t_a_node_set_expanded): don't + warn if we're trying to collapse a node that's not visible. + * e-tree.c (et_connect_to_etta): don't connect to row_inserted + and row_deleted. [43893] + +2003-05-28 Mike Kestner <mkestner@ximian.com> + + * e-cell-date.c (ecd_get_text): use e_utf8_strftime_fix_am_pm + and remove locale to utf8 conversion at end. [43485] + +2003-05-20 Ettore Perazzoli <ettore@ximian.com> + + * e-tree.c (tree_canvas_size_allocate): to really fix 42952 + use e_table_item_get_cell_geometry. Also a couple valgrind + and g_warning fixes related to this change from Mike. + +2003-05-19 Mike Kestner <mkestner@ximian.com> + + * e-cell-text.c (build_layout): don't call any line breaking + or justification code if the width <= 0 since it's pointless + and apparently pango likes to crash when you do. [43199] + +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. + +2003-05-15 Ettore Perazzoli <ettore@ximian.com> + + * e-tree.c (tree_canvas_size_allocate): Call + tree_canvas_reflow_idle() before deciding whether to move the + adjustment, not afterwards. [#42952] + +2003-05-14 Mike Kestner <mkestner@ximian.com> + + * e-tree-c (context_connect): use weak refs not datasets. + (e_tree_dispose): weak_unref the context. + Hopefully fixes 42617. + +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] + +2003-05-09 Mike Kestner <mkestner@ximian.com> + + * e-tree.c (find_next_in_range): add null check for paths + (find_prev_in_range): add null check for paths + +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 + +2003-05-06 Mike Kestner <mkestner@ximian.com> + + * e-tree-table-adapter.c (insert_node): add missing model_changed + (etta_proxy_node_inserted): add missing model_changed + (etta_proxy_node_removed): add missing model_changed + +2003-05-05 Jeremy Katz <katzj@redhat.com> + + * e-table-config.c (setup_fields): Use correct macro for int->pointer + +2003-05-01 Mike Kestner <mkestner@ximian.com> + + * e-cell-combo.c (e_cell_combo_selection_changed): new + (e_cell_combo_init): connect to selection_changed on popup_list + (e_cell_combo_do_popup): block selection_changed while popping up + [bug #40996] + +2003-05-01 JP Rosevear <jpr@ximian.com> + + * e-table.c (et_real_construct): remove gratuitous ref + +2003-04-29 Mike Kestner <mkestner@ximian.com> + + * e-cell-text.c (build_layout): don't use unicode ellipsis so + that we don't break on broken font setups. + +2003-04-29 Mike Kestner <mkestner@ximian.com> + + * e-cell-text.c (generate_layout): don't set width on the layout + during edit + +2003-04-28 Mike Kestner <mkestner@ximian.com> + + * e-cell-text.c (build_layout): don't do wrapping during edit + +2003-04-21 Mike Kestner <mkestner@ximian.com> + + * e-cell-text.c (build_layout): use unicode ellipsis char for + breaking lines. Use g_utf8_find_prev_char and check for failure + so that we don't tight loop for small cells that can't display + any chars. + +2003-04-21 Mike Kestner <mkestner@ximian.com> + + * e-cell-tree.c (ect_draw): use e_tree_table_adapter_node_get_next + to determine how to draw sibling lines. + (ect_print): ditto + * e-tree-table-adapter.c (e_t_t_a_node_get_next): new + +2003-04-19 Chris Toshok <toshok@ximian.com> + + [ fixes evolution bug #40464 ] + * e-table.c (e_table_class_init): use G_SIGNAL_TYPE_STATIC_SCOPE + for the GtkSelectionData args of table_drag_data_get and + table_drag_data_received. + +2003-04-18 Mike Kestner <mkestner@ximian.com> + + * e-cell-text.c (build_layout): if the layout splits into more + than one line, shorten it to a single line with elipses. + (generate_layout): don't ref NULL layouts + (ect_enter_edit): use g_new0 for the CellEdit + (get_position_from_xy): use generate_layout since edit->layout + isn't necessarily set here. + +2003-04-17 JP Rosevear <jpr@ximian.com> + + * e-table-subset.c : add guarding for row indexing (Bug# 41497) + +2003-04-16 Mike Kestner <mkestner@ximian.com> + + * e-cell-text.c (build_layout): set width and alignment of layout. + (generate_layout): set width on existing layout and pass new width + param to build_layout. + (ect_draw): pass width to generate_layout + (ect_height): pass width to generate_layout + (ect_enter_edit): pass width to generate_layout + (ect_max_width): pass width to generate_layout + (ect_max_width_by_row): pass width to generate_layout + (ect_show_tooltip): pass width to generate_layout + (e_cell_text_view_command): pass width to generate_layout (Bug #37894) + +2003-04-15 Hans Petter Jansson <hpj@ximian.com> + + * e-table-header-utils.c (e_table_draw_elided_string): Don't unref + the layout that was passed in. + (e_table_header_draw_button): Always unref the layout when we're + done with it. + + * e-tree-table-adapter.c (e_tree_table_adapter_load_expanded_state): + Free the id when we're done with it. + +2003-04-11 JP Rosevear <jpr@ximian.com> + + * e-table-one.c (one_dispose): free data here since we don't have + source in finalize + +2003-04-08 Mike Kestner <mkestner@ximian.com> + + * e-table-config-no-group.glade : add response ids to buttons + +2003-04-08 Mike Kestner <mkestner@ximian.com> + + * e-cell-text.c : break e-font dependency + +2003-04-08 Mike Kestner <mkestner@ximian.com> + + * e-table-config.glade : swap button order + * e-table-config-no-group.glade : swap button order + +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 + +2003-04-04 Mike Kestner <mkestner@ximian.com> + + * e-tree-table-adapter.c (etta_sort_info_changed): guard against + root == NULL. Bug #39491. + +2003-04-02 Ettore Perazzoli <ettore@ximian.com> + + * e-tree.c (e_tree_class_init): Add a G_SIGNAL_TYPE_STATIC_SCOPE + for the GTK_TYPE_SELECTION_DATA arg. + +2003-04-02 Mike Kestner <mkestner@ximian.com> + + * e-tree-table-adapter.c (update_node): restore expanded + state of node and all children. Fixes Ximian bug #40393. + (check_expanded): new traverser function + +2003-03-31 Mike Kestner <mkestner@ximian.com> + + * e-tree-table-adapter.c (kill_gnode): if killing the root + node, set it to NULL in the priv data. Bug #39441. + +2003-03-24 Mike Kestner <mkestner@ximian.com> + + * e-table-sort-info.c (e_table_sort_info_load_from_node): + properly parse nodes that include whitespace. bug #39896 + +2003-03-24 Mike Kestner <mkestner@ximian.com> + + * e-tree-table-adapter.c (update_node): don't call delete_node + on the root node since generate_tree already does that. Thanks + to Antonio Xu <antonio.xu@sun.com> for identifying the cause of + the bug and providing a candidate patch. Bug #38320. + +2003-03-23 Chris Toshok <toshok@ximian.com> + + * e-table.c (do_drag_motion): fix UMR. + +2003-03-18 Chris Toshok <toshok@ximian.com> + + * e-cell-text.h: add underline_column field. + + * e-cell-date.c: add underline_column to the comment. + + * e-cell-size.c: add underline_column to the comment. + + * e-cell-text.c (build_layout): handle underline column. + (ect_show_tooltip): same. + (ect_set_property): same. + (ect_get_property): same. + (e_cell_text_class_init): same. + (e_cell_text_init): same. + (e_cell_text_new): add underline_column to the comment. + +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. + +2003-03-18 Mike Kestner <mkestner@ximian.com> + + * e-table-header-item.c (ethi_draw): mimic Gtk's sort arrows + (ethi_start_drag): mimic Gtk's sort arrows + +2003-03-18 Mike Kestner <mkestner@ximian.com> + + * e-tree-selection-model.c (select_single_path): null start_path + (etsm_invert_selection): null start_path + (etsm_toggle_single_row): null start_path + (etsm_real_move_selection_end): start at start_path, not cursor + (etsm_set_selection_end): set start_path + (e_tree_selection_model_init): null start_path + +2003-03-14 Mike Kestner <mkestner@ximian.com> + + * e-tree-table-adapter.c (update_node): save and restore expanded + state so parents don't collapse when children are added to them. + (e_tree_table_adapter_node_is_expanded): guard against null nodes. + +2003-03-05 Mike Kestner <mkestner@ximian.com> + + * e-tree-model.c : fix a couple ==TRUE uses pointed out by + Morten Welinder <terra@diku.dk>. + +2003-03-04 Dmitry Mastrukov <dmitry@taurussoft.org> + + * e-cell-date.c (ecd_get_text): i18n fix + * e-table.c (et_real_construct): i18n fix + * e-table-config.c (create_global_store): i18n fix + * e-table-utils.c (et_col_spec_to_col): i18n fix + +2003-03-04 Mike Kestner <mkestner@ximian.com> + + * e-tree-selection-model.c : some cursor fixes + +2003-03-04 Mike Kestner <mkestner@ximian.com> + + * e-tree-selection-model.c : rewrite to store selected paths in a + hashtable instead of a tree. + * e-tree-table-adapter.c : lose the hacky orig_position api since + etsm doesn't need it anymore. + +2003-02-26 Rodney Dawes <dobey@ximian.com> + + * e-tree.c (et_canvas_style_set): Add style_set to update list properly + (et_canvas_realize): Remove this as it's no longer needed with support + for the style_set implementation + +2003-02-28 Mike Kestner <mkestner@ximian.com> + + * e-table.c (et_drag_motion): remove alloc-based transform + (et_drag_data_received): ditto + (et_drag_drop): ditto + (do_drag_motion): ditto + +2003-02-28 Mike Kestner <mkestner@ximian.com> + + * e-tree.c (et_drag_motion): remove alloc-based transform + (et_drag_data_received): ditto + (et_drag_drop): ditto + (et_hover_timeout): ditto + (do_drag_motion): ditto + +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. + +2003-02-20 Mike Kestner <mkestner@ximian.com> + + * e-tree-selection-model.c (etsm_orig_position): kill + (etsm_find_node_unless_equals): use new etta_orig_position + (update_parents): use new etta_orig_position + (etsm_recurse_is_path_selected): use new etta_orig_position + * e-tree-table-adapter.c (e_tree_table_adapter_orig_position): new + (resort_node): populate orig_pos, fix sorting_map bound bug + (create_gnode): initialize orig_pos + (delete_node): call resort_node so orig_pos gets updated + (insert_node): always call resort_node let it decide whether to sort + +2003-02-18 Mike Kestner <mkestner@ximian.com> + + * e-tree-table-adapter.c (move_map_elements): set remap_needed + +2003-02-17 Chris Toshok <toshok@ximian.com> + + * e-cell-text.c (build_layout): make sure the row >= 0 before + calling value_at to calc "strikeout". + +2003-02-17 Chris Toshok <toshok@ximian.com> + + * e-tree-table-adapter.c (etta_proxy_node_data_changed): return + after the e_table_model_no_change call. + (etta_proxy_node_col_changed): same. + +2003-02-13 Mike Kestner <mkestner@ximian.com> + + * e-tree-table-adapter.c (*_load_expanded_state): guard for + null paths if save_id lookup fails. + +2003-02-13 Mike Kestner <mkestner@ximian.com> + + * e-table-header-item.c (ethi_drag_motion): don't transform + based on allocation position. Position isn't absolute now. + +2003-02-13 Mike Kestner <mkestner@ximian.com> + + * e-table-header-utils.c (e_table_header_draw_button): kill + a double unref on the pango_layout. + +2003-02-12 Hans Petter Jansson <hpj@ximian.com> + + * e-table-click-to-add.c (etcta_realize): Request a reflow on + realization, so size and placement will be correct initially. + +2003-02-12 Mike Kestner <mkestner@ximian.com> + + * e-tree.c (e_tree_find_next): handle reverse searches + (find_prev_in_range): reverse search impl + (et_real_construct): kill warnings + +2003-02-12 Mike Kestner <mkestner@ximian.com> + + * e-tree-table-adapter.c (insert_node): work around broken models + that insert children before parents. bad models. + (e_tree_table_adapter_load_expanded_state): don't update_node + (e_tree_table_adapter_node_set_expanded): recursively expand + parent if the node is not visible yet. + (e_tree_table_adapter_set_sort_info): don't resort empty trees + +2003-02-10 Mike Kestner <mkestner@ximian.com> + + * e-tree.c (e_tree_find_next): rewrite to use etta + (find_next_in_range): helper func to search a range of rows + (find_next_callback): kill + +2003-02-06 Mike Kestner <mkestner@ximian.com> + + * e-tree-table-adapter.c (resort_node): index bound bug + (insert_children): prepend/reverse for now + (generate_tree): resize old map to zero before filling it again + (insert_node): fix assumption that root parent node has an index + +2003-02-06 Not Zed <NotZed@Ximian.com> + + * e-tree-table-adapter.c (delete_node): use the parent path to + find the parent node rather than the row, which is not valid for + the root node, which still needs its visible child count updated. + +2003-02-05 Dan Winship <danw@ximian.com> + + * e-table-config.c (config_class_init): Replace deprecated + glade_gnome_init() call with glade_init(). + + * e-table-field-chooser.c (e_table_field_chooser_class_init): + Likewise. + +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 + +2003-01-27 Jody Goldberg <jody@gnome.org> + + * Release 1.99.1 + +2003-01-23 Larry Ewing <lewing@ximian.com> + + * e-table-click-to-add.c (e_table_click_to_add_commit): destroy + canvas items to removing them, simply unrefing them is not + sufficient. + +2003-01-22 Ettore Perazzoli <ettore@ximian.com> + + * e-tree-table-adapter.c + (e_tree_table_adapter_load_expanded_state): Call + e_table_model_pre_changed() only once so we dont' get the table in + a frozen state after returning from here. + +2003-01-15 Jeffrey Stedfast <fejj@ximian.com> + + * e-tree-table-adapter.c + (e_tree_table_adapter_save_expanded_state): Same here. + + * e-table-state.c (e_table_state_save_to_file): Same as below. + + * e-table-specification.c (e_table_specification_save_to_file): + Back to using e_xml_save_file(). Not sure we can really trust + xmlSaveFile (sure as hell couldn't in the libxml-1.x days), + besides, e_xml_save_file protects against corruption due to not + enough disk space. + +2003-01-15 Not Zed <NotZed@Ximian.com> + + * e-cell-tree.c (ect_draw): If we set a clip rectangle, clear it + after we've finished. + +2002-01-10 Mike Kestner <mkestner@ximian.com> + + * e-table-item.c (eti_table_model_rows_deleted): revert broken fix + +2002-12-18 Chris Toshok <toshok@ximian.com> + + * e-table-group-container.c (etgc_dispose): free the children + before we free and dispose of our ecol, since + e_table_group_container_child_node_free depends on it. Fixes a + crash. + +2002-12-18 Chris Toshok <toshok@ximian.com> + + * e-table-header-item.c (ethi_popup_customize_view): pass NULL for + parent_window for e_table_config_new. + + * e-table-config.glade, e-table-config-no-group.glade: switch from + GnomePropertyBox to GtkDialog, remove the extra notebook widget + from the heirarchy, and set all the subdialogs modal. + + * e-table-config.h: add parent_window arg to + e_table_config_{new,construct}. + + * e-table-config.c (config_dialog_changed): new function, not + really needed yet since the apply/ok buttons are never + insensitive. + (config_get_property): handle the "state" read-only property. + (config_class_init): put back in the "state" property that was + deleted during the merge from the gal-2 branch (it looks like). + (do_sort_and_group_config_dialog): set the sort/group dialog + transient for the e-table-config dialog, and + gnome_property_box_changed -> config_dialog_changed. + (do_fields_config_dialog): same, but with the fields dialog. + (dialog_response): response handler for the e-table-config dialog. + (setup_gui): remote the hide button/notebook code, since neither + of those widgets exist anymore in this dialog, and remove the + "apply" signal and connect to "response", since we're a GtkDialog + dialog instead of a GnomePropertyBox. + (e_table_config_construct): take a parent_window arg, and + set_transient_for if it's non-NULL. + (e_table_config_new): take parent_window arg and pass to + construct. + +2002-12-16 Chris Toshok <toshok@ximian.com> + + * e-cell-text.c (_get_tep): edit->tep isn't a GtkObject anymore. + +2002-12-16 Chris Toshok <toshok@ximian.com> + + * e-table-header-utils.c (e_table_draw_elided_string): pass in the + pango layout so we don't have to create another one here. Also, + elide the string properly (same method that e-clipped-label uses) + and simplify the extent operations. + (e_table_header_compute_height): just use + pango_layout_get_pixel_size here. + (e_table_header_draw_button): make sure the clip rectangle is + NULL'ed on our gc, since random gtk calls seem to install one, + which sucks. Also, simplify the pango layout stuff a little. + +2002-12-16 Chris Toshok <toshok@ximian.com> + + * e-table.c (et_real_construct): remove obvious double g_strdup. + + * e-table-header-item.c (ethi_header_context_menu): ref/sink the + popup. + + * e-table-field-chooser.c (e_table_field_chooser_init): use + gtk_widget_show_all so our custom widget gets displayed. + +2002-12-13 Mike Kestner <mkestner@ximian.com> + + * e-table-item.c (eti_table_model_rows_deleted): valgrindage + +2002-12-05 Jeffrey Stedfast <fejj@ximian.com> + + * e-table-extras.c (ete_init): Add a "collate" sort callback that + uses the new g_collate_compare(). + +2002-12-03 Hans Petter Jansson <hpj@ximian.com> + + * e-table.c (e_table_get_state_object): Don't leak old sort info. + +2002-12-03 Not Zed <NotZed@Ximian.com> + + * e-tree-memory.c (etmm_dispose): make this a dispose rather than + finalise. Crashes on finalise otherwise. + +2002-11-26 Ettore Perazzoli <ettore@ximian.com> + + * e-table-memory-store.c (etms_finalize): Call + e_table_memory_store_clear(). + (e_table_memory_store_clear): Free the values. + (e_table_memory_store_remove): Likewise. + +2002-11-18 Chris Toshok <toshok@ximian.com> + + * e-table-config.c (connect_button): take GCallback, not + GtkSignalFunc. + (configure_sort_dialog): show the custom widget. + (configure_group_dialog): same. + (configure_fields_dialog): same, also pass G_CALLBACK (func), + instead of GTK_SIGNAL_FUNC (func), to connect_button. + (setup_gui): pass G_CALLBACK (func), instead of GTK_SIGNAL_FUNC + (func), to connect_button. + + * Makefile.am (glade_DATA): remove e-table-group.glade, since we + don't use it anyplace. + +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. + +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. + +2002-11-14 Chris Toshok <toshok@ximian.com> + + * e-table-header-item.c (ethi_popup_customize_view): fix typo. + +2002-11-14 Chris Toshok <toshok@ximian.com> + + * e-table-header-item.c (ethi_popup_customize_view): ETableConfig + derives from GObject (fix warnings). + + * e-table.c: deal with ESorter deriving from GObject. + + * e-table-sorter.[ch]: this derives from GObject now. + +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. + +2002-11-14 Chris Toshok <toshok@ximian.com> + + * e-table-without.[ch]: this subclasses from GObject now, not + GtkObject. don't use GtkObject (especially casts to it) inside + the code. + + * e-table-config-no-group.glade: libglade-convert. + + * e-table-config.glade: same. + + * e-table-field-chooser.glade: same. + + * e-table-group.glade: same. + +2002-11-13 Chris Toshok <toshok@ximian.com> + + * e-table.c (e_table_class_init): register the signals with + g_signal_new. + +2002-11-08 Chris Toshok <toshok@ximian.com> + + * e-table-memory-store.h: correct the GET_CLASS macro. + + * e-table-one.h: same. + + * e-table-sorted.h: same. + + * e-table-subset.h: same. + + * e-tree-sorted-variable.h: same. + + * e-tree-table-adapter.h: same. + +2002-11-05 Mike Kestner <mkestner@ximian.com> + + * e-table-sorted-variable.[ch] : GObjectify + * e-tree-sorted-variable.[ch] : GObjectify + +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 + +2002-11-05 Mike Kestner <mkestner@ximian.com> + + * e-table-col.[ch] : GObjectify + * e-table-column-specification.[ch] : GObjectify + * e-table-config.[ch] : GObjectify + * e-table-group-leaf.c : use GObject api for models + * e-table-group.c : use GObject api for models + * e-table-header-item.c : use GObject api for models + * e-table-header.c : use GObject api for models + * e-table-selection-model.c : use GObject api for models + * e-table-sort-info.[ch] : GObjectify + * e-table-sorted.[ch] : GObjectify + * e-table-sorter.c : use GObject api for models + * e-table-specification.c : use GObject api for models + * e-table-state.[ch] : GObjectify + * e-table-subset-variable.[ch] : GObjectify + * e-table-subset.[ch] : GObjectify + * e-table.c : use GObject api for models + +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 + +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 + +2002-11-01 Mike Kestner <mkestner@ximian.com> + + * e-table-extras : gobjectify + * e-tree.c (et_real_construct): ETableExtra is now a GObject + (e_tree_class_init): remove duplicated signals + +2002-10-26 Jody Goldberg <jody@gnome.org> + + * Release 2.0.0.7 + +2002-10-24 Mike Kestner <mkestner@ximian.com> + + * e-tree.c (e_tree_set_state_object): call e_tree_state_change + +2002-10-24 Chris Toshok <toshok@ximian.com> + + * e-table-memory-store.h: add prototypes for the _change* + functions. + + * e-table-memory-store.c (e_table_memory_store_change_array): new + function, mostly c&p from _insert_array. + (e_table_memory_store_change): new function, mostly c&p from + _insert. + (e_table_memory_store_change_adopt_array): new function, mostly + c&p from _insert_adopt_array. + (e_table_memory_store_change_adopt): new function, mostly c&p from + _insert_adopt. + +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 + +2002-10-02 Mike Kestner <mkestner@ximian.com> + + * e-table-search.c (e_table_search_destroy): call drop_timeout + +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. + +2002-09-24 Mike Kestner <mkestner@ximian.com> + + * e-tree.c (e_tree_set_search_column): New api to set the search + column on a tree without having to set a sort column. + +2002-09-18 Mike Kestner <mkestner@ximian.com> + + * e-tree-model.c (e_tree_model_is_expandable): guard against NULL + nodes. + +2002-09-18 Dan Winship <danw@ximian.com> + + * e-table.c (et_real_construct): Set the selection model's + selection_mode after setting the table model, or things will break + in the GTK_SELECTION_SINGLE case if the table doesn't start out + empty. + +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. + +2002-09-13 Jody Goldberg <jody@gnome.org> + + * Release 2.0.0.6 + +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. + +2002-08-29 Morten Welinder <terra@diku.dk> + + * e-table.c (et_destroy): Protect against double destroy. + + * e-cell-text.c (generate_layout): Handle row==-1 brutally. + (build_layout): Handle row==-1 and constify. + + * e-table-search.c (e_table_search_class_init): Use INT, not ENUM + signal argument. + +2002-08-06 Jody Goldberg <jody@gnome.org> + + * Release 2.0.0.5 + +2002-08-06 Jeffrey Stedfast <fejj@ximian.com> + + * e-tree-table-adapter.c + (e_tree_table_adapter_save_expanded_state): And finally here. + + * e-table-state.c (e_table_state_save_to_file): Same here. + + * e-table-specification.c (e_table_specification_save_to_file): No + need to save to a temp file first here either since + e_xml_save_file now does that for us. + + * e-table.c (e_table_save_specification): No need to handle + writing to a temp file first anymore, since I've updated + e_xml_save_file() to handle that for us. + +2002-08-06 Jeffrey Stedfast <fejj@ximian.com> + + * e-cell-progress.c: #include <string.h> for memset + + * e-table.c (e_table_save_specification): Updated to use + e_xml_save_file() instead of xmlSaveFile(). Also fixed to save to + a tmp file first. + + * e-table-specification.c (e_table_specification_save_to_file): + Same as above. + + * e-table-state.c (e_table_state_save_to_file): Same here. + + * e-tree-table-adapter.c + (e_tree_table_adapter_save_expanded_state): And here too. + +2002-07-23 Ettore Perazzoli <ettore@ximian.com> + + * e-tree.c (item_key_press): In the case of '-' and '=', check + that no non-Shift modifier is pressed. + +2002-07-19 Christopher James Lahey <clahey@ximian.com> + + * e-tree-table-adapter.c (find_next_node, find_first_child_node): + Made these able to find the potential row for a new node which + will be the last row. + (find_row_num): Made this handle find_next_node and + find_first_child_node returning n_map. + +2002-06-18 JP Rosevear <jpr@ximian.com> + + Patch by clahey. + + * e-table.c (et_get_arg): get the use_click_to_add value + (et_set_arg): set the use_click_to_add_value, and either display + the item or destroy it + (e_table_class_init): add the use_click_to_add arg + +2002-06-18 Christopher James Lahey <clahey@ximian.com> + + * e-cell-text.c: Major change. Ported this to pango. + +2002-06-14 Christopher James Lahey <clahey@ximian.com> + + * e-table.c, e-table.h: Removed the drag_get_data_row and + drag_get_data_col fields since they're not used any longer. + (e_table_construct): If specification loading fails, return a NULL + ETable instead of just ignoring it. + (e_table_drag_highlight): Only destroy table->drop_highlight if it + exists. + + * e-cell-popup.c (ecp_draw, ecp_event): Don't draw or interact + with the popup button if a cell isn't editable (based on a patch + by JPR.) + + * e-table-col.c, e-table-col.h: Added the compare_col field to + this structure. Added a GtkArg to set it. + + * e-table-column-specification.c, e-table-column-specification.h: + Added the compare_col field here. Made it load properly from xml. + + * e-table-sorting-utils.c: Sort based on the compare_col in the + ETableCol instead of the col_idx. + + * e-table-utils.c (et_col_spec_to_col): Set the compare_col field + in the ETableCol properly. + +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. + +2002-06-05 Christopher James Lahey <clahey@ximian.com> + + * e-tree-model.c (d): Added debugging printfs. + + * e-tree-sorted.c (ets_proxy_node_changed, + ets_proxy_node_data_changed, ets_proxy_node_col_changed, + ets_proxy_node_inserted): Added a bunch of e_tree_model_no_change + signals where appropriate. + + * e-tree-table-adapter.c (etta_proxy_node_changed): Added an + e_table_model_no_change signal where appropriate. + +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. + +2002-06-04 Christopher James Lahey <clahey@ximian.com> + + * e-table-header.c, e-table-header.h + (e_table_header_prioritized_column_selected): Added this function. + + * e-table-utils.c, e-table-utils.h + (e_table_util_calculate_current_search_col): Added this function. + + * e-table.c, e-table.h, e-tree.c: Added a "always_search" + argument. If this is off, then searches only occur if there's + sort. If it's on, sort takes precendence in doing searches, + followed by the highest priority column shown. + +2002-06-04 Christopher James Lahey <clahey@ximian.com> + + * e-cell-text.c: Use g_getenv instead of getenv. + + * e-table-item.c (eti_event): Reenable tooltips if the + GAL_DO_TOOLTIPS environment variable is set. + +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. + +2002-05-29 Jody Goldberg <jody@gnome.org> + + * Release 2.0.0.4 + +2002-05-24 Christopher James Lahey <clahey@ximian.com> + + * e-tree-table-adapter.c + (e_tree_table_adapter_node_would_be_expanded, + e_tree_table_adapter_node_is_expanded): Added would_be_expanded + refactoring code out of is_expanded. + (find_first_child_node_maybe_deleted): Use the new function. + +2002-05-21 Christopher James Lahey <clahey@ximian.com> + + * e-tree-sorted.c (ets_proxy_node_request_collapse): Check for + path being NULL. + + * e-tree-table-adapter.c + (e_tree_table_adapter_load_expanded_state): Rebuild the tree after + loading the state. + +2002-05-13 Christopher James Lahey <clahey@ximian.com> + + * e-tree-table-adapter.c: Changed a lot of direct uses in this + file of node->is_expanded to call the function + e_tree_table_adapter_node_is_expanded instead. + (e_tree_table_adapter_node_is_expanded): Improved this function to + know if the root node is visible and always return it as being + expanded if it's not. It also doesn't bother creating nodes if + they don't exist yet, and instead figures out whether they would + be expanded if they were to be created and returns that value + instead. + +2002-05-10 Christopher James Lahey <clahey@ximian.com> + + * e-table-search.c: Include string.h here. + +2002-05-09 Dan Winship <danw@ximian.com> + + * e-tree-table-adapter.c + (e_tree_table_adapter_save_expanded_state): Bump file version to 2. + (This will make older versions of gal ignore the file, fixing the + problem where going from evo HEAD to evo 1.0.x makes the folder + tree disappear.) Store the default expanded state in the file now + to prevent this from happening again in the future. + (e_tree_table_adapter_load_expanded_state): Deal with version 2. + If the model's default expansion state doesn't match the saved + state, ignore the save file. + +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. + +2002-05-02 Christopher James Lahey <clahey@ximian.com> + + * e-tree-selection-model.c + (etsm_selected_count_recurse): Moved the check for + any_children_selected_down so that a selected node with no + selected children will still get counted. + (etsm_select_all): When setting all_children_selected and + any_children_selected to TRUE, don't bother creating arrays for + them since that's unnecessary. + +2002-05-02 Christopher James Lahey <clahey@ximian.com> + + * e-table-click-to-add.c (finish_editing): Add horizontal dividers + here too. + + * e-table-config.c (create_global_store): Translate column headers + here. + + * e-table-header-item.c (ethi_header_context_menu): Use + e_popup_menu_create_with_domain here. + + * e-table-header-utils.c (e_table_header_draw_button): Translate + from utf8 here before drawing. + + * e-table-memory-store.c, e-table-memory-store.h + (e_table_memory_store_insert_adopt_array): Changed the name of + this function from e_table_memory_store_insert_adopt. + (e_table_memory_store_insert_adopt): Added this function which + takes a ... list. + + * e-table-utils.c (et_col_spec_to_col): Translate column titles to + utf8 here. + +2002-05-02 Christopher James Lahey <clahey@ximian.com> + + * e-table-click-to-add.c: Added horizontal dividers to this item + when in table mode. + + * e-table.c, e-tree.c: Made the background be an + e-canvas-background instead of a + + * e-tree.c, e-tree.h: Added a white_space_event for feature parity + with ETable. + +2002-05-01 Christopher James Lahey <clahey@ximian.com> + + * e-table-config.c, e-table-config.h, e-table-specification.c, + e-table-specification.h, e-table-utils.c, e-table-utils.h, + e-table.c, e-table.h: Made these pay attention to the + gettext-domain in the etspec. + + * e-table-config.c: Set the gettext-domain in the etspec here. + +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. + +2002-04-29 Christopher James Lahey <clahey@ximian.com> + + * e-tree.c, e-tree.h (e_tree_path_foreach): Added this function + which recurses over all nodes, regardless of selection. + +2002-04-26 Christopher James Lahey <clahey@ximian.com> + + * e-table-field-chooser-item.c (etfci_maybe_start_drag): Take an + int instead of a double. From a patch by jody@ximian.com. + +2002-04-26 Christopher James Lahey <clahey@ximian.com> + + * e-table-state.c (etst_destroy): Only unref etst->sort_info once. + +2002-04-26 Christopher James Lahey <clahey@ximian.com> + + * e-table-model.c (e_table_model_value_at), e-tree-model.c + (e_tree_model_value_at): Documented the life cycle requirements of + the return value of these functions. + +2002-04-26 Christopher James Lahey <clahey@ximian.com> + + * e-table-memory-store.c (e_table_memory_store_adopt_value_at, + etms_set_value_at): Added calls to e_table_model_pre_change here + so that the ETableItem doesn't unfreeze more times than it + freezes. + +2002-04-25 Christopher James Lahey <clahey@ximian.com> + + * e-tree-selection-model.c (etsm_selected_count_recurse, + etsm_foreach_recurse): Made these handle the case where + all_children_selected_array has a bit set, but the children of + that node aren't filled in. + +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. + +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 + +2002-04-24 Christopher James Lahey <clahey@ximian.com> + + * e-table-config.c (create_global_store): Changed this to match + the new e_table_memory_store_insert function prototype. + +2002-04-22 Christopher James Lahey <clahey@ximian.com> + + * e-table-memory-store.c, e-table-memory-store.h: Renamed the + insert functions in this class to make a bit more sense. + +2002-04-19 Jeffrey Stedfast <fejj@ximian.com> + + * e-table-state.c (etst_destroy): Unref the sort_info. + + * e-cell-toggle.c (etog_kill_view): After unreffing all the + pixmaps, free the toggle_view->pixmap_cache. + + * e-table-search.c (e_table_search_destroy): Free the + priv->search_string and priv itself. More memory leak fixage. + + * e-tree.c (e_tree_drag_source_unset): Unref site->taget_list so + we don't leak memory. + +2002-04-19 JP Rosevear <jpr@ximian.com> + + * e-cell-toggle.c (etog_print): print the cell in the allotted + area + (etog_print_height): return the print height + +2002-04-17 Christopher James Lahey <clahey@ximian.com> + + * e-table-header-item.c: Updated this to match the new EPopupMenu. + +2002-04-11 Christopher James Lahey <clahey@ximian.com> + + * e-table-header-item.c (ethi_header_context_menu): Fixed a memory + leak here by using the "selection-done" signal. + + * e-table.c, e-table.h (white_item_event): Added the + "white_space_event" signal. + +2002-03-26 Chris Toshok <toshok@ximian.com> + + * Makefile.am: remove comment about adding .lo's to the parent + directory's Makefile.am. + +2002-03-25 Christopher James Lahey <clahey@ximian.com> + + * e-table-memory-store.c (e_table_memory_store_insert, + e_table_memory_store_insert_adopt, e_table_memory_store_remove): + Call the parent function after doing all the internal work so that + when the changed signal goes out, our work is already done. + +2002-03-20 Christopher James Lahey <clahey@ximian.com> + + * e-table-header-item.c: Adjust this to handle the new EPopupMenu + API. + +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. + +2002-03-15 Christopher James Lahey <clahey@ximian.com> + + * e-cell-toggle.c: Add a GdkPixmap * cache of rendered toggle + images. This should considerably speed up over the wire + performance of ECellToggle. + +2002-03-15 Christopher James Lahey <clahey@ximian.com> + + * e-table-header.c, e-table-header.h (e_table_header_min_width): + New function that returns the total minimum width of all the + columns. + + * e-table.c, e-table.h (set_header_width): Call + e_table_header_min_width here instead of total_width. + (et_size_request): Override the size_request method instead of + doing set_usize. + +2002-03-14 Ettore Perazzoli <ettore@ximian.com> + + * e-tree.c (item_key_press): Don't search if any modifier but + SHIFT or LOCK is pressed. + + * e-table.c (group_key_press): Don't search if any modifier but + SHIFT or LOCK is pressed. + +2002-03-14 Christopher James Lahey <clahey@ximian.com> + + * e-cell-text.c: Implemented capitalization keybindings. + + * e-tree.c (item_key_press): Added parentheses to the default case + here. + +2002-03-14 Christopher James Lahey <clahey@ximian.com> + + * e-table-search.c, e-table-search.h (e_table_search_backspace): + Made this return a boolean that returns whether the ETableSearch + used the backspace at all. + + * e-table.c (group_key_press), e-tree.c (item_key_press): Used the + new return value from e_table_search_backspace. + +2002-03-13 Christopher James Lahey <clahey@ximian.com> + + * e-cell-pixbuf.c, e-cell-pixbuf.h (pixbuf_draw): Added + selected_column, focused_column, and unselected_column. + +2002-03-13 Christopher James Lahey <clahey@ximian.com> + + * e-table-search.c, e-table-search.h (e_table_search_backspace): + Added this function. + + * e-table.c, e-tree.c: Call the new function on backspace. + +2002-03-13 Christopher James Lahey <clahey@ximian.com> + + * e-table-extras.c (e_string_search): Check for a NULL haystack + here. + + * e-table-search.c, e-table-search.h: Added a parameter to the + search signal here to pass in flags. Specifically, added the + E_TABLE_SEARCH_FLAGS_CHECK_CURSOR_FIRST flag. Improved the search + behavior here. + + * e-table.c, e-tree.c: Handle the new signature for the search + signal here. + +2002-03-13 Christopher James Lahey <clahey@ximian.com> + + * e-tree.c: Added ETableSearch support. + +2002-03-12 Christopher James Lahey <clahey@ximian.com> + + * e-table-memory-store.c, e-table-memory-store.h: Added support + for E_TABLE_MEMORY_STORE_OBJECT which represents a column storing + a GtkObject. + +2002-03-12 Christopher James Lahey <clahey@ximian.com> + + * e-cell-vbox.c (ecv_draw): Give the correct height to the + subcells instead of overlapping them. + + * e-table-header.c, e-table-header.h (e_table_header_move, + eth_calc_widths): Emit the dimension_changed signal with the width + of the header. + + * e-table-memory-store.c (duplicate_value, etms_free_value): + Handle NULL pixbufs here. + + * e-table.c, e-table.h: Connect to the dimension_changed signal + and call set_header_width. Did a bit of refactoring here. + +2002-03-12 Christopher James Lahey <clahey@ximian.com> + + * Makefile.am (libetable_la_SOURCES): Added e-table-search.c. + (libetableinclude_HEADERS): Added e-table-search.h. + + * e-cell.h: Added ETableSearchFun here. + + * e-table-column-specification.c, e-table-column-specification.h: + Added search here. + + * e-table-col.h: Added search here. + + * e-table-extras.c, e-table-extras.h (e_table_extras_add_search): + Added ETableSearchFuncs here. + + * e-table-memory-store.c (e_table_memory_store_insert, + e_table_memory_store_insert_adopt): Handle row == -1 here. + + * e-table-search.c, e-table-search.h: New class to reusably handle + the semantics of searching for a string. + + * e-table-simple.c, e-table-simple.h: Added a bunch of simple + functions here for if your table is all strings. Should be + reusable. + + * e-table-utils.c (et_col_spec_to_col): Added support for searches + here. + + * e-table.c, e-table.h: Added an ETableSearch here. + +2002-03-11 Christopher James Lahey <clahey@ximian.com> + + * e-tree-sorted.c (ets_proxy_node_request_collapse): Proxy + request_collapse signals. + +2002-03-11 Christopher James Lahey <clahey@ximian.com> + + * Makefile.am (libetable_la_SOURCES): Added e-cell-vbox.c. + (libetableinclude_HEADERS): Added e-cell-vbox.h. + + * e-cell-vbox.c, e-cell-vbox.h: New ECell to take multiple other + ECells and use them all in a vertical series. + +2002-03-11 Christopher James Lahey <clahey@ximian.com> + + * e-table-memory-store.c (e_table_memory_store_insert_list): Added + this function to take a ... list of column data. The expected + number of parameters in the ... is the number of columns in the + table. + +2002-03-11 Christopher James Lahey <clahey@ximian.com> + + * e-table-memory-store.c, e-table-memory-store.h + (E_TABLE_MEMORY_STORE_PIXBUF): Added a pixbuf column type. + + * e-table-specification.c, e-table-specification.h: Added + horizontal-resize attribute. + + * e-table.c, e-table.h: Handle horizontal_resize. + +2002-03-08 Christopher James Lahey <clahey@ximian.com> + + * e-tree-memory.c (etmm_node_request_collapse): Handle a collapse + request by marking all descendents of that node as needing their + children recomputed. + + * e-tree-model.c, e-tree-model.h + (e_tree_model_node_request_collapse): Added this signal to request + that the view of your tree collapse this node. + + * e-tree-selection-model.c (etsm_selected_count): Pass the root of + the sorted model here instead of the root of the base model. + + * e-tree-table-adapter.c (etta_proxy_node_request_collapse): + Handle a collapse request by collapsing the node in the tree. + +2002-03-08 Christopher James Lahey <clahey@ximian.com> + + * e-tree-memory.c, e-tree-memory.h (check_children): Added a + fill_in_children signal. + +2002-03-05 Dan Winship <danw@ximian.com> + + * e-table-item.c: Re-disable tooltips since they're (still) + fantastically obnoxious with focus-follows-mouse. (OKed by Ettore). + +2002-03-04 Damon Chaplin <damon@ximian.com> + + * e-cell.c (e_cell_print): only call the cell's print method if it has + one. Avoids crashing for unimplemented print methods. + +2002-02-21 Christopher James Lahey <clahey@ximian.com> + + * Makefile.am (libetable_la_SOURCES): Added + e-table-memory-store.c. + (libetableinclude_HEADERS): Added e-table-memory-store.h. + + * e-table-config-no-group.glade, e-table-config.glade: Updated + these. + + * e-table-config.c, e-table-config.h: Updated this to have a + working field list editor. + + * e-table-memory-store.c, e-table-memory-store.h: New ETableModel + that is a complete store of all the data in your table. No + callbacks at all. + + * e-table-subset-variable.c, e-table-subset-variable.h + (e_table_subset_variable_clear): Added this simple function + + * e-table-subset.c (etss_get_save_id): Made this return the row + number g_strdup_printfed if the source model doesn't support save + ids. + +2002-02-20 Christopher James Lahey <clahey@ximian.com> + + * e-table-sorter.c, e-table-sorter.h: Connect to the + model_rows_inserted, model_rows_deleted, and group_info_changed + here. + +2002-02-19 Christopher James Lahey <clahey@ximian.com> + + * e-tree-selection-model.c (e_tree_selection_model_init): + Initialize frozen_count to 0. + +2002-02-13 Christopher James Lahey <clahey@ximian.com> + + * e-table-item.c (eti_event): Make the defalut for tooltips be on. + +2002-02-12 Christopher James Lahey <clahey@ximian.com> + + * e-table-item.c (eti_unrealize): Cancel tooltip timeouts here. + +2002-02-08 Christopher James Lahey <clahey@ximian.com> + + * e-table.c (et_unrealize), e-tree.c (et_unrealize): Call + scroll_off and in e-tree.c hover_off. + +2002-02-07 Christopher James Lahey <clahey@ximian.com> + + * e-cell-text.c: Added empty case for E_TEP_CAPS. Needs to be + filled in for M-l, M-c, and M-u to work in ETable. + + * e-table-header.c, e-table-header.h (expansion_change): New + signal that gets emitted whenever the expansions change. Used in + state_changed for ETable and ETree. + + * e-table.c, e-table.h, e-tree.c, e-tree.h (state_change): New + signal that gets emitted whenever the ETableState that would be + generated here changes. + +2002-01-31 Christopher James Lahey <clahey@ximian.com> + + * e-tree-model.c (e_tree_model_node_find): Made this function much + more readable. Got rid of all the gotos. Fixed a case where + going backwards during a root search checked the root node first. + (e_tree_model_node_real_traverse): Made backwards traversals be + postorder, as they should be, instead of preorder. + + * e-tree.c (find_next_callback): Use an extra callback function + here to go from sorted path to model path. + +2002-01-31 Christopher James Lahey <clahey@ximian.com> + + * e-tree.c, e-tree.h (e_tree_find_next): Make this function take a + bitfield of parameters instead of two bools. + +2002-01-31 Christopher James Lahey <clahey@ximian.com> + + * e-tree-selection-model.c, e-tree-selection-model.h + (e_tree_selection_model_get_cursor): Added this simple accessor + function. + + * e-tree.c, e-tree.h (e_tree_find_next): Searches from the cursor + given the search parameters and moves the cursor if it ever + matches. + +2002-01-31 Christopher James Lahey <clahey@ximian.com> + + * e-tree-model.c, e-tree-model.h (e_tree_model_node_find): New + function to do a search through a tree in one direction or the + other. + +2002-01-21 Christopher James Lahey <clahey@ximian.com> + + * e-cell-text.c: Implement max_width_by_row. + + * e-cell-tree.c: Use max_width_by_row in max_width function. + + * e-cell.c, e-cell.h (e_cell_max_width_by_row): Added this new + method to ECell. + +2002-01-16 Krisztian Pifko <monsta@users.sourceforge.net> + + * e-cell-progress.c, e-cell-progress.h: new file, implements the + ECellProgress object. + + * Makefile.am (libetable_la_SOURCES, libetableinclude_HEADERS): + added e-cell-progress.c and e-cell-progress.h. + +2002-01-16 Christopher James Lahey <clahey@ximian.com> + + * e-cell-checkbox.h, e-cell-date.h, e-cell-float.h, + e-cell-number.h, e-cell-size.h, e-cell-text.h, e-cell-toggle.h, + e-cell-tree.h, e-cell.h, e-table-click-to-add.h, + e-table-col-dnd.h, e-table-config-field.h, e-table-extras.h, + e-table-field-chooser-item.h, e-table-group-container.h, + e-table-group-leaf.h, e-table-group.h, e-table-header-item.h, + e-table-item.h, e-table-scrolled.h, e-table-sorter.h, + e-table-tooltip.h, e-table-tree.h, e-table-utils.h, e-table.h, + e-tree-scrolled.h, e-tree-sorted-variable.h, e-tree.h: Added + #include <libgnome/gnome-defs.h>. + +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. + +2002-01-09 Christopher James Lahey <clahey@ximian.com> + + * e-table-header-item.c, e-table-header-item.h (scroll_timeout): + Made the header item here handle horizontal scrolling when adding + a column. Fixes Ximian bug #7078. + +2002-01-09 Christopher James Lahey <clahey@ximian.com> + + * e-table.c, e-table.h (scroll_timeout), e-tree.c + (scroll_timeout): Made these handle horizontal scrolling during + drags. + +2002-01-09 Christopher James Lahey <clahey@ximian.com> + + * e-tree.c (collapse_drag): Collapse nodes that were opened during + a drag, unless the drop site is a child node. Fixes Ximian bug + #4965. + +2001-12-17 Christopher James Lahey <clahey@ximian.com> + + * e-cell-toggle.c (etog_set_value): Don't queue a redraw here. + the value changed signal will do that automatically. + +2001-12-12 Christopher James Lahey <clahey@ximian.com> + + * e-cell-text.c (ect_stop_editing): Change to not editing before + committing values. Then commit the values. + +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. + +2001-12-06 Christopher James Lahey <clahey@ximian.com> + + * e-table-config.c, e-table-config.h (setup_gui): Set the title of + the window here. + + * e-table-header-item.c (ethi_popup_customize_view): Use a useful + string for the header here. + +2001-12-06 Christopher James Lahey <clahey@ximian.com> + + * e-table-subset.c (etss_get_view_row): Removed incorrect calls to + e_table_model_row_changed here. + +2001-12-05 Christopher James Lahey <clahey@ximian.com> + + * e-table-header-item.c (ethi_find_col_by_x, + ethi_find_col_by_x_nearest): Made these return 0 to the left of + all columns and ethi_find_col_by_x return cols - 1 if to the right + of all columns. Fixes Ximian bug #14414. + +2001-12-04 Christopher James Lahey <clahey@ximian.com> + + * e-tree-selection-model.c (e_tree_selection_model_change_cursor): + Unset selection->old_selection here. + +2001-11-28 Christopher James Lahey <clahey@ximian.com> + + * e-table.c (context_destroyed), e-tree.c (context_destroyed): + Check for et being destroyed here before doing anything. Fixes + Ximian bug #15728. + +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. + +2001-12-04 Christopher James Lahey <clahey@ximian.com> + + * e-table-group.c, e-table.c, e-tree.c: Changed some comments. + Added a bunch of documentation here. + +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. + +2001-11-10 Christopher James Lahey <clahey@ximian.com> + + * e-table.c (group_key_press), e-tree.c (item_key_press): Handle + the case where page up or page down goes off the end of the table + or tree. + +2001-11-08 Christopher James Lahey <clahey@ximian.com> + + * e-table-sorter.c (ets_sort_info_changed): Make a printout here + be conditionally compiled (and compiled out by default.) + + +2001-11-07 Christopher James Lahey <clahey@ximian.com> + + * e-tree-selection-model.c (etsm_select_all): Don't select all if + the source model doesn't have a root node (it used to crash.) + Fixes Ximian bug #14542. + +2001-11-03 Christopher James Lahey <clahey@ximian.com> + + * e-cell-popup.c, e-cell-popup.h (e_cell_popup_set_shown, + e_cell_popup_queue_cell_redraw): New functions here. + + * e-cell-combo.c: Use e_cell_popup_set_shown to set the + popup_shown variable so that ECellPopup can properly request a + redraw. + +2001-11-03 Christopher James Lahey <clahey@ximian.com> + + * e-tree-memory.c (e_tree_memory_freeze): We should only + pre_change here if frozen = 0, otherwise we'll leak pre_changes. + Helps fix Ximian bug #14422. + + * e-tree-sorted.c (ets_proxy_node_data_changed, + ets_proxy_node_col_changed): Send a no_change signal here if given + a NULL path. Helps fix Ximian bug #14422. + +2001-11-02 Christopher James Lahey <clahey@ximian.com> + + * e-cell-popup.c, e-cell-popup.h (e_cell_popup_do_popup): Make + ECellPopup not display multiple arrows while the popup is up and + the table is in grouped mode. Fixes Ximian bug #14207. + +2001-10-31 Christopher James Lahey <clahey@ximian.com> + + * e-tree-selection-model.c (etsm_node_deleted): Fixed the + signature of this function. + +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. + +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. + +2001-10-30 Christopher James Lahey <clahey@ximian.com> + + * e-table.c (e_table_commit_click_to_add): Leave edit if commit is + called. + +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. + +2001-10-30 Christopher James Lahey <clahey@ximian.com> + + * e-table-click-to-add.c (etcta_class_init): Remove point handler + and just let GnomeCanvasGroup handle it. + + * e-table.c (e_table_commit_click_to_add): Don't commit the + click_to_add if there's no click_to_add to commit. + +2001-10-30 Christopher James Lahey <clahey@ximian.com> + + * e-table.c (e_table_commit_click_to_add): Added this new function + to allow the user to specify a commit. + +2001-10-30 Christopher James Lahey <clahey@ximian.com> + + * e-tree-sorted.c (check_last_access): Fix this to check from + initial instead of initial + 1. + +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. + +2001-10-29 Christopher James Lahey <clahey@ximian.com> + + * e-table.c (et_canvas_root_event), e-tree.c + (et_canvas_root_event): Ignore buttons 4 and 5 here. Fixes Ximian + bug #13853. + +2001-10-29 Christopher James Lahey <clahey@ximian.com> + + * e-table-config.c (setup_gui): Hide the Help button here since + there's nothing connected to it. + + * e-tree-sorted.c (ets_sort_idle): Don't nest ets_sort_idle calls. + Fixes Ximian bug #13929. + +2001-10-29 Christopher James Lahey <clahey@ximian.com> + + * e-table-subset.c (etss_get_view_row), e-tree-sorted.c + (check_last_access), e-tree-table-adapter.c (find_row_num): Don't + go outside the table looking for matches when doing the + last_access search. + +2001-10-28 Christopher James Lahey <clahey@ximian.com> + + * e-table.c (table_canvas_focus_event_cb): Fix crash here. + +2001-10-28 Christopher James Lahey <clahey@ximian.com> + + * e-cell-text.c: Removed erroneous comment about needing to handle + selection better. + +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. + +2001-10-26 Christopher James Lahey <clahey@ximian.com> + + * e-cell-float.c, e-cell-float.h: Changed the license announcement + at the top of these files. + +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. + +2001-10-26 Christopher James Lahey <clahey@ximian.com> + + * e-table-config.c (config_group_info_update, + config_fields_info_update): Added some checks for NULL labels + here. + + * e-table-specification.c, e-table-specification.h: Added + allow_grouping field. Fixes Ximian bug #13412. + + * e-table.c, e-table.h: Added allow_grouping field. Set this + field for the sort infos from state objects. + +2001-10-26 Christopher James Lahey <clahey@ximian.com> + + * e-tree-selection-model.c (etsm_selected_count): If the root node + is hidden and selected, don't count it in the selected path count. + Fixes Ximian bug #13419. + + * e-tree.c (et_canvas_root_event): Attach to the event handler on + the root canvas item instead of the canvas itself when making the + ETree leave editing state. + +2001-10-25 Federico Mena Quintero <federico@ximian.com> + + Fixes Ximian bug #6832. + + * e-table.c (e_table_setup_table): Use a callback instead of + gtk_widget_queue_draw() for focus events, as the latter does not + have the correct prototype for an event handler. + (group_start_drag): Emit START_DRAG, not KEY_PRESS! + (focus_first_etable_item): Focus the first row in the first + ETableItem if there is no focused item. + + * e-tree.c (e_tree_setup_table): Same change as in + e_table_setup_table(). + (table_canvas_focus_event_cb): Focus the first row in the tree + item if there is no focused item. + +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. + +2001-10-24 Christopher James Lahey <clahey@ximian.com> + + * Makefile.am (INCLUDES): Added $(ICONV_CFLAGS). + +2001-10-23 Damon Chaplin <damon@ximian.com> + + * e-cell-combo.c (e_cell_combo_set_popdown_strings): save the UTF-8 + strings inside the listitem widgets, but convert to the locale to use + in the label. + (e_cell_combo_select_matching_item): + (e_cell_combo_update_cell): use the UTF-8 strings instead of the + listitem labels. Hopefully fixes bug #7037. + +2001-10-23 Christopher James Lahey <clahey@ximian.com> + + * e-table-field-chooser-item.c: Got rid of the gc argument to + e_table_header_draw_button. + (etfci_font_load): Just use the style font here. + + * e-table-group-container.c (e_table_group_container_construct): + Changed this to just use the font from the style. Fixes Ximian + bug #11882. + + * e-table-header-item.c: Got rid of the gc argument to + e_table_header_draw_button. + (ethi_font_load): Changed this to just fallback on the font from + the style if the fontname is NULL or doesn't load to a font. + Fixes Ximian bug #11882. + + * e-table-header-utils.c, e-table-header-utils.h + (e_table_header_draw_button): Got rid of the gc parameter here and + changed to use the gc from the style of a button created for this + purpose, but not shown. Fixes Ximian bug #13251. + +2001-10-23 Christopher James Lahey <clahey@ximian.com> + + * e-table-header-item.c, e-table-header-item.h: Got rid of the gc + field here and just use the fg_gc from the style for drawing the + buttons. + +2001-10-22 Damon Chaplin <damon@ximian.com> + + * e-cell-text.[hc]: added set_value() class method, which sets the + model value based on the text. In ECellText itself it assumes the model + value is a char* and passes the text directly. Subclasses may parse + the text into some other datatype. + Also made the calls the e_cell_text_get_text(), e_cell_text_free_text() + and e_cell_text_set_value() public, since we need them in ECellCombo. + + * e-cell-combo.c (e_cell_combo_select_matching_item): + (e_cell_combo_update_cell): use e_cell_text_get_text()/free_text()/ + set_value() so it can handle subclasses of ECellText as the child. + +2001-10-22 Christopher James Lahey <clahey@ximian.com> + + * e-table-col.c, e-table-col.h, e-table-column-specification.c, + e-table-column-specification.h: Added a disabled field here. + + * e-table-config.c, e-table-field-chooser-item.c: Pay attention to + the disabled field here. Fixes Ximian bug #12416. + + * e-table-utils.c: Copy the disabled field from the column + specification to the col. + +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. Fixes Ximian bug #11807. + + * e-tree-table-adapter.c (e_tree_table_adapter_node_set_expanded): + Added a pre_change here since we send two changes. + +2001-10-22 Christopher James Lahey <clahey@ximian.com> + + * e-tree-memory.c (e_tree_memory_sort_node): Call + e_tree_model_pre_change here where appropriate. + +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. + +2001-10-20 Christopher James Lahey <clahey@ximian.com> + + * e-table-group-container.c (compute_text): Don't convert to + locale here since EText takes UTF8 strings. Fixes Ximian bug + #8906. + +2001-10-20 Christopher James Lahey <clahey@ximian.com> + + * e-tree-sorted.c (e_tree_sorted_node_num_children): Check for + num_children == -1 here and generate the children if they haven't + been. Fixes Ximian bug #12464. + +2001-10-16 Christopher James Lahey <clahey@ximian.com> + + * e-tree-table-adapter.c (find_next_node_maybe_deleted, + find_first_child_node_maybe_deleted, find_next_node, + find_first_child_node, find_row_num): Added bounds checking in a + number of places. Fixes Ximian bug #7245. + (etta_init): Initialize all the fields here. + +2001-10-12 Christopher James Lahey <clahey@ximian.com> + + * e-table-click-to-add.c (set_initial_selection): Use new + e_table_header_prioritized_column field. + + * e-table-header.c, e-table-header.h + (e_table_header_prioritized_column): New function. Refactors the + code from ETableClickToAdd to find the column with the highest + priority. + + * e-table-selection-model.c, e-table-selection-model.h + (model_changed_idle): Changed this function to use the + e_table_header_prioritized_column function. Added an argument to + set the "header" on this selection model. Fixes Ximian bug #1301. + + * e-table-utils.h: Indentation cleanup. + + * e-table.c (et_real_construct): Set the "header" argument on the + selection model here. + + * e-table.h: #include <gal/e-table/e-table-sorter.h> + +2001-10-12 Christopher James Lahey <clahey@ximian.com> + + * e-table-state.c (e_table_state_duplicate): Copy the can group + state on the sort info here. Fixes Ximian bug #8655. + +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. + +2001-10-10 Christopher James Lahey <clahey@ximian.com> + + * e-table.c, e-table.h (e_table_get_selection_model): Added this + function. + +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. + +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. Fixes Ximian bug #11879. + +2001-10-06 Christopher James Lahey <clahey@ximian.com> + + * e-tree.c (context_destroyed), e-table.c (context_destroyed): Use + g_dataset_set_data_full to find out when the context is destroyed. + Fixes Ximian bug #8502 and Ximian bug #11691. + +2001-10-05 Jon Trowbridge <trow@ximian.com> + + * e-table-without.c (e_table_without_show_all): We need to take + the row count from the source model, not from the ETableWithout. + This typo is why contacts kept disappearing in the SelectNames + dialog. (Bugs 9326, 10916) + +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. + +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. + +2001-10-05 Christopher James Lahey <clahey@ximian.com> + + * e-table-item.c (eti_event): Got rid of the misused button + variable here. + +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. + Fixes Ximian bug #10667. + +2001-10-03 Christopher James Lahey <clahey@ximian.com> + + * e-table-selection-model.c (e_table_selection_model_init): + Initialize the hash field. + (model_changed_idle): Send cursor changed and selection changed signals. + (model_pre_change): If there's no cursor here, make sure to set + the cursor_id to NULL. + +2001-10-03 Christopher James Lahey <clahey@ximian.com> + + * e-table-click-to-add.c (set_initial_selection): Pick which field + of the row to select based on priority. Fixes Ximian bug #9345. + + * e-table-col.c, e-table-col.h: Added the priority field to this + class. Adapted the _new functions appropriately. + + * e-table-column-specification.c, e-table-column-specification.h: + Added the priority field to this class. + + * e-table-utils.c (et_col_spec_to_col): Handle the priority field here. + +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. + +2001-09-28 Christopher James Lahey <clahey@ximian.com> + + * e-tree-sorted.c (ets_proxy_node_changed): Stop the sort idle if + the root node gets changed. + +2001-09-26 Christopher James Lahey <clahey@ximian.com> + + * e-table.c, e-tree.c: Set the step_increment on the horizontal + scrollbars here to 20. + +2001-09-26 Christopher James Lahey <clahey@ximian.com> + + * e-tree-selection-model.c (etsm_node_changed, etsm_destroy): Set + cursor_path = NULL here. + +2001-09-25 Ettore Perazzoli <ettore@ximian.com> + + * e-table-item.c (eti_unrealize): Remove the grab if ->grabbed. + +2001-09-25 Christopher James Lahey <clahey@ximian.com> + + * e-table-item.c (eti_event): Instead of + e_selection_model_maybe_do_something and + e_selection_model_do_something, call e_selection_right_click_down + and e_selection_right_click_up here for right clicks. + + * e-table.c, e-table.h (e_table_right_click_up), e-tree.c, + e-tree.h (e_tree_right_click_up): Added these functions for + someone who handles the right click signal by popping up a menu + call right_click_up when they're down handling the menu. + +2001-09-24 Federico Mena Quintero <federico@ximian.com> + + * e-table.c (et_canvas_button_press): Use the correct prototype + for the signal handler. + + * e-tree.c (et_canvas_button_press): Likewise. + +2001-09-24 Federico Mena Quintero <federico@ximian.com> + + * e-table-group.c (e_table_group_add): Assert that the virtual + method is implemented instead of being forgiving. + (e_table_group_add_array): Likewise. + (e_table_group_add_all): Likewise. + (e_table_group_remove): Likewise. + (e_table_group_increment): Likewise. + (e_table_group_decrement): Likewise. + (e_table_group_row_count): Likewise. + (e_table_group_set_focus): Likewise. + (e_table_group_get_focus): Likewise. + (e_table_group_get_focus_column): Likewise. + (e_table_group_get_printable): Likewise. + (e_table_group_compute_location): Likewise. + (e_table_group_get_cell_geometry): Likewise. + (etg_destroy): Clear the fields after we unref them. + + * e-table-group-leaf.c (etgl_destroy): Clear the fields after we + unref them. + (e_table_group_leaf_construct): Subsets should not be sunk. Do + not ref/sink the subset. + + * e-table-header.c (e_table_header_add_column): Document the fact + that the header assumes ownership of the column. + +2001-09-24 Christopher James Lahey <clahey@ximian.com> + + * e-tree-selection-model.c (etsm_sorted_node_resorted): Attach to + the resorted signal instead of the changed signal on the sorted + model. Fixes Ximian bug #6532. + + * e-tree-sorted.c, e-tree-sorted.h (e_tree_sorted_node_resorted): + Added this signal. + +2001-09-22 Christopher James Lahey <clahey@ximian.com> + + From a patch by Damian Ivereigh <damian@cisco.com>: + + * e-cell-date.c: Made this use e_strftime_fix_am_pm instead of + strftime. + +2001-09-19 Christopher James Lahey <clahey@ximian.com> + + * e-table-selection-model.c (add_model): Confirm row count here. + (etsm_get_row_count): Make sure etsm->model isn't NULL here. + If it is, it's not an error. Return 0 in this case. + +2001-09-16 Christopher James Lahey <clahey@ximian.com> + + * e-table-model.c, e-table-model.h (e_table_model_class_init): + Rearranged order of has_save_id and get_save_id to be more + consistent with ETree. + + * e-table-selection-model.c, e-table-selection-model.h: Turned on + the code to maintain selection and cursor across changes if the + model supports get_save_id. + + * e-table-simple.c, e-table-simple.h: Changed this interface to + take all of the ETableModel functions in the _new function. + + * e-table-subset.c (etss_has_save_id, etss_get_save_id): Added + these to properly proxy the save_id functionality. + + * e-tree-memory-callbacks.c, e-tree-memory-callbacks.h, + e-tree-model.c, e-tree-model.h, e-tree-sorted.c: Made the save_id + parameter to get_node_by_id be const char * instead of char *. + + * e-tree-table-adapter.c (etta_class_init): Rearranged some + assignments here to be more consistent. + +2001-09-13 Christopher James Lahey <clahey@ximian.com> + + * e-cell-toggle.c (etog_event): Changed this to change state on + button down, even if we aren't editing. + +2001-09-10 Christopher James Lahey <clahey@ximian.com> + + * e-tree.c (e_tree_setup_table): Changed which widget to connect + signals to to watch for drag & drop. Fixes Ximian bugs #7450 & + #8732. + +2001-09-07 Jon Trowbridge <trow@ximian.com> + + * e-table-without.c (e_table_without_show_all): Fixed a silly + little obvious bug. + +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. + +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 #8260. + +2001-09-07 Christopher James Lahey <clahey@ximian.com> + + * Makefile.am: Added e-table-config-no-group.glade. + + * e-table-config-no-group.glade, e-table-config.c, + e-table-config.glade: Removed the fields bit of ETableConfig. + +2001-09-07 Christopher James Lahey <clahey@ximian.com> + + * e-table-without.c, e-table-without.h (e_table_without_show_all): + Added this function. + +2001-09-04 Ettore Perazzoli <ettore@ximian.com> + + * e-tree.c (e_tree_drag_unhighlight): Remove debugging message. + +2001-09-02 Christopher James Lahey <clahey@ximian.com> + + * e-cell-date.c (ecd_get_text): Strip spaces at the beginning or + end as well as changing " " to " ". Fixes Ximian bug #7683. + +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. + +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. + +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. + +2001-08-25 Zbigniew Chyla <cyba@gnome.pl> + + * e-table-group-container.c (compute_text): + Convert UTF-8 strings to locale's encoding before putting them in + canvas item. + +2001-08-25 Zbigniew Chyla <cyba@gnome.pl> + + * e-table.c (e_table_init): Fixed typo. + +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. + +2001-08-20 Jon Trowbridge <trow@ximian.com> + + * e-table-without.c (check_with_key): We need to + free_gotten_key_func key2, not key! + (e_table_without_show): Renamed, used to be + e_table_without_remove. Double-negative function names + are confusing! + (e_table_without_hide_adopt): Renamed, used to be + e_table_without_add_adopt. + (e_table_without_hide): Renamed, used to be e_table_without_add. + +2001-08-20 Christopher James Lahey <clahey@ximian.com> + + * e-table-subset.c, e-table-subset.h + (e_table_subset_model_to_view_row, + e_table_subset_view_to_model_row): Added these functions. + +2001-08-20 Christopher James Lahey <clahey@ximian.com> + + * e-table-without.c: Made this object handle NULLs for all the + handler functions. + +2001-08-20 Christopher James Lahey <clahey@ximian.com> + + * e-table-without.c (etw_proxy_model_rows_inserted, + etw_proxy_model_changed): Changed the used parity of the return + value of check here. + +2001-08-18 Federico Mena Quintero <federico@ximian.com> + + * e-table-without.c (etw_destroy): Chain to the destroy handler in + the parent class. Hey, I'm getting used to this :) + +2001-08-17 Christopher James Lahey <clahey@ximian.com> + + * e-table-without.c (etw_destroy): Destroy the hash table and all + objects in it, as well as the priv structure. + +2001-08-16 Christopher James Lahey <clahey@ximian.com> + + * Makefile.am: Added e-table-without.c and e-table-without.h. + + * e-table-without.c, e-table-without.h: Got this to compile. + Finished the first version of it. + +2001-08-16 Christopher James Lahey <clahey@ximian.com> + + * e-table-without.c, e-table-without.h: Adding the first versions + of these files. Doesn't work yet. + +2001-08-14 Peter Williams <peterw@ximian.com> + + * e-tree-selection-model.c (etsm_selected_count_recurse): + Workaround for Ximian bug #6795. Will prevent a crash and + doesn't seem to cause any problems, but the underlying problem + still exists. + +2001-08-14 Federico Mena Quintero <federico@ximian.com> + + * e-cell-combo.c (e_cell_combo_destroy): Destroy, do not unref, + the popup_window. + +2001-08-14 Christopher James Lahey <clahey@ximian.com> + + * e-table.c (group_key_press), e-tree.c (item_key_press): Handle + GDK_KP_Page_Up, GDK_KP_Page_Down, GDK_KP_Right, and GDK_KP_Left + here. Fixes Ximian bug #4491. + +2001-08-14 Christopher James Lahey <clahey@ximian.com> + + * e-table-click-to-add.c (etcta_event): Got rid of event + forwarding for double clicks and releases and such and for single + clicks except when first creating the row object. Fixes Ximian + bug #2661. + +2001-08-10 JP Rosevear <jpr@ximian.com> + + * e-table.c (et_build_groups): add the items to the start or end + based on where the click to add should be + (e_table_setup_table): ditto + (et_real_construct): read additional spec flag + + * e-table.h: new flag + + * e-table-specification.c (etsp_init): init new flag + (e_table_specification_load_from_node): set click to add end flag + (e_table_specification_save_to_node): write out flag + + * e-table-specification.h: new flag + +2001-08-10 Christopher James Lahey <clahey@ximian.com> + + * e-table-config.c (setup_gui): If the sort_info can't group, hide + the grouping button and label. + + * e-table-header-item.c (ethi_header_context_menu): Removed the + Group By This Field menu item if the sort_info doesn't support + grouping. + + * e-table-sort-info.c, e-table-sort-info.h + (e_table_sort_info_get_can_group, + e_table_sort_info_set_can_group): Added these functions. + + * e-tree.c (e_tree_set_state_object, et_real_construct): Set + can_group to FALSE for all our sort infos. + (e_tree_get_state_object): Fixed a potential gtk_object_ref (NULL) + here. + +2001-08-09 Jeffrey Stedfast <fejj@ximian.com> + + * e-tree.c (et_drag_drop): Initialize ret_val. + (do_drag_motion): Same. + +2001-08-09 Christopher James Lahey <clahey@ximian.com> + + * e-table-field-chooser-dialog.c, e-table-field-chooser-dialog.h, + e-table-field-chooser.c, e-table-field-chooser.h: Added a "header" + argument to these structures which just gets passed downwards. + + * e-table-field-chooser-item.c, e-table-field-chooser-item.h: + Added a "header" argument here. Made it so that only rows that + aren't already in the header are shown. + + * e-table-header-item.c: Set the "header" argument on our + e-table-field-chooser-dialog. Fixes Ximian bug #2654. + +2001-08-08 Not Zed <NotZed@Ximian.com> + + * e-table-sort-info.c (etsi_destroy): Call the super-class destroy + function when done. + +2001-08-08 Federico Mena Quintero <federico@ximian.com> + + * e-cell-pixbuf.c (pixbuf_destroy): Chain to the destroy handler + in the parent class! + + * e-table-field-chooser.c (e_table_field_chooser_destroy): + Likewise. Sigh. + + * e-table-one.c (one_destroy): Likewise. Double sigh. + + * e-tree-selection-model.c (etsm_destroy): Likewise. Triple sigh. + +2001-08-08 Christopher James Lahey <clahey@ximian.com> + + * e-table-group-leaf.c, e-table-group-leaf.h (etgl_key_press): + Check for row >= 0 here. Fixes Ximian bug #6376. + (etgl_destroy): Disconnect from all the signals we connect to on + our ETableItem here. + +2001-08-07 Christopher James Lahey <clahey@ximian.com> + + * e-tree-selection-model.c (etsm_selected_count): Implemented this + function. Fixes Ximian bug #5353. + +2001-08-07 Christopher James Lahey <clahey@ximian.com> + + * e-tree.c: Make tree nodes open if you hover over them while drag + & dropping. + +2001-08-07 Christopher James Lahey <clahey@ximian.com> + + * e-tree.c (scroll_timeout): Added scrolling to access nodes that + are scrolled off screen for drops. Fixes Ximian bug #5645. + + * e-table.c, e-table.h (scroll_timeout): Added scrolling to access + rows that are scrolled off screen for drops. This doesn't work + for some reason, but I'm checking the code in. + +2001-08-06 Christopher James Lahey <clahey@ximian.com> + + * e-table.c, e-table.h (e_table_drag_highlight, + e_table_drag_unhighlight): Implemented these functions. + + * e-tree.c (e_tree_drag_highlight, e_tree_drag_unhighlight): + Implemented these functions. + +2001-08-04 Christopher James Lahey <clahey@ximian.com> + + * e-tree-scrolled.c (e_tree_scrolled_new): Set the hadjustment and + vadjustment here. From a patch by Kevin Vandersloot + <kfv101@psu.edu>. Fixes Ximian bug #6400. + +2001-08-03 Christopher James Lahey <clahey@ximian.com> + + * e-tree.c (et_drag_motion, et_drag_drop, et_drag_data_received): + Change these to actually subtract the allocation as they should. + +2001-08-03 Christopher James Lahey <clahey@ximian.com> + + * e-tree-table-adapter.c (e_tree_table_adapter_node_at_row): + e_tree_table_adapter_node_at_row would have pulled data from one + past the end of its array if you asked it to and the root was + hidden. Fixed it. Fixes Ximian bug #4761. + +2001-08-03 Christopher James Lahey <clahey@ximian.com> + + * e-tree.c (et_drag_motion, et_drag_drop, et_drag_data_received): + Subtracted 27. + +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. + +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. + +2001-08-02 Christopher James Lahey <clahey@ximian.com> + + * e-tree.c (et_destroy): Set et->priv to NULL here just to be + sure. + +2001-08-02 Christopher James Lahey <clahey@ximian.com> + + * e-table-header-item.c (ethi_drag_data_received): Don't do most + of the work in this function if data->data is NULL. Fixes Ximian + bug #6041. + +2001-08-01 Federico Mena Quintero <federico@ximian.com> + + * e-table.c (group_cursor_change): Set the et->cursor_loc *before* + committing the click-to-add to avoid reentrancy issues if the + table model changes while the click-to-add is being committed. + +2001-08-01 Christopher James Lahey <clahey@ximian.com> + + * e-table-header-item.c (ethi_change_sort_state): Make this + function not crash if x somehow doesn't land on some column. + Fixes Ximian bug #5957. + + * e-table-header-item.c: Removed a bunch of menu items whose + functionality won't be ready for 1.0. Fixes Ximian bug #154. + +2001-08-01 Christopher James Lahey <clahey@ximian.com> + + * e-cell-toggle.c (etog_max_width): Made this not query the 0th + row if there are 0 rows in the table. Fixes Ximian bug #5640. + +2001-07-25 Jon Trowbridge <trow@ximian.com> + + * e-cell-text.c (ect_unrealize): Set text_view->font to NULL + after we unref it. + +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. + +2001-07-23 Ettore Perazzoli <ettore@ximian.com> + + * e-table-item.c (eti_event): Handle GDK_KP_* cursor keys as well. + +2001-07-12 Christopher James Lahey <clahey@ximian.com> + + * e-tree.c (e_tree_get_cell_at): Made these functions return -1 if + the x and y aren't over any cell at all. + +2001-07-12 Christopher James Lahey <clahey@ximian.com> + + * e-tree-table-adapter.c (e_tree_table_adapter_node_set_expanded): + Ignore set_expanded if the node is the root and root_visible is + FALSE. + + * e-tree.c (item_key_press): Don't call set_expanded on NULL + paths. + +2001-07-11 Christopher James Lahey <clahey@ximian.com> + + * e-table.c (group_key_press), e-tree.c (item_key_press): Changed + these to use e_selection_model_select_as_key_press instead of + e_selection_model_do_something. + +2001-07-11 Christopher James Lahey <clahey@ximian.com> + + * e-table.c (group_key_press), e-tree.c (item_key_press): Made the + amount to scroll by smaller here. + +2001-07-11 Christopher James Lahey <clahey@ximian.com> + + * e-table.c (group_key_press), e-tree.c (item_key_press): Use + e_selection_model_do_something directly for page up and page down + instead of emulating a key press. + +2001-07-08 Christopher James Lahey <clahey@ximian.com> + + * e-table-field-chooser-dialog.c + (e_table_field_chooser_dialog_init): Changed the title of this + dialog. Fixes bug #2656. + +2001-07-06 Christopher James Lahey <clahey@ximian.com> + + * e-tree-table-adapter.c (e_tree_table_adapter_node_at_row): Added + checks for if row is outside of the appropriate range. + +2001-07-06 Christopher James Lahey <clahey@ximian.com> + + * e-cell-spin-button.c (e_cell_spin_button_step_float): Set + new_value = value here to fix a warning. + +2001-07-06 Christopher James Lahey <clahey@ximian.com> + + * e-table-config.c (config_get_arg): Added a "state" argument to + allow you to get the state out of the config object. + +2001-07-05 Christopher James Lahey <clahey@ximian.com> + + * e-tree.c (e_tree_get_cell_geometry): Added checks that row and + col are >= 0. + +2001-07-05 Christopher James Lahey <clahey@ximian.com> + + * e-cell-text.c (ect_cancel_edit): Call e_table_item_leave_edit + here. + +2001-07-05 Christopher James Lahey <clahey@ximian.com> + + * e-table-header-item.c (ethi_drag_motion): Made it so that the + drop marker can show up when dragging a new column to the leftmost + position of the table header item. + +2001-07-05 Christopher James Lahey <clahey@ximian.com> + + * e-table-one.c (one_is_cell_editable): Ask for the editability of + row -1 instead of column 0 as we were before. + +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. + +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. + +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. + +2001-07-05 Christopher James Lahey <clahey@ximian.com> + + * e-tree.c (e_tree_new, e_tree_new_from_spec_file): Handle an + error in construction a little bit better here. + (e_tree_get_cursor): Check for row == -1 here. + +2001-07-02 Richard Hult <rhult@codefactory.se> + + * e-cell-combo.c (e_cell_combo_get_popup_pos): Calculate the popup + position using window coordinates instead of world coordinates. + This fixes bug #2613 in ximian's bugzilla, combo box pops up offset + if the table is scrolled. + +2001-07-02 Christopher James Lahey <clahey@ximian.com> + + * e-tree-sorted.c (ets_destroy): Only free the root here if it's + non-NULL. + +2001-07-02 Christopher James Lahey <clahey@ximian.com> + + * e-table-header-item.c (ethi_header_context_menu): Made the + remove this column menu item greyed out if it's the last column. + +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. + +2001-06-28 Chris Toshok <toshok@ximian.com> + + * e-table.c (et_drag_motion): send signals even if the row/col is + -1. + (et_drag_drop): same. + + * e-tree.c (et_drag_motion): same. + (et_drag_drop): same. + +2001-06-27 Peter Williams <peterw@ximian.com> + + * e-tree-selection-model.c (e_tree_selection_model_add_to_selection): New function, + heavily based on select_single_row. + + * e-tree-selection-model.h: Added prototype; + + * e-tree.c (e_tree_get_model): New accessor function. + (e_tree_get_selection_model): Same. + (e_tree_selected_count, e_tree_select_all, e_tree_invert_select): Removed. With + the accessors these become pointless. + + * e-tree.h: Prototype the functions above. Remove a few functions that + don't make sense anymore. + +2001-06-20 Mikael Hallendal <micke@codefactory.se> + + * e-cell-spin-button.c + (e_cell_spin_button_step): send the value to + e_table_model_set_value_at as a string as in e_cell_number. + (e_cell_spin_button_step_float): send the value to + e_table_model_set_value_at as a string as in e_cell_number_float. + +2001-05-25 Kjartan Maraas <kmaraas@gnome.org> + + * e-table-specification.c: #include <string.h> + * e-table-state.c: Same here. Kills warnings on newer gcc. + + +2001-05-25 Christopher James Lahey <clahey@ximian.com> + + * e-table.c (et_table_rows_deleted): Remove row row + i instead of + row i. + (et_table_rows_inserted): Insert row row + i instead of row row. + +2001-05-25 Christopher James Lahey <clahey@ximian.com> + + * e-table.c (et_table_rows_deleted): Remove row i instead of row + row. Destroy et->group when you get the changed or + sort_info_changed signal instead of in the idle handler. + +2001-05-24 jacob berkman <jacob@ximian.com> + + * e-cell-size.c (ecd_get_text): format similar to nautilus + +2001-05-23 jacob berkman <jacob@ximian.com> + + * e-table-group-container.c: internationalize the grouping text + string + +2001-05-22 jacob berkman <jacob@ximian.com> + + * e-cell-pixbuf.c: allow NULL pixbufs, and draw with crappy alpha + +2001-05-22 Christopher James Lahey <clahey@ximian.com> + + * e-table-sorted.c (ets_proxy_model_rows_deleted): Made this + faster in some cases. + +2001-05-22 Christopher James Lahey <clahey@ximian.com> + + * e-table-group-leaf.c (etgl_double_click): The double_click + signal on the table item now emits the model row instead of the + view row so don't do the view to model conversion here. + +2001-05-22 jacob berkman <jacob@ximian.com> + + * e-table-sorted.c (ets_proxy_model_rows_deleted): a similar + change to below, which makes it actually work for the case where + count != 1 + +2001-05-21 Chris Toshok <toshok@ximian.com> + + * e-table-sorted.c (ets_proxy_model_rows_inserted): increment row + each time through the loop so we don't get @count copies of @row. + +2001-05-14 Jon Trowbridge <trow@ximian.com> + + * e-cell-text.c (_get_position_from_xy): Try to deal with bad + utf8. + (_get_position): Try to deal with bad utf8. + (number_of_lines): Try to deal with bad utf8. + (split_into_lines): Try to deal with bad utf8. + +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. + +2001-05-09 Christopher James Lahey <clahey@ximian.com> + + * e-cell-date.c (ecd_get_text): Show the date for dates in the + future. + + * e-tree-memory.c, e-tree-memory.h + (e_tree_memory_set_node_destroy_func): New function which gets + called on the data for every node removed from the tree. + +2001-04-29 Jason Leach <jasonleach@usa.net> + + (Fix bug #53111: Portability fixes for HP's ANSI compiler.) + + * e-table-header-item.c (ethi_popup_sort_ascending): Changes for + initializing a struct for picky compiler. + (ethi_popup_sort_descending): Ditto. + (ethi_change_sort_state): Ditto. + + * e-cell.c (e_cell_realize): Fix trying to return a value for a + void function. + (e_cell_show_tooltip): Here too. + + * e-table-subset.c (etss_set_value_at): Another fix for trying to + return something instead of void. + + +2001-04-29 Christopher James Lahey <clahey@ximian.com> + + * e-table.c: Added a read only argument "model" to ETable. + +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. + + +2001-04-25 Jason Leach <jasonleach@usa.net> + + * e-table-group-leaf.c (etgl_set_arg): One-line fix (missing a + 'break' at the end of the ARG_SELECTION_MODEL case). + +2001-04-25 Christopher James Lahey <clahey@ximian.com> + + * e-table.c (e_table_get_cell_geometry): Add the header height to + the returned y location here so that things will be lined up + correctly. + +2001-04-25 Christopher James Lahey <clahey@ximian.com> + + * e-tree-table-adapter.c (e_tree_table_adapter_row_of_node): Made + this return -1 instead of -2 for not found if the root is not + visible. + + * e-tree-selection-model.c (etsm_row_foreach_cb): Made this accept + any negative number as not found instead of just -1. + +2001-04-23 Dan Winship <danw@ximian.com> + + * Makefile.am (INCLUDES): remove UNICODE_CFLAGS + + * e-cell-text.c: Remove <unicode.h> include, use gunicode functions + +2001-04-23 Christopher James Lahey <clahey@ximian.com> + + * e-table.c (e_table_get_cell_geometry): Documented this function + properly. + + * e-tree.c, e-tree.h (e_tree_get_cell_geometry): Added this + function. + +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. + +2001-04-23 Christopher James Lahey <clahey@ximian.com> + + * e-cell-date.c (ecd_get_text): Made it so that if a message is + from the last 8 hours, it only prints the time, not the date. + +2001-04-23 Christopher James Lahey <clahey@ximian.com> + + * e-table-header-utils.c (e_table_header_draw_button): Make pixbuf + columns show their title if there is space. + +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. + +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. + +2001-04-18 Dan Winship <danw@ximian.com> + + * e-table.c (et_destroy): Free some things that weren't getting + freed. + + * e-tree.c (et_destroy): Free some things that weren't getting + freed. + (e_tree_set_state_object): Don't ref the return value of + e_table_state_to_header. + +2001-04-16 Christopher James Lahey <clahey@ximian.com> + + * e-table-item.c: Turned on tooltips and alternating colors. + +2001-04-16 Christopher James Lahey <clahey@ximian.com> + + * e-cell-text.c (tooltip_event): Propagate the event after sending + it to the table item. + +2001-04-16 Christopher James Lahey <clahey@ximian.com> + + * e-tree-sorted.c (ets_sort_idle): Fix a crash here. + +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. + +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. + +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. + +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. + +2001-04-14 Christopher James Lahey <clahey@ximian.com> + + * e-table-hsv-utils.c, e-table-hsv-utils.h: Moved these to + gal/widgets/e-hsv-utils.c and gal/widgets/e-hsv-utils.h. + + * e-table-item.c: #if 0ed out alternating colors until we come to + a consensus. + +2001-04-13 Mikael Hallendal <micke@codefactory.se> + + * e-cell-float.[ch]: New cell for floats. + + * e-cell-spin-button.[ch]: New cell for spin-button. + + * Makefile.am: + - Added e-cell-spin-button.[ch] + - Added e-cell-float.[ch] + +2001-04-13 Dan Winship <danw@ximian.com> + + * e-table-header.c (eth_destroy): Fix memory leak + +2001-04-12 Seth Nickell <snickell@stanford.edu> + + * e-table-hsv-utils.c, e-table-hsv-utils.h: (tweak_hsv), + (hsv_to_rgb), (rgb_to_hsv): Some utility functions for dealing + with and modifying HSV values. + + * Makefile.am: Add e-table-hsv-utils.[c|h] to the build. + + * e-table-item.c: (eti_draw): Enable alternating colours in + e-table cells. + +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. + +2001-04-11 Christopher James Lahey <clahey@ximian.com> + + * e-tree.c (item_key_press): Return TRUE for left and right + arrows. + +2001-04-10 Gediminas Paulauskas <menesis@delfi.lt> + + * e-table.c (et_real_construct): convert click_to_add_message locale->utf8. + +2001-04-10 Christopher James Lahey <clahey@ximian.com> + + * e-table-item.c: Put debugging stuff in d(). + +2001-04-10 Christopher James Lahey <clahey@ximian.com> + + * e-table.c: #include "gal/widgets/e-unicode.h". + +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. + +2001-04-07 Dan Winship <danw@ximian.com> + + * e-cell-tree.c (ect_event): add "break;" to otherwise-empty + "default:" cases to make them ANSI. + +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. + +2001-04-04 Christopher James Lahey <clahey@ximian.com> + + * e-tree-selection-model.c (e_tree_selection_model_change_cursor): + Call cursor_activated as well. + +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. + +2001-04-04 Christopher James Lahey <clahey@ximian.com> + + * e-tree-selection-model.c: Made this work properly for models + with 0 rows in the tree table adapter. + +2001-04-04 Christopher James Lahey <clahey@ximian.com> + + * e-tree-selection-model.c, e-tree-selection-model.h + (e_tree_selection_model_change_cursor): Added this function. + + * e-tree.c (e_tree_set_cursor): Screwed up moving the cursor a + small bit when I changed this to be faster before. Fixed it. + +2001-04-04 Christopher James Lahey <clahey@ximian.com> + + * e-tree-sorted.c: Make it so you can switch checking around the + last access on and off for tuning purposes. + + * e-tree-table-adapter.c: Apparently, ETreeTableAdapter is much + faster if the value_at function doesn't change the last_access + variable. + +2001-04-04 Christopher James Lahey <clahey@ximian.com> + + * e-tree-selection-model.c, e-tree-selection-model.h: Added + e_tree_selection_model_select_single_path and made selection_start + be the path as it should be instead of the row. + + * e-tree-sorted.c: Added a last_access variable to speed up + access. + + * e-tree-table-adapter.c: Made checking last_access look at the 10 + values before and after the listed value to look for the value + requested. + + * e-tree.c: Call e_tree_selection_model_select_single_path if + E_TREE_USE_TREE_SELECTION. + +2001-04-04 Christopher James Lahey <clahey@ximian.com> + + * e-tree-selection-model.c (etsm_row_foreach_cb): Fixed this to + not call the callback with a row of -1. + +2001-04-04 Christopher James Lahey <clahey@ximian.com> + + * e-tree.h (E_TREE_USE_TREE_SELECTION): Turn on + E_TREE_USE_TREE_SELECTION. + +2001-04-03 Richard Hult <rhult@codefactory.se> + + * e-tree-table-adapter.c (etta_proxy_node_inserted): Fixed an off + by one error. + +2001-04-03 Richard Hult <rhult@codefactory.se> + + * e-tree.c (et_get_arg): Add argument to get the table adapter. + (et_set_arg): Add arguments for setting drawing of the grid and + focus. + + * e-tree-model.c, e-tree-model.h (e_tree_model_node_traverse): + Fill in missing implementation. + (e_tree_model_node_traverse_preorder): Likewise, but preorder + traversal. + +2001-04-03 Christopher James Lahey <clahey@ximian.com> + + * e-table-header-item.c (ethi_draw): Don't draw the button if it's + less than 1 pixel wide. + + * e-tree-table-adapter.c (etta_proxy_node_inserted): Fixed a small + array overrun (wasn't causing problems, but it's best to be + correct.) + +2001-04-02 Federico Mena Quintero <federico@ximian.com> + + * e-table-click-to-add.c (finish_editing): Ahem, the ETableItem + argument is now "selection_model", not "table_selection_model". + +2001-04-02 Gediminas Paulauskas <menesis@delfi.lt> + + * e-table-config.glade, e-table-field-chooser.glade, + e-table-group.glade: Do not generate glade.h. + * e-table-field-chooser.glade.h, e-table-group.glade.h: removed. + * Makefile.am: updated. + +2001-04-02 Federico Mena Quintero <federico@ximian.com> + + * e-cell-popup.c (ecp_unrealize): Typo fix; call + e_cell_unrealize(), not e_cell_realize(). + + * e-cell-text.c (ect_event): Removed fallback "else", from "if + (edit_display)"since our planned return value is already zero and + we do need to unbuild_current_cell() instead of returning + immediately. + + * e-table-state.c (etst_destroy): Free the expansions field. + + * e-table.c (e_table_set_state_object): Do not ref the header + since we just created it! + +2001-04-01 Gediminas Paulauskas <menesis@delfi.lt> + + * e-table-config.c, e-table-field-chooser.c: replaced + glade_xml_new with glade_xml_new_with_domain. + +2001-04-01 Christopher James Lahey <clahey@ximian.com> + + * e-tree-selection-model.c: Monitor the sorted model and send + selection and cursor changed signals. + +2001-04-01 Christopher James Lahey <clahey@ximian.com> + + * e-tree-selection-model.c (etsm_foreach_all_recurse, + etsm_foreach_recurse, e_tree_selection_model_foreach): Made this + traverse the source model instead of the sorted model since the + selection model is in the order of the source model. + +2001-04-01 Christopher James Lahey <clahey@ximian.com> + + * e-tree-selection-model.c: Fixed some bugs with the privitization + of ETreeSelectionModel. + + * e-tree.c: One more required change to make it work with + E_TREE_USE_TREE_SELECTION on. + +2001-04-01 Christopher James Lahey <clahey@ximian.com> + + * Makefile.am (libetable_la_SOURCES): Added + e-tree-selection-model.c. + (libetableinclude_HEADERS): Added e-tree-selection-model.h. + + * e-tree.c, e-tree.h: Added code to use ETreeSelectionModel if the + string E_TREE_USE_TREE_SELECTION is defined. + +2001-03-31 Tambet Ingo <tambet@ximian.com> + + * e-table-scrolled.c (e_table_scrolled_new_from_spec_file): Fixed + little bug, add adjustments. + +2001-03-31 Christopher James Lahey <clahey@ximian.com> + + * e-tree.c (e_tree_init): Initialize all necessary fields here. + +2001-03-31 Christopher James Lahey <clahey@ximian.com> + + * e-tree.c (et_real_construct): Roll back another part of the + change. + +2001-03-31 Christopher James Lahey <clahey@ximian.com> + + * e-tree.c, e-tree.h: Accidently committed this with using the + tree selection model turned on. Rolled back this change. + +2001-03-31 Christopher James Lahey <clahey@ximian.com> + + * e-tree-scrolled.c: Include <gal/util/e-util.h> here. + + * e-tree-selection-model.c, e-tree-selection-model.h: Privatized + this class. Cleaned this up a bit. Added handlers for signals + from the model. + + * e-tree.c, e-tree.h: Privatized this class. + +2001-03-31 Christopher James Lahey <clahey@ximian.com> + + * e-tree-sorted.c (ets_proxy_node_inserted): Set orig_position + properly on inserted nodes. + +2001-03-31 Christopher James Lahey <clahey@ximian.com> + + * e-tree-selection-model.c (etsm_foreach_all_recurse): Made + e_tree_selection_model_foreach work. + (etsm_select_all): Made etsm_select_all work. + (update_parents): Fixed a crash. + +2001-03-31 Christopher James Lahey <clahey@ximian.com> + + * Makefile.am: Removed a bunch of unused comments. + +2001-03-31 Christopher James Lahey <clahey@ximian.com> + + * e-table-example-1.c: Removed this since it's out of date. + Replaced by tests/test-table-1.c. + +2001-03-31 Christopher James Lahey <clahey@ximian.com> + + * e-tree-selection-model.c, e-tree-selection-model.h: New + implementation based on a tree instead of a hash table. + + * e-tree-sorted.c, e-tree-sorted.h: Added + e_tree_sorted_num_children. + +2001-03-30 Radek Doulik <rodo@ximian.com> + + * e-tree.h: removed #include + <gal/e-table/e-tree-selection-model.h> + +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. + +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. + +2001-03-30 Christopher James Lahey <clahey@ximian.com> + + * e-tree-table-adapter.c (etta_proxy_node_removed): Fixed removing + the last child of a node. + +2001-03-29 Christopher James Lahey <clahey@ximian.com> + + * e-table.c, e-tree.c, e-tree.h: Updated to set the width of the + header canvas to be equal to the width of the table canvas to + avoid infinite loops. Added left arrow and right arrow as tree + collapse and expand bindings. + +2001-03-27 Christopher James Lahey <clahey@ximian.com> + + * e-tree-selection-model.c, e-tree-selection-model.h: New class + implementing a tree model. Not finished yet or in use, but I + wanted to get it checked in. + +2001-03-26 Christopher James Lahey <clahey@ximian.com> + + * e-tree-memory.c, e-tree-table-adapter.c: Updated these to match + the new e_tree_model_node_removed signal. + + * e-tree-model.c, e-tree-model.h: Added an old_position parameter + to the node_removed signal so that it would be completely + deterministic. + + * e-tree-sorted.c: Changed this so that paths keep track of their + original position. This makes sorting much faster. + +Sun Mar 25 22:31:19 2001 George Lebl <jirka@5z.com> + + * e-tree.c (e_tree_class_init): Fix gtk_signal_new arguments, INT + and POINTER were switched causing my alpha to go nuts. + +2001-03-25 Dan Winship <danw@ximian.com> + + * e-table.c (et_real_construct): ref the sort_info taken from the + state object. + * e-tree.c (et_real_construct): Ditto. Fixes the last ETree + crash-on-exit bug for me. + +2001-03-25 Christopher James Lahey <clahey@ximian.com> + + * e-table-selection-model.c, e-table-selection-model.h: Made the + parent object of this be ESelectionModelArray instead of + ESelectionModel due to their refactoring. Changed the commented + out code for saving the selection a bit. + +2001-03-25 Christopher James Lahey <clahey@ximian.com> + + * e-tree.c (item_key_press): Added '=' and '-' as tree node expand + and collapse. + +2001-03-23 Christopher James Lahey <clahey@ximian.com> + + * e-table-extras.c: Properly remove old items from the + ETableExtras if they are replaced by new objects. + +2001-03-23 Christopher James Lahey <clahey@ximian.com> + + * e-tree-sorted.c (reposition_path): Made this only up the + insert_count if it actually had to do any non constant work to + reposition the path. + +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. + +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. + +2001-03-22 Ettore Perazzoli <ettore@ximian.com> + + * e-table-sort-info.c (e_table_sort_info_init): Make the object + not FLOATING. + + * e-table-state.c (etst_destroy): Use _unref, not _destroy, to + release the `sort_info'. + +2001-03-22 Christopher James Lahey <clahey@ximian.com> + + * e-table-memory.c: Fixed the parity on all the g_return_ifs and + g_return_val_ifs. + +2001-03-22 Christopher James Lahey <clahey@ximian.com> + + * e-table-memory.c, e-table-memory.h (e_table_memory_insert): Made + this able to take -1 to denote appending to the table. Also, + removed the node_ from the name of this function. + (e_table_memory_remove): Removed the node_ from the name of this + function. + (e_table_memory_clear): New function which sets the table to + empty. + +2001-03-22 Christopher James Lahey <clahey@ximian.com> + + * e-tree-memory.c (sort_callback): Changed this to derefence the + pointers passed in from qsort as we should instead of just casting + them. + (e_tree_memory_sort_node): Set the first_child and last_child of + the node changed. + +2001-03-22 Christopher James Lahey <clahey@ximian.com> + + * e-tree-memory.c, e-tree-memory.h (e_tree_memory_sort_node): New + function to allow you to do non live sorts with weird rules. + +2001-03-22 Christopher James Lahey <clahey@ximian.com> + + * e-table-memory.c (e_table_memory_insert): Fixed the + g_return_if_fail here to allow for appending. + +2001-03-21 Ettore Perazzoli <ettore@ximian.com> + + * e-table-state.c (etst_init): Make the object a non-GTK_FLOATING + object. + +2001-03-20 Christopher James Lahey <clahey@ximian.com> + + * e-table-memory-callbacks.c, e-table-memory-callbacks.h, + e-table-memory.c, e-table-memory.h: Added these classes. + + * Makefile.am: Added e-table-memory-callbacks.c, + e-table-memory-callbacks.h, e-table-memory.c, and + e-table-memory.h. + +2001-03-20 Christopher James Lahey <clahey@ximian.com> + + * e-table.c: Fixed a typo in the word horiztonal. + +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. + +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 Miguel de Icaza <miguel@ximian.com> + + * e-table-config.c (sort_entry_changed): Use + update_sort_and_group_config dialog instead of the non-implemented + update_group_config_dialog. + (update_sort_and_group_config_dialog): Update the text correctly. + (sort_entry_changed): Handle empty string as not-in-set. + (group_entry_changed): Handle empty string as not-in-set. + (config_class_init): Fix the signal declaration for "changed", + this was sending the wrong information. + (update_sort_and_group_config_dialog): Use group_info here, not sort_info + + * e-table-header-item.c (ethi_popup_customize_view): Changed to + use the "changed" signal in the ETableConfig instead of + promiscously using the "apply" from the PropertyBox + + * e-table-config.glade: Set Hide On Close to yes for the Group-By + dialog. + + The groups for Radio Buttons in the Glade file are global, which + caused all sorts of strange behaviour and really hard to debug + problems. This should be now fixed + +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 Kjartan Maraas <kmaraas@gnome.org> + + * e-cell-combo.c: Added #include <string.h> for strcmp(). + * e-table-header-utils.c: Same for strlen(). + + +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-15 Miguel de Icaza <miguel@ximian.com> + + * e-table-state.c (etst_destroy): Release ->sort_info. + +2001-03-15 Dan Winship <danw@ximian.com> + + * 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! + +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 + +2001-03-07 Ettore Perazzoli <ettore@ximian.com> + + * e-table.c (e_table_compute_location): Removed. + (e_table_get_cell_at): New, public function exporting the same + functionality. + (et_drag_motion): Use `e_table_get_cell_at()' instead of + `e_table_compute_location()'. + (et_drag_drop): Likewise. + (et_drag_data_received): Likewise. + (e_table_drag_source_event_cb): Likewise. + +2001-03-04 Damon Chaplin <damon@ximian.com> + + * e-cell-text.c: added "editable" Arg, to stop the user from editing + the text. The user can still select the text, though. The "editable" + Arg is useful for ECellCombo where we want the user to select an item + in the popup but not edit the field itself. + + * e-cell-combo.c: updated to select the matcing item before it pops up + the list. + +2001-03-01 Vladimir Vukicevic <vladimir@ximian.com> + + * e-cell-pixbuf.c, e-cell-pixbuf.h, Makefile.am, + Makefile.am, e-table-extras.c: Added new ECellPixbuf -- + takes a GdkPixbuf from the model and renders it centered + in the table cell. + + +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. + +2001-03-01 Christopher James Lahey <clahey@ximian.com> + + * e-cell-pixbuf.c: Fixed some warnings. + + * e-table-subset.c, e-table-subset.h: Added + e_table_subset_print_debugging. + +2001-02-27 Christopher James Lahey <clahey@ximian.com> + + * e-table-sorted-variable.c: Moved etsv_compare to etsu_compare in + e-table-sorting-utils.c. Moved most of the contents of etsv_add + to e_table_sorting_utils_insert in e-table-sorting-utils.c and + call the function. + + * e-table-sorted.c: Rewrote ets_proxy_row_changed, + ets_proxy_row_inserted, and ets_proxy_row_deleted. + + * e-table-sorting-utils.c, e-table-sorting-utils.h (etsu_compare, + e_table_sorting_utils_insert): Added e_table_sorting_utils_insert. + + * e-table-subset-variable.c: Changed this implementation to be + slightly more consistent with other code. + +2001-02-26 Ettore Perazzoli <ettore@ximian.com> + + * e-table.c (et_disconnect_model): Only disconnect if the model is + non-zero, and only if the IDs are actually non-zero. + +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] + +2001-02-23 Christopher James Lahey <clahey@ximian.com> + + * Makefile.am (libetable_la_SOURCES): Added + e-table-sorting-utils.c. + (libetableinclude_HEADERS): Added e-table-sorting-utils.h. + + * e-table-group-container.c: Implemented add_array method. Use + add_array to implement add_all instead of using add. Did some + general clean up. + + * e-table-group-leaf.c, e-table-group-leaf.h: Implemented + add_array method. Changed everything to use an ETableSubset + variable instead of an ETableSortedVariable. Implemented it as + ETableSortedVariable if there's grouping involved and ETableSorted + if there isn't. + + * e-table-group.c, e-table-group.h: Added add_array method. Added + unused get_position code. + + * e-table-sorted-variable.c, e-table-sorted-variable.h: Moved a + lot of the actual implementation of sorting to + e-table-sorting-utils.c. Got rid of the signal handlers here + since we weren't using them and ETableSubset has the proxy virtual + methods. + + * e-table-sorted.c, e-table-sorted.h: Completely replaced these + files with a variation on ETableSortedVariable that doesn't have + the add methods and such but instead just mimics the source + model's set of rows completely. + + * e-table-sorter.c, e-table-sorter.h: Added functions to get at + the arrays here. + + * e-table-sorting-utils.c, e-table-sorting-utils.h: Utility + functions for doing sorting. + + * e-table-subset-variable.c, e-table-subset-variable.h: Added + add_array method. + + * e-table-subset.c, e-table-subset.h: Made it so that the signal + hookups to the source model's signals are virtual methods. + + * e-table.c, e-table.h: Don't call add_all and add and remove type + functions if not grouped. Don't rebuild for sort changes unless + it was either grouped before or will be grouped now. + +2001-02-22 Christopher James Lahey <clahey@ximian.com> + + * e-tree-model.c: Added a bunch of g_return_if_fails. + +2001-02-20 Christopher James Lahey <clahey@ximian.com> + + * e-cell.c (e_cell_draw): Added some g_return_if_fails here. + +2001-02-20 Chris Toshok <toshok@ximian.com> + + * e-tree-model.c: add some more (mostly empty) api docs. + (e_tree_model_node_changed): pass the node in the "node_changed" + signal. + (etree_destroy): e_tree_model_node_remove our root node here to + free up the tree's storage. + +2001-02-19 Christopher James Lahey <clahey@ximian.com> + + * Makefile.am: Removed e-table-text-model.c and + e-table-text-model.h. + + * e-table-text-model.c, e-table-text-model.h: Moved these to + gal/e-text/. + + * e-cell-text.c: Changed the include line for + e-text-event-processor.h and e-text-event-processor-emacs-like.h. + +2001-02-17 Rusty Conover <rconover@zootweb.com> + + * e-cell-tree.c (ect_max_width): Change the calculation of the + maximum with of tree cell, from O(n^2) to O(n), we don't need to + continually recalculate the maximum width of the subcells when + calculating the width of every row. + +2001-02-17 Christopher James Lahey <clahey@ximian.com> + + * e-table.c (et_real_construct): Removed setting of invalid + "horizontal_scrolling" argument. + + * e-table-column-model.h: Removed this as it is not used. + +2001-02-17 Christopher James Lahey <clahey@ximian.com> + + From a patch submitted by Murray Cumming <Murray.Cumming@mybau.com> + + * e-cell-checkbox.h, e-cell-date.h, e-cell-number.h, + e-cell-size.h, e-cell-text.h, e-cell-toggle.h, e-cell-tree.h, + e-cell.h, e-table-click-to-add.h, e-table-col-dnd.h, + e-table-col.h, e-table-column-specification.h, + e-table-config-field.h, e-table-config.h, e-table-defines.h, + e-table-extras.h, e-table-field-chooser-item.h, + e-table-group-container.h, e-table-group-leaf.h, e-table-group.h, + e-table-header-item.h, e-table-header-utils.h, e-table-header.h, + e-table-item.h, e-table-model.h, e-table-one.h, + e-table-selection-model.h, e-table-simple.h, e-table-sort-info.h, + e-table-sorted-variable.h, e-table-sorted.h, e-table-sorter.h, + e-table-specification.h, e-table-state.h, + e-table-subset-variable.h, e-table-subset.h, e-table-tooltip.h, + e-table-tree.h, e-tree-model.h, e-tree-simple.h, + e-tree-sorted-variable.h: Added GNOME_DECLS. + +2001-02-15 Christopher James Lahey <clahey@ximian.com> + + * e-table-selection-model.c + (e_table_selection_model_do_something): Made it so that if you set + the row or col to something not equal to -1, it makes sure that + the other one is also not equal to -1. + +2001-02-13 Christopher James Lahey <clahey@ximian.com> + + * e-table-header.c, e-table-header.h + (e_table_header_update_horizontal): This new function updates the + minimum width of all of the columns based on the data contained in + that column. + + * e-table.c, e-table.h (changed_idle): Added a + horizontal_scrolling field. Call e_table_header_update_horizontal + if the model changes at all and horizontal_scrolling is set to TRUE. + +2001-02-13 Christopher James Lahey <clahey@ximian.com> + + * e-table-scrolled.c (e_table_scrolled_real_construct): Set policy + of scrolled window to be automatic/automatic. + + * e-table-specification.c, e-table-specification.h (etsp_init): + Added a horizontal-scrolling attribute. + +2001-02-13 Christopher James Lahey <clahey@ximian.com> + + * e-table-item.c (eti_destroy): Fix the crash when ETableItems are + destroyed. + +2001-02-11 Christopher James Lahey <clahey@ximian.com> + + * e-table-selection-model.c (change_one_row): Fix selection so + that changing a model row equal to 31 mod 32 works. + +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. + +2001-02-08 Dan Winship <danw@ximian.com> + + * e-table-sorter.c (ets_set_arg): Add a missing gtk_object_ref. + +2001-02-08 Christopher James Lahey <clahey@ximian.com> + + * e-cell-number.c (ecn_get_text): Use e_format_number. + +2001-02-08 Christopher James Lahey <clahey@ximian.com> + + * e-table.c (e_table_setup_header): Set the dnd_code on the header + properly. + +2001-02-08 Christopher James Lahey <clahey@ximian.com> + + * e-tree-model.c, e-tree-model.h (e_tree_model_show_node): Added + this function. Made frozen an int so that recursive freezes and + thaws behaves properly. + +2001-02-06 Christopher James Lahey <clahey@ximian.com> + + * e-cell-date.c (ecd_get_text): Change encoding from locale + encoding to utf8. + +2001-02-05 Christopher James Lahey <clahey@helixcode.com> + + * e-table-header-item.c: Changed the text to pop up the Field + Chooser. + +2001-02-05 Christopher James Lahey <clahey@helixcode.com> + + * e-table-config.c, e-table-config.h (dialog_apply): Added a + "changed" signal. + + * e-table-sort-info.c, e-table-sort-info.h + (e_table_sort_info_duplicate): Added this function. + + * e-table.c (e_table_set_state_object): Duplicate the state's + sort_info object here. + +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. + +2001-02-02 Not Zed <NotZed@Ximian.com> + + * e-table-selection-model.c (model_row_deleted): Dont overwrite + the end of our bitmap array. + + +2001-02-03 Ettore Perazzoli <ettore@ximian.com> + + * e-table-sorter.c: Make `vals_closure', `cols_closure', + `ascending_closure' and `compare_closure' static! + +2001-02-02 Not Zed <NotZed@Ximian.com> + + * e-cell-tree.c (ect_draw): If we are drawing a top-level tree + node, without any children then dont offset it for the expansion + image it doesn't need. + +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. + +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. + +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. + +2001-01-29 Christopher James Lahey <clahey@ximian.com> + + * Makefile.am: Added e-cell-number.c and e-cell-number.h. + + * e-cell-number.c, e-cell-number.h: A new cell for rendering + numbers. + + * e-table-extras.c (ete_init): Added a default number cell. Made + the default size cell right aligned. + +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. + +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. + +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.) + +2001-01-25 Federico Mena Quintero <federico@ximian.com> + + * e-table.c (e_table_init): Set the GTK_CAN_FOCUS flag on the + widget, since an ETable ought to be focusable. + (e_table_class_init): Override ::grab_focus() and ::focus(). + (et_grab_focus): Since people may do gtk_widget_grab_focus() on + the ETable, we have to proxy the request to the actual focusable + canvas. + (e_table_setup_header): Unset GTK_CAN_FOCUS for the header canvas. + (et_focus): Reject focus if our child canvas already had it. + + * e-table-scrolled.c (e_table_scrolled_init): Set the + GTK_FOCUS_FLAG on the widget. This is just so that people can + easily do gtk_widget_grab_focus (my_e_table_scrolled) on their own + applications. + (e_table_scrolled_class_init): Override ::grab_focus() and + ::focus(). + (ets_grab_focus): Proxy the grab_focus to our child ETable. + (ets_focus): Proxy the request to the child ETable. + +2001-01-25 Christopher James Lahey <clahey@helixcode.com> + + * e-table-selection-model.c (move_selection): Made this correctly + check for going off the end of the table. + +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. + +2001-01-21 Christopher James Lahey <clahey@helixcode.com> + + * e-table-selection-model.c: Made the cursor move when rows are + inserted or deleted. If in single mode and the selected row gets + removed, move it up. + +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. + +2001-01-20 Iain Holmes <iain@ximian.com> + + * e-cell-text.c (ect_show_tooltip): Unref some stuff if we're not + showing the tip. Fix a bigish memory leak. + +2001-01-19 Miguel de Icaza <miguel@gnu.org> + + * e-table-config.c (group_entry_changed, group_ascending_toggled): + New methods. + (configure_group_dialog): New function, sets up the group GUI. + (e_table_config_construct): Populate column names here and use in + configure_group_dialog and configure_sort_dialog + + (sort_entry_changed, sort_ascending_toggled): renamed from + entry_changed, ascending_toggled. + +2001-01-18 Miguel de Icaza <miguel@gnu.org> + + * e-table-config.c (configure_sort_dialog): Keep track of the + valid column names (not used right now). + (config_destroy): release column names + (entry_changed): Handle invalid input to mean "Next entry is + grayed out". + + * e-table-header-item.c (ethi_popup_customize_view): Hook up to + the "apply" signal on the dialog box to apply the changes. + (apply_changes): New function to apply the changes from the + ETableConfig object. + + * e-table-sort-info.c (e_table_sort_info_load_from_node): Notify + of sort info changes. + + * e-table-header-item.c: Swapped the way arrows were done, so that + they actually match the sorting that its expected. + + * e-table.c: Added inline documentation for a few methods. + + * e-table-config.h: Dropped ::spec, and temp_spec, we always use + ::source_spec, as we never modify this variable. + +2001-01-18 Federico Mena Quintero <federico@ximian.com> + + * e-table-subset.c (etss_destroy): Disconnect from the + etss->source's signals *before* we unref it. + + * e-table-group-container.c (e_table_group_apply_to_leafs): Ref() + and unref() around the callback to protect ourselves from being + unrefed in the middle of iterating through the nodes. + +2001-01-18 Miguel de Icaza <miguel@gnu.org> + + * e-table-config.c (find_model_column_by_name): New function. + (update_sort_config_dialog): Massive update to this function, it + is almost complete now, it just needs a few cosmetic touchups. + (config_sort_config_show): Get the main interaction working as + well. + (config_group_info_update): Beautify. + (entry_changed): Do all the magic for the GUI for entries. + (ascending_toggled): Implement callback. + (configure_sort_dialog): Do also descending. + (configure_sort_dialog): Hook up changed/toggled. + + * e-table-config.h: Put all the configuration stuff for sorting + into its own structure to pass around funny functions. + +2001-01-17 Miguel de Icaza <miguel@gnu.org> + + * e-table-specification.c (e_table_specification_duplicate): + Remove annoying printf. A clean output is a good output. + +2001-01-17 Dave Camp <dave@ximian.com> + + * e-table-config.c: Removed #inclusion of e-table-config-field.h. + +2001-01-17 Miguel de Icaza <miguel@gnu.org> + + * e-table-header-item.c: Use e-i18n.h here. + + * e-table.c (et_col_spec_to_col): Use gettext here. + (et_real_construct): Use gettext too. + (et_col_spec_to_col): Use gettext here. + + * e-cell-date.c: Use e-i18n.h here. + + * e-table-config.c (config_sort_info_update): Simplify column + grabbing code and drop item layout code. + (config_group_info_update): ditto. + + * e-table-config.c: Get correct translation setup working. + +2001-01-16 Miguel de Icaza <miguel@gnu.org> + + * e-table-config.c (configure_sort_dialog): Load frames. + + * Kill e-table-config-field.c + + * e-table-specification.c (e_table_specification_save_to_file): + Specify version to xmlNewDoc. + + * e-table-state.c (e_table_state_save_to_string): Specify version + to xmlNewDoc. + + * e-table-config.c (config_destroy): Destroy the copies. Unref + the originals. + (e_table_config_construct): Duplicate values of configuration + here. + (configure_sort_dialog): New function that populates the sort gtk + combo boxes. + + * e-table.c (et_col_spec_to_col): Fixup use of title here. Do the + actual translation here. + + * e-table-column-specification.c: Remove title_, it is now called + title. Translation needs to take place elsewhere, not here + + * e-table-specification.c (e_table_specification_duplicate): Add + preconditions here. + (e_table_specification_save_to_node): ditto. + (e_table_specification_save_to_string): ditto. + (e_table_specification_save_to_file): ditto. + + * e-table-state.c (e_table_state_duplicate): Implement. + + * e-table-config.glade (dialog_sort): Change drop down menus to + use GtkComboText widgets. + + * e-table-config.c (configure_dialog): New function, used to set + up dialogs. + +2001-01-16 Christopher James Lahey <clahey@helixcode.com> + + * e-table-config.c: Added a bit of documentation. + (config_sort_config_show, config_group_config_show): + gnome_dialog_set_parent on the config->dialog_toplevel instead of + the config. + + * e-table-specification: Pass "1.0" instead of NULL to xmlNewDoc + here. + + * e-table-state.c, e-table-state.h: Pass "1.0" instead of NULL to + xmlNewDoc here. Make sure that sort_info is never NULL if this + object exists. Added ETableStateDuplicate. + +2001-01-15 Miguel de Icaza <miguel@ximian.com> + + * e-table-config.c (config_fields_info_update): Make output + pretier by using newlines when there is a lot of information to + display. + (config_group_info_update): ditto. + (config_sort_info_update): ditto. + + (config_group_info_update): Simplify + signature. + (config_sort_info_update): Simplify signature. + (config_fields_info_update): Implement. + (e_table_config_construct): Hook up field change spec. + + * e-table-header-item.c (config_destroyed): Add new utility + function. + + * e-table-config.c (config_group_info_update): Simpify routine by + using g_string. Show a message if there is no grouping. + + * e-table-config.c: Made e-table-config dialog be a + GnomePropertyBox. + + * e-table-header-item.c (ethi_popup_customize_view): Use the new + api. + + * e-table-config.c (config_sort_info_update): Simplify this + routine. Fix bug that was not showing "unsorted" state. + (setup_gui): Load XML user interface here. + (config_init): Use Glade instead of manually coded user interface. + (e_table_config_raise): New api call. + +2001-01-15 Miguel de Icaza <miguel@gnu.org> + + * e-table-specification.c: Document all entry points. + (e_table_specification_save_to_file): Change prototype to return + the number of bytes written. + (e_table_specification_duplicate): + Implement a function to duplicate nodes. + (e_table_specification_save_to_node): Implement missing function. + (e_table_specification_save_to_file): Enable. + (e_table_specification_save_to_string): Enable. + (e_table_specification_load_from_node): Just load the normal + version of the click-to-add-message version, let other code + translate it. + (e_table_specification_load_from_string): Alter prototype to + return success code. + + * e-table-specification.h: Do not store the translated version, + store the plain version, so we can restore this later during the + saving routines. + + * e-table.c (et_real_construct): Translate click to add message here. + + + * e-table-header-item.c: Destroy config object if we are + destroyed. + +2001-01-15 Christopher James Lahey <clahey@ximian.com> + + * Makefile.am: Added e-cell-date.c, e-cell-date.h, e-cell-size.c, + and e-cell-size.h. + + * e-cell-date.c, e-cell-date.h: New cell to implement displaying a + date. + + * e-cell-size.c, e-cell-size.h: New cell to implement displaying a + file size. + + * e-cell-text.c, e-cell-text.h: Got rid of the filter arguments. + Replaced them with the ability to subclass ECellText and override + the get_text method. Added free_text to override if your get_text + implementation returns allocated memory. + + * e-table-extras.c (ete_init): Added "size" and "date" cells to + the default ETableExtras. + +2001-01-14 Miguel de Icaza <miguel@ximian.com> + + * e-table-config.h: Change parent to be a GtkObject from + GnomeDialog. + +2001-01-12 Miguel de Icaza <miguel@ximian.com> + + * e-cell-text.c (key_begins_editing): New function. Tells whether + a key should begin editing. + (ect_event, GDK_KEY_PRESS/RELEASE): check whether we should start + editing. + + (e_cell_text_set_filter): Implement new function + API. Remove Gtk arguments for this. + (ect_height): Pass all the extra information Dan requested. + (ect_print): Pass all the extra information Dan requested. + (build_current_cell): ditto. + + * e-table-header-item.c (ethi_change_sort_state): Moved the + sort-on-click logic to its own function. + + * e-table-sort-info.c (e_table_sort_info_freeze): Increment frozen + rather than setting to 1. + (e_table_sort_info_thaw): Decrement frozen instead of setting to 0 + to allow recursive freezing. + (e_table_sort_info_freeze): Add inline docs. + (e_table_sort_info_thaw): Add inline docs. + +2001-01-12 Christopher James Lahey <clahey@helixcode.com> + + * e-cell-text.h, e-cell-text.h: Changed the filter function back + to being args to be more consistent with the rest of the object. + +2001-01-11 Christopher James Lahey <clahey@helixcode.com> + + * e-table-selection-model.c, e-table-selection-model.h: Added + selection_mode argument. + + * e-table-specification.c, e-table-specification.h: Added a + selection_mode field that is set based on the selection-mode + attribute in the ETableSpecification element. + + * e-table.c (et_real_construct): Set the selection model's + selection mode based on the ETableSpecification. + +2001-01-10 Christopher James Lahey <clahey@helixcode.com> + + * e-table-click-to-add.c: Made this the same size as an ETableItem + with all text items. Made the background color white. These need + to be made themeable. + +2001-01-10 Christopher James Lahey <clahey@helixcode.com> + + * e-table-state.c, e-table-state.h: Added expansions field and + loading and saving of that field. + + * e-table.c: Load and save expansion data. + +2001-01-10 Christopher James Lahey <clahey@helixcode.com> + + * e-tree-sorted-variable.c, e-tree-sorted-variable.h: Unfinished + sorted variable model for ETree. + +2001-01-06 Christopher James Lahey <clahey@helixcode.com> + + * e-table-sorter.c, e-table-sorter.h (ets_sort): Fixed sorting. + needs_sorting was getting set to 0 when sorted happens, but + needs_sorting tells you whether or not the sorter is sorted or + not, not whether the sorting has happened. Documented the + needs_sorting variable. + +2000-12-27 Christopher James Lahey <clahey@helixcode.com> + + * e-cell-text.c (ect_draw, ect_event): Removed a bunch of unused + code. + +2000-12-25 Miguel de Icaza <miguel@helixcode.com> + + * e-cell-text.c (ect_show_tooltip): Set draw_background to FALSE. + + * e-table-group-container.c (etgc_add): ditto. + + * e-table-click-to-add.c (etcta_realize): ditto. + (e_table_click_to_add_commit): ditto. + +2000-12-24 Chris Toshok <toshok@helixcode.com> + + * e-cell-tree.c: add api docs. + + * e-tree-simple.c: add api docs. + +2000-12-23 Christopher James Lahey <clahey@helixcode.com> + + * e-table-col.c, e-table-col.h (etc_destroy): Destroy text and + pixbuf if they exist whether or not is_pixbuf is set. + (e_table_col_new_with_pixbuf): Make new_with_pixbuf take a title + argument which is for when you can't display pixmaps. + + * e-table-column-specification.c + (e_table_column_specification_load_from_node): Don't translate the + pixbuf string attribute. + + * e-table-sort-info.c, e-table-sort-info.h + (e_table_sort_info_load_from_node): Added a state_version + parameter to the load_from_node function. This lets the loader + specify which version of ETableState is being processed. If it's + less than .05, use the old nested version. If it's greater, use + the new flat version. + (e_table_sort_info_save_to_node): Changed this to store a list of + group and leaf nodes instead of nesting the group nodes and leaf + nodes one inside the other. This is much easier to understand and + requires less typing when creating a new ETableSpecification's + initial ETableState. + + * e-table-state.c: Changed the state-version parameter to 0.1. + (e_table_state_load_from_node): Use + e_xml_get_double_prop_by_name_with_default so that we can specify + a state-version default of 0.1 for people writing ETableStates by + hand. Pass the state-version to e_table_sort_info_load_from_node. + + * e-table.c (et_col_spec_to_col): Pass the title from the + ETableColumnSpecification to the ETableCol even if it's a pixbuf + column. + +2000-12-19 Christopher James Lahey <clahey@helixcode.com> + + * e-table-group-container.c (etgc_add): Set the minimum width of + newly created children. + (e_table_group_container_construct): Use function + e_table_header_get_column_by_col_idx instead of + e_table_header_get_column since we're passing in a col_idx. + + * e-table-header.c, e-table-header.h: New function + e_table_header_get_column_by_col_idx which searches for a column + in the ETableHeader with a certain model column (col_idx). + + * e-table-sorted-variable.c (etsv_compare), + (etsv_sort), e-table-sorter.c (ets_sort): Use function + e_table_header_get_column_by_col_idx instead of + e_table_header_get_column since we're passing in a col_idx. + +2000-12-14 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 set cursor and get + cursor methods from ETableGroup. + + * e-table.c (e_table_get_cursor_row, e_table_set_cursor_row): + Changed this to use the ETableSelection directly instead of going + through the grouping structure. This seems to fix a bug in + evolution's folder list for some people. + +2000-12-14 Chris Toshok <toshok@helixcode.com> + + * e-cell-text.c (ect_show_tooltip): call set_style and use the + appropriate style for the text to determine if the tooltip should + be shown. + +2000-12-14 Christopher James Lahey <clahey@helixcode.com> + + * e-table-item.c (eti_realize): Commented out an unused variable + to fix a warning. + +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. + +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. + +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. + +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. + +2000-12-13 Chris Toshok <toshok@helixcode.com> + + * e-cell-tree.c (ect_event): only return TRUE in the BUTTON_PRESS + case if the node was expandable. + +2000-12-13 Chris Toshok <toshok@helixcode.com> + + * e-table-sorter.c (qsort_callback_complex), + (ets_sort_build_subset), (ets_sort_subset), + (ets_sort_free_subset), (sort_groups_compare), + (ets_sort_by_group): cut&paste from e-table-sorted-variable.c and + massage names a bit to make sort group sorting work. + (ets_sort): if the ETableModel has sort groups, sort using the + sort group. + +2000-12-11 Dan Winship <danw@helixcode.com> + + * e-table-item.c (eti_event): Emit double_click signal with the + model column, not the view column. + +2000-12-11 Christopher James Lahey <clahey@helixcode.com> + + * e-cell-text.c (ect_draw): Made selected rows ignore their color + specification. + +2000-12-09 Federico Mena Quintero <federico@helixcode.com> + + * e-table-sorted.c (e_table_sorted_new): Unref the object instead + of destroying it. + + * e-table-sorted-variable.c (e_table_sorted_variable_new): Likewise. + + * e-table-subset.c (e_table_subset_new): Likewise. + + * e-table-subset-variable.c (e_table_subset_variable_new): Likewise. + +2000-12-09 Christopher James Lahey <clahey@helixcode.com> + + * e-cell-text.c (_blink_scroll_timeout): Split the lines in this + cell before testing whether we're to the right of the right edge + of the text data (since that test uses the split lines.) + +2000-12-09 Christopher James Lahey <clahey@helixcode.com> + + * e-cell-text.c (_blink_scroll_timeout): cell should be edit cast + to a CurrentCell, not data cast to a CurrentCell. Fixed this. + +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. + +2000-12-08 Miguel de Icaza <miguel@helixcode.com> + + * e-table-col.h: Arranged to get it to work with gtk-doc. + + * e-cell.h: Arranged to get it to work with gtk-doc. + + * doc: Added gtk-doc framework + +2000-12-08 JP Rosevear <jpr@helixcode.com> + + * e-table-state.c (etst_destroy): If there are columns allocated, + free them upon a destroy. + +2000-12-07 Federico Mena Quintero <federico@helixcode.com> + + * e-table-state.c (e_table_state_save_to_string): Free the xmlDoc + when we are done with it. + (e_table_state_save_to_file): Ditto. + + * e-table.c (e_table_get_state): Unref the state object; why was + it being sunk instead? + (e_table_save_state): Ditto. + (e_table_load_state): Ditto. + (e_table_set_state): Ditto. + + * e-table-header-item.c (ethi_destroy): Free the ethi->dnd_code. + +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". + +2000-12-07 Chris Toshok <toshok@helixcode.com> + + * e-table.c (e_table_set_state_object): set "sort_info" on our + sorter when we get a new sort_info to keep things in sync. + + * e-table-sorter.c (ets_set_arg): new function, allowing the + setting of "sort_info". + (ets_get_arg): new function, allowing the getting of "sort_info". + (ets_class_init): fill in GtkObject::set_arg and get_arg. + (ets_sort): set ets->needs_sorting to 0 so we don't sort + unnecessarily. + (e_table_sorter_model_to_sorted): we may have ets->backsorted (and + should use it if we do) even if we didn't need to sort. + (e_table_sorter_sorted_to_model): same, except ets->sorted. + +2000-12-06 Dan Winship <danw@helixcode.com> + + * e-table.c (e_table_set_state_object): disconnect the + "group_info_changed" signal on the old sort_info and connect it to + the new one. (Noticed because of a gtk warning in et_destroy, but + probably fixes some actual bug(s) too.) + +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. + +2000-12-06 Christopher James Lahey <clahey@helixcode.com> + + * e-table-header-utils.c: Fixed warning in compute_elision_length. + + * e-table-header.c, e-table-header.h: Removed + e_table_header_selection_ok method here. + +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. + +2000-12-05 JP Rosevear <jpr@helixcode.com> + + * e-tree-model.c (e_tree_model_node_remove): Move the correct + offset when memmoving. Patch provided by Richard Hult + <rhult@hem.passagen.se>. + +2000-12-04 Chris Toshok <toshok@helixcode.com> + + * e-table-selection-model.c (e_table_selection_model_select_all): + need to zero out the bits corresponding to the rows not selected + in the last full 32 bit mask. This fixes a crash in the subscribe + UI (or potentially anywhere that uses + selection_model_select_all/selection_model_foreach.) + +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]. + +2000-11-25 Miguel de Icaza <miguel@helixcode.com> + + * e-cell.c: Documented. + +2000-11-25 Christopher James Lahey <clahey@helixcode.com> + + * e-table-col.c: Removed e_table_col_get_arrow and + e_table_col_set_arrow. + +2000-11-24 Miguel de Icaza <miguel@helixcode.com> + + * e-cell-toggle.c (etog_queue_redraw): Documented. + + * e-cell-text.c: Removed list of unused arguments. Add docs. + + * e-cell-checkbox.c (e_cell_checkbox_new): Add docs. + + * e-table-simple.c (e_table_simple_new): Add docs. + + * e-table-header.c: inline documentation added. + + * e-table-col.c Added inline documentation. + + * e-table-model.c: Added some inline documentation. + +2000-11-21 Federico Mena Quintero <federico@helixcode.com> + + * e-cell.c (e_cell_event): Do not ignore the return value from + ECell::event(); return it instead. + + * e-cell-tree.c (ect_event): Use the return value from e_cell_event(). + * e-table-item.c (eti_event): Likewise. + +2000-11-06 Christopher James Lahey <clahey@helixcode.com> + + * e-table-header-item.c: Changed this to match the new EPopupMenu + structre. + +2000-11-03 Not Zed <NotZed@HelixCode.com> + + * e-tree-model.c (e_tree_model_node_insert): Since we insert at + the parent->child position, we need to account for expanded nodes + above this node to properly calculate the absolute row position of + the node. + (e_tree_model_node_insert): If we're inserting at the end of this + node, then we just use the position directly. + (e_tree_model_node_remove): Completely rewritten. Now we delete + all nodes at once, which should be >> faster, unfortunately still + have to signal each removal, which is >> SLOW :( Its still about + 2-3x faster than it was (for 25K nodes). + (child_free): Free all data/subnodes of a given path, no + unlinking. + (e_tree_model_node_remove): If we are removing a lot of nodes + [>1000 or >1/4 total nodes], then use model_changed, rather then + removing each node. Yay. Now its about 500x faster than it was, + for 25K nodes. + (etree_pre_change): Signal handler, so we can find out when we are + in a pre-change state. + (etree_changed): Likewise to find when we have finished. + (e_tree_model_construct): Link to the model*changed signals so we + know when we are in pre/changed state. + (e_tree_model_node_insert): Only perform a row_inserted if not in + pre_change state. Another significant speed improvement (200-500%) + on big trees. + (e_tree_model_node_remove): Do not emit row_deleted (or + model_changed), if we are in the pre_change state. + (add_visible_descendents_to_array): Likewise for row_inserted. + (e_tree_model_node_sort): And here too, for consistency. + +2000-11-03 Christopher James Lahey <clahey@helixcode.com> + + * e-table-selection-model.c: Turned on proper handling of insert + and delete. + +2000-11-02 Christopher James Lahey <clahey@helixcode.com> + + * e-table-config.glade, e-table-config.glade.h: Updated these + unused glade files to better match the versions in the code. + + * e-table.c, e-table.h: Added e_table_selected_count and + "selection_change" signal. + + * e-tree-model.c: Fixed an out of order + +2000-10-27 Not Zed <NotZed@HelixCode.com> + + * e-tree-model.c (e_tree_model_node_insert): If we are inserting + into the root level, we dont have to search the whole array for a + parent node we'll never find. + +2000-10-25 Dan Winship <danw@helixcode.com> + + * e-table-scrolled.c: Add "click" to the list of etable signals we + proxy. + +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. + +2000-10-25 Chris Toshok <toshok@helixcode.com> + + * e-tree-model.c (e_tree_model_node_remove): remove the save_id + here, so we don't save state for nodes that no longer exist. + (etree_destroy): remove the foreach, since all the save_id's + should have been removed by now (don't destroy a tree without + destroying the root node.) also, make sure to call + g_hash_table_destroy. + +2000-10-24 Chris Toshok <toshok@helixcode.com> + + * e-tree-model.c: make ETreeModel opaque, and switch from using + g_new0 and g_free for ETreePath's to using g_mem_chunk routines. + (e_tree_model_node_remove): free the path's save_id. * + (e_tree_model_set_expanded_default): add method to add default + expanded status for parent nodes. + (etree_set_expanded_recurse): make this more efficient. + e-tree-model.h: make ETreeModel opaque. add prototype for + e_tree_model_set_expanded_default. + +2000-10-23 Christopher James Lahey <clahey@helixcode.com> + + * e-table-item.c: Destroy the tooltip timeout on object + destruction. + +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). + +2000-10-21 Christopher James Lahey <clahey@helixcode.com> + + * e-table-sorted-variable.c: Made it so that rows inserted with + their children nodes already in the tree get placed before their + children nodes instead of after. + +2000-10-20 Christopher James Lahey <clahey@helixcode.com> + + * e-table.c, e-table.h: Added e_table_set_state_object which loads + the state from the given ETableState object. + +2000-10-19 Dan Winship <danw@helixcode.com> + + * e-table-sorted-variable.c (etsv_destroy): Remove insert_idle + timeout. + +2000-10-18 Christopher James Lahey <clahey@helixcode.com> + + * e-table-state.c: Switched to saving the version as a double + instead of a string. + +2000-10-18 Christopher James Lahey <clahey@helixcode.com> + + * e-table-field-chooser-item.c, e-table-field-chooser-item.h: + Fixed ETableFieldChooser row heights a bit. + + * e-table-header-item.c: Formatting clean up. + + * e-table-state.c: Added saving of the version of the ETableState. + This way, if we change the format of an ETableState, we can detect + old version numbers. + +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. + +2000-10-18 Christopher James Lahey <clahey@helixcode.com> + + * e-table-subset.c, e-table-subset.h: Sped up signal propogation. + +2000-10-18 Christopher James Lahey <clahey@helixcode.com> + + * e-table.c: Fixed the color of the background rectangle. Made + the rectangle start at the bottom of the table so that the row + lines are still there. + +2000-10-18 Christopher James Lahey <clahey@helixcode.com> + + * e-table.c: Make background color of ETable match the background + color of item rows. + +2000-10-18 Christopher James Lahey <clahey@helixcode.com> + + * e-table-field-chooser-dialog.h: Removed an unnecessary glade + include file. + + * e-table-field-chooser.c: Make sure that glade is initialized. + + * e-table.c, e-table.h: Added a white background to the ETable. + +2000-10-18 Christopher James Lahey <clahey@helixcode.com> + + * Makefile.am: Moved the glade file directories. + + * e-table-header-item.c: Removed an unused variable. + +2000-10-16 Iain Holmes <iain@helixcode.com> + + * e-table-header-item.c (e_table_header_item_get_height): New function + that works out the height of the header from the max height of the + buttons. + (ethi_add_table_header): Recalc the height of the header. + (ethi_font_set): Ditto. + (draw_button): Only draw the arrow if there's enough room. + +2000-10-16 Christopher James Lahey <clahey@helixcode.com> + + * e-table-header-item.c: Reworked some of the height stuff? + +2000-10-15 Christopher James Lahey <clahey@helixcode.com> + + * e-table.c: Made it so that ETable won't use a state with 0 + columns. + +2000-10-15 Chris Toshok <toshok@helixcode.com> + + * e-tree-model.c (e_tree_model_node_traverse): get the next child + before traversing/calling func. + +2000-10-15 Chris Toshok <toshok@helixcode.com> + + * e-tree-model.c: get rid of ENode type, as everything in it is + now in ETreePath, and add parent/sibling/child pointers to + ETreePath. everywhere where GNode/ENode were used, we just use + ETreePath now. + (e_tree_path_depth): new function. + (e_tree_path_insert): new function. + (e_tree_path_unlink): new function. + (e_tree_model_node_traverse): new function. + (etree_get_first_child): new virtual function impl. + (etree_get_last_child): same. + (e_tree_model_class_init): fill in function pointers for + get_first_child/get_last_child. + (e_tree_model_node_get_first_child): new function. + (e_tree_model_node_get_last_child): new function. + (e_tree_model_node_depth): g_node_depth -> e_tree_path_depth. + (e_tree_model_node_insert): modify to use ETreePath and new + e_tree_path functions. Prepends and appends are now both constant + time. + (child_remove): modify for e_tree_model_node_traverse. + (e_tree_model_node_remove): same, and use e_tree_path functions. + (e_tree_model_node_insert_before): add a loop here to figure out + the position, since it's the only place we care about the child + position. + (e_tree_model_node_sort): rework to accomodate new e_tree_path + functions, and put the e_tree_model_node_set_expanded calls in a + separate loop after all the children have been added. + + * e-tree-model.h: add prototypes and virtual functions for more + tree traversal operations (get_first_child, get_last_child), as + well as a new function to traverse depth first the descendents of + a node (e_tree_model_node_traverse), much like g_node_traverse + (G_IN_ORDER). Also, ETreePath is an opaque type now, and is not a + GNode. + + +2000-10-13 Ettore Perazzoli <ettore@helixcode.com> + + * e-table-state.c (e_table_state_save_to_file): NULL is not a + valid argument to `xmlNewDoc'. Was this code ever tested? + +2000-10-13 Christopher James Lahey <clahey@helixcode.com> + + * e-table-example-1.c, e-table-example-2.c, e-table-size-test.c, + test-table.c: Fixed these to use the new ascending attribute as a + boolean instead of an int. + + * e-table-sort-info.c: Changed the ascending attribute to a + boolean ("true"/"false") instead of an int (1/0). + +2000-10-13 Christopher James Lahey <clahey@helixcode.com> + + * Makefile.am: Added e-table-config-field.c and + e-table-config-field.h. + + * e-table-column-specification.c: Cleaned this up a bit. Made it + leak less memory. + + * e-table-config-field.c, e-table-config-field.h: New files. + This is the configuration widgets for sorting or grouping. + + * e-table-config.c, e-table-config.h: Nuked these and replaced + them with a widget that handles all the ETable configuration. + + * e-table-config.glade, e-table-config.glade.h: Updated this a bit + to match what's actually being used better. This isn't used in + actual code. + + * e-table-header-item.c, e-table-header-item.h: Added a pointer to + the table in the header item structure so that we can launch the + configuration from the header item right click menu. Made the + header item launch the ETable configuration dialog. + + * e-table.c, e-table.h: Keep the spec given to us around. Added a + get_state_object function which returns an ETableState *. Set the + "table" argument on the header item. + +2000-10-12 Jeffrey Stedfast <fejj@helixcode.com> + + * e-table-item.c: when there are 0 columns, don't assert. + +2000-10-12 Iain Holmes <iain@helixcode.com> + + * e-cell-text.c (ect_new_view): Ref the style font. + +2000-10-11 Christopher James Lahey <clahey@helixcode.com> + + * e-table.c: Make saving state work properly. + +2000-10-11 Christopher James Lahey <clahey@helixcode.com> + + * e-table-specification.c: Fixed the parity on the cursor-mode + check. + +2000-10-11 Christopher James Lahey <clahey@helixcode.com> + + * e-cell-text.c, e-cell-text.h, e-cell-tree.c, e-cell-tree.h: Got + rid of the model parameter to e_cell_text_new and e_cell_tree_new + as they aren't used. + + * e-table-extras.c: Added default "integer" compare and default + "tree-string", "string", and "checkbox" cells. + + * e-table.c: Made this use the draw-grid, cursor-mode, and + _click-to-add-message fields from the xml. + +2000-10-11 Christopher James Lahey <clahey@helixcode.com> + + * spec.xml: Example spec file. Not used. Just an example of what + you can do. + + * Makefile.am: Added e-table-column-specification.c, + e-table-column-specification.h, e-table-extras.c, + e-table-extras.h, e-table-specification.c, + e-table-specification.h, e-table-state.c, and e-table-state.h. + Removed some duplicated .h files. + + * e-cell-tree.c: Ref, sink, and unref the subcell instead of destroying + it when done. + + * e-table-column-specification.c, e-table-column-specification.h: + New class which describes a column without having a table get + instantiated. + + * e-table-config.c: Changed get_specification to get_state to get + this to compile. + + * e-table-defines.h, e-table-item.h: Moved the definition of + ETableCursorMode from e-table-item.h to e-table-defines.h. + + * e-table-extras.c, e-table-extras.h: New class which acts as a + set of 3 hash tables. All from char * and to alternately, ECells, + GCompareFuncs, and GdkPxibufs. + + * e-table-scrolled.c, e-table-scrolled.h: Changed this to match + the new ETable function declarations. + + * e-table-sort-info.c, e-table-sort-info.h: Added functions for + saving to and loading from xml. + + * e-table-specification.c, e-table-specification.h: New class + which describes a table without having to instantiate it. + + * e-table-state.c, e-table-state.h: New class which describes the + state of a table without having to instantiate the table. + + * e-table.c, e-table.h: Changed this to accept both a state and a + specification instead of just a specification. You then save only + the state. The specification stays exactly the same. Also, you + no longer need to pass in an ETableHeader. Most of the + information contained in the ETableHeader are in the + specification. However you may need to translate some of the + strings in the specification to objects. If you need anything + other than the builtin choices, you need to create an ETableExtras + and pass it in. + + * e-tree-model.c: Removed an unused variable. + +2000-10-10 Iain Holmes <iain@helixcode.com> + + * e-table-header-item.c (draw_button): Only draw the arrow if + there is room for it and the pixbuf. + +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 Zach Frey <zfrey@lanich.com> + + * Makefile.am: Fix make distcheck. + +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. + +2000-10-04 Not Zed <NotZed@HelixCode.com> + + * e-table-sorted-variable.c (etsv_add): Changed to take into + account the sort group, if the table has one.x + (etsv_insert_idle): Clear the insert count if we hit an idle loop. + (etsv_sort_idle): Reset the insert count if we perform a sort. + (etsv_add): If we are adding a lot (>ETSV_INSERT_MAX) items, + without hitting an idle loop, assume we're better off performing a + sort instead. Use another idle handler to reset the count. + +2000-10-04 Jeffrey Stedfast <fejj@helixcode.com> + + * e-table-selection-model.c + (e_table_selection_model_invert_selection): Emit the + selection/cursor "changed" signals. + (e_table_selection_model_select_all): Same. + +2000-10-04 Jeffrey Stedfast <fejj@helixcode.com> + + * e-table-selection-model.c (e_table_selection_model_select_all): + Select all elements of the etable. + (e_table_selection_model_invert_selection): Invert the current + selection. + + * e-table.c (e_table_select_all): New convenience function to + select all elements in an e-table. + (e_table_invert_selection): New convenience function to invert the + current selection in an e-table. + +2000-10-03 Not Zed <NotZed@HelixCode.com> + + * e-table-sorted-variable.c (etsv_sort_by_group): Sort based on + the sort_group stuff. + + * e-tree-model.c (e_tree_init): Setup the group sort info string. + (etree_destroy): And free it. + (build_sort_group): Build a string for this node. + +2000-10-02 Chris Toshok <toshok@helixcode.com> + + * e-tree-model.h: change/add prototypes and a typedef for + ETreePathCompareFunc. + + * e-tree-model.c (e_tree_model_node_set_compare_function): new + function, used to set the comparison function for sorted nodes. + Eventually sorting entail just calling this function, with the + tree maintaining the sort. + + (e_tree_model_node_sort): use a helper function + (e_tree_model_node_compare) to allow the e-tree user's comparison + function to take mode reasonable paramaters. also, fix it so the + previous expanded state is kept with the node. i can't believe i + wrote it the way it originally was. also, don't take the + comparison function here. it's set in + e_tree_model_node_set_compare_function. + +2000-10-02 Chris Toshok <toshok@helixcode.com> + + * e-tree-model.c (e_tree_model_node_sort): don't screw things up + if we sort a collapsed node. + +2000-10-02 Chris Toshok <toshok@helixcode.com> + + * tree-unexpanded.xpm: flip black and gray, the way i intended them to be. + + * tree-expanded.xpm: same. + +2000-10-02 Chris Toshok <toshok@helixcode.com> + + * tree-expanded.xpm: reinstate file. + + * tree-unexpanded.xpm: same. + + * e-tree-example-1.c (main): remove calls to e_cursor_*, and don't + create pixbufs. let's the tree give us the defaults. + + * e-tree-model.c (e_tree_model_node_changed): call + e_table_model_row_changed on the node's row (if it's visible). + (e_tree_model_node_inserted): call e_table_model_row_inserted on + the new node's row, if it's visible. + (e_tree_model_node_removed): call e_table_model_row_removed on the + old node's row, if it was visible. + + * e-cell-tree.c (e_cell_tree_construct): allow open_pixbuf and + closed_pixbuf to be NULL, and default them to the xpm data in + rtee-{un}expanded.xpm. + (ect_destroy): call gdk_pixbuf_unref on our open/closed pixbufs. + + * tree-expanded.xpm, tree-unexpanded.xpm: make the + and - a + little lighter than straight black. + +Fri Sep 29 10:05:58 2000 Christopher James Lahey <clahey@helixcode.com> + + * e-table.dia: Changed. + +Thu Sep 28 20:01:53 2000 Christopher James Lahey <clahey@helixcode.com> + + * e-table.dia: New file. Approximate UML description of ETable. + +2000-09-29 Not Zed <NotZed@HelixCode.com> + + * e-cell-tree.c (e_cell_tree_get_node): Changed to take the source + model, not the tree model. The source model may be a subset, and + it needs to remap the rows for us. + (ect_draw): + (ect_event): + (ect_max_width): + (ect_print): Changed callers. + + * e-table-sorted-variable.c (etsv_sort_subset): + (etsv_sort_build_subset): + (etsv_sort_free_subset): Functions to perfom grouping of sorts for + sorts that have row_sort_group returning useful info. + (etsv_sort): Use the complex sort routines if we need to. + + * e-table-model.c (e_table_model_row_sort_group): Return a sort-id + for a given row. + (e_table_model_has_sort_group): Return if the sort-id provides any + useful information. + +Tue Oct 3 18:28:09 2000 Christopher James Lahey <clahey@helixcode.com> + + * e-table-config.glade, e-table-config.glade.h: Put in 3 more + dialog boxes in these files. + +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-26 Chris Toshok <toshok@helixcode.com> + + * gal/e-table/e-table.c (e_table_setup_table): drag/drop signals need to be + added to the same object that is passed to gtk_drag_begin in + e_table_drag_begin. namely, the ETable. + (et_drag_data_received): fix typo - should emit + TABLE_DRAG_DATA_RECEIVED, not TABLE_DRAG_MOTION. + +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. + +2000-09-25 Chris Toshok <toshok@helixcode.com> + + * gal/e-table/e-tree-model.h: add save_state stuff to ETreeModel, and + prototypes for the public methods. + + * gal/e-table/e-tree-model.c: add save_id to the ENode. + (expanded_remove_func): new function, iterator to delete the save + id's. + (etree_destroy): iterate over expanded_state. + (etree_set_expanded): if the node has a save id, make sure to + update both the collapsed and expanded counts. + (e_tree_model_node_insert_id): convenience function that inserts a + node and sets its id. + (e_tree_model_node_sort): remove extra spew. + (save_expanded_state_func): new function, iterator for saving + expanded state. + (e_tree_model_save_expanded_state): new function. + (get_string_value): helper function for loading. + (e_tree_model_load_expanded_state): new function. + (e_tree_model_node_set_save_id): sets the save id for a node, + adding it to the hashtable if it's not already there. if the id + was there previously, set the expanded flag of the node + accordingly. + +2000-09-24 Ettore Perazzoli <ettore@helixcode.com> + + * Makefile.am (INCLUDES): Put `$(top_srcdir)' on top so that we + include our own headers before the installed ones. Also add + `$(top_srcdir)/gal'. + +2000-09-24 Chris Toshok <toshok@helixcode.com> + + * gal/e-table/e-tree-model.c (e_tree_model_node_sort): fix sorting - need to + update the row_array as well as the actual structure of the + GNodes. + +2000-09-24 Ariel Rios <ariel@arcavia.com> + + * e-tree-model.c: Fix include typo. + +2000-09-21 Christopher James Lahey <clahey@helixcode.com> + + * e-table-item.c: Typo caused readability problems with ETable. + +2000-09-18 Federico Mena Quintero <federico@helixcode.com> + + * test-table.c: + * test-cols.c: + * test-check.c: + * table-test.c: + * e-tree-simple.c: + * e-tree-simple.h: + * e-tree-model.c: + * e-tree-model.h: + * e-tree-example-2.c: + * e-tree-example-1.c: + * e-table.c: + * e-table.h: + * e-table-text-model.h: + * e-table-subset.c: + * e-table-subset.h: + * e-table-subset-variable.c: + * e-table-subset-variable.h: + * e-table-sorter.h: + * e-table-sorted.c: + * e-table-sorted.h: + * e-table-sorted-variable.c: + * e-table-sorted-variable.h: + * e-table-sort-info.c: + * e-table-size-test.c: + * e-table-simple.h: + * e-table-selection-model.c: + * e-table-selection-model.h: + * e-table-scrolled.h: + * e-table-one.h: + * e-table-item.c: + * e-table-item.h: + * e-table-header.h: + * e-table-header-item.c: + * e-table-header-item.h: + * e-table-group.c: + * e-table-group.h: + * e-table-group-leaf.c: + * e-table-group-leaf.h: + * e-table-group-container.c: + * e-table-group-container.h: + * e-table-field-chooser.c: + * e-table-field-chooser.c: + * e-table-field-chooser-item.c: + * e-table-field-chooser-item.h: + * e-table-field-chooser-dialog.c: + * e-table-field-chooser-dialog.h: + * e-table-example-2.c: + * e-table-example-1.c: + * e-table-config.c: + * e-table-col.c: + * e-table-col.h: + * e-table-click-to-add.c: + * e-table-click-to-add.h: + * e-cell.c: + * e-cell.h: + * e-cell-tree.c: + * e-cell-tree.h: + * e-cell-toggle.c: + * e-cell-toggle.h: + * e-cell-text.c: + * e-cell-text.h: + * e-cell-checkbox.h: Fix includes. + + * Makefile.am (INCLUDES): Fix header paths. + +2000-09-17 Iain Holmes <iain@helixcode.com> + + * e-table-item.c: Better calculations for tooltip + positionings. + + * e-cell-text.c: Same. + + * e-cell-tree.c: Same. + +2000-09-16 Iain Holmes <iain@helixcode.com> + + * e-cell-text.c (ect_show_tooltip): Removed g_print. + +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. + +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 Peter Williams <peter@beta.newton.cx> + + * e-cell-text.c (ect_draw): Typo fix. + +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. + +2000-09-11 Iain Holmes <iain@helixcode.com> + + * e-table-header-item.c (ethi_maybe_start_drag): Set maybe_drag + to FALSE. Seems to fix a crash for me. + (ethi_event): Handle the double click on the dividers. + + * e-table-header.c (e_table_header_class_init): Add a + "request_width" signal. + + * e-table-item.c (eti_add_header_model): Connect to the + "request_width" signal. + (eti_request_column_width): Call the e_cell_max_width on the + appropriate column. + + * e-cell.c (e_cell_max_width): Call the max_width method. + + * e-cell-text.c (ect_max_width): Calculate the max width. + + * e-cell-toggle.c (etog_max_width): Calculate the max width. + + * e-cell-tree.c (ect_max_width): Same. + +2000-09-11 Iain Holmes <iain@helixcode.com> + + * e-table-header-item.c (ethi_drag_motion): Check if the + type of the dragged item is a etable header item. + +2000-09-11 Iain Holmes <iain@helixcode.com> + + * e-table-header-item.c (set_cursor): Check if the column + is resizeable before setting the cursor to E_CURSOR_SIZE_X + +2000-09-11 Iain Holmes <iain@helixcode.com> + + * e-table-header-item.c: Use the font and button drawing + from the theme. + + * e-table.c: Use the height of the font to set the size for + the header_canvas, instead of hard coding it to 16 + +2000-09-11 Ettore Perazzoli <ettore@helixcode.com> + + * Makefile.am (tree_example_2_LDADD): Add `$(GNOME_VFS_LIBS)' and + `$(OAF_LIBS)'. + (INCLUDES): Add `$(GNOME_VFS_CFLAGS)' and + `$(GNOME_BONOBO_CFLAGS)'. + +2000-09-11 Christopher James Lahey <clahey@helixcode.com> + + * e-cell-text.c: Made bold text calculate widths properly. + +2000-09-11 Christopher James Lahey <clahey@helixcode.com> + + * e-table.c: Made page up and page down active in the ETable. + +2000-09-09 Christopher James Lahey <clahey@helixcode.com> + + * e-tree-simple.c: Fixed the ETableModel callbacks. + +2000-09-08 Christopher James Lahey <clahey@helixcode.com> + + * e-tree-example-1.c: Added base ETableModel functions. + + * e-tree-example-2.c: Added base ETableModel functions. Made it + never return NULL as a string, instead return "". + + * e-tree-simple.c, e-tree-simple.h: Require base ETableModel + functions. + +2000-09-01 Christopher James Lahey <clahey@helixcode.com> + + * e-table-item.c, e-table.c: Fixed a leak and a double unref. + +2000-09-01 Chris Toshok <toshok@helixcode.com> + + * e-tree-example-2.c: new test, a home grown 2 hour hack of a file + browser. uses node_collapsed/emitted signals to populate the left + tree. + + * Makefile.am: add tree-example-2.c stuff. + + * .cvsignore: add tree-example-2 + +2000-09-01 Chris Toshok <toshok@helixcode.com> + + * e-tree-model.h: add signals/prototypes for + e_tree_model_node_collapsed and e_tree_model_node_expanded. + + * e-tree-model.c (etree_set_expanded): emit + node_expanded/node_collapsed signals, with node_expanded happening + before the expansion so it can much with the children, and + collapsed being emitted after. + (e_tree_model_row_of_node): remove stupid check, and g_warning. + (e_tree_model_node_collapsed): new function. + (e_tree_model_node_expanded): new function. + +2000-08-31 Richard Hult <rhult@codefactory.se> + + * e-tree-example-1.c (create_tree): Don't show the root node. + Also quit when the window is closed. + (my_icon_at): Don't use icons here since the cell tree renderer takes + care of the +/- signs itself. This stops the tree example from showing + two sets of expand/unexpand icons at every node. + +2000-08-31 Christopher James Lahey <clahey@helixcode.com> + + * e-table-selection-model.c: Made the selection work when shift + clicking on the first row of the table. + +2000-08-28 Ettore Perazzoli <ettore@helixcode.com> + + * e-table.c (et_destroy): Don't try to destroy the `header_canvas' + if NULL. + + * e-table-group-leaf.c (etgl_set_cursor_row): If the item is NULL, + don't try to set the cursor row for it. + + * e-table.c (set_scroll_adjustments): Don't set the adjustment for + the `header_canvas' unless the `header_canvas' is not NULL. + + * e-tree-model.c (e_tree_model_row_of_node): If the node is the + root, just return -1 without emitting a warning. + +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. + +2000-08-25 Christopher James Lahey <clahey@helixcode.com> + + * e-table-col.c, e-table-config.c, e-table-header.c, + e-table-text-model.c: Added some g_return_if_fails and + g_return_val_if_fails. + +2000-08-24 Christopher James Lahey <clahey@helixcode.com> + + * e-table.c: Fix an off by one error that was causing crashes. + +2000-08-24 Christopher James Lahey <clahey@helixcode.com> + + * e-table.c: Set default values for all of the signal emissions. + +2000-08-24 Christopher James Lahey <clahey@helixcode.com> + + * e-table-selection-model.c: Check for selection->selection being + NULL in e_table_selection_model_selected_count. + +2000-08-24 Christopher James Lahey <clahey@helixcode.com> + + * e-table-item.c: Pay attention to the return value from the click + signal. + +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. + +2000-08-24 Christopher James Lahey <clahey@helixcode.com> + + * e-table-scrolled.c, e-table-scrolled.h, e-table.c: Added + g_return_if_fails. + +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. + +2000-08-23 Christopher James Lahey <clahey@helixcode.com> + + * e-table-subset-variable.c: Fixed a bug in + e_table_subset_variable_increment that causes problems with + ETree's. Specifically, when you incremented at position x, the + row x didn't get incremented as it should (s/>/>=/.) + +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. + +2000-08-21 Lauris Kaplinski <lauris@helixcode.com> + + * e-cell-text.c: Changed UTF-8 syntax from char based to byte based + +2000-08-22 Chris Toshok <toshok@helixcode.com> + + * Makefile.am (icons): remove tree-expanded.xpm and + tree-unexpanded.xpm. + + * e-tree-example-1.c: use art/tree-expanded.xpm and + art/tree-unexpanded.xpm. + (remove_node): commit the change listed below (08-21). + + * tree-expanded.xpm: removed. + + * tree-unexpanded.xpm: removed. + +2000-08-21 Lauris Kaplinski <lauris@helixcode.com> + + * e-cell-text.c (ect_event): Use e_utf8_from_gtk_event_key to translate + GDK_KEY_PRESS event to insertable UTF-8 string + +2000-08-21 Chris Toshok <toshok@helixcode.com> + + * e-tree-example-1.c (remove_node): we can remove nodes with + children now. + + * e-tree-model.h: add prototype for e_tree_model_node_sort. + + * e-tree-model.c (etree_set_expanded): if the node is invisible, + just set its expanded flag and return. + (e_tree_model_root_node_set_visible): call set_expanded before we + remove it from the row array or else the aforementioned change + will result in nothing happening. + (e_tree_model_node_insert): use a position of -1 as "append". + (e_tree_model_node_insert): if the model was marked with + root_visible == FALSE, make sure to set it's expanded flag to TRUE + when the root node is inserted. + (e_tree_model_node_sort): new function. + +2000-08-21 Chris Toshok <toshok@helixcode.com> + + * e-table.c (e_table_drag_source_set): pass table, not site as the + closure for these drag signals, since e_table_drag_source_event_cb + assumes it's the table. + +2000-08-20 Christopher James Lahey <clahey@helixcode.com> + + * e-table-selection-model.c, e-table-selection-model.h: Added + e_table_selection_model_selected_count. + +2000-08-19 Lauris Kaplinski <lauris@helixcode.com> + + * e-cell-text.c: Use EFont wrapper + Use UTF-8 strings + +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. + +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. + +2000-08-08 Miguel de Icaza <miguel@helixcode.com> + + * e-table-header-item.c: Tag some strings for translation. + +2000-08-05 Dan Winship <danw@helixcode.com> + + * e-table.c (e_table_get_{next,prev}_row_sorted): fix + +2000-08-05 Christopher James Lahey <clahey@helixcode.com> + + * e-table.c: Added a function to get the next row with sorting + taken into account. + +2000-08-05 Christopher James Lahey <clahey@helixcode.com> + + * e-table-sorter.c: Made it so that selection ranges work even if + the table is using grouping. + +2000-08-05 Christopher James Lahey <clahey@helixcode.com> + + * Makefile.am, e-table-selection-model.c, + e-table-selection-model.h, e-table.c, e-table.h: Made selection + ranges work even if the table is sorted. + + * e-table-sorter.c, e-table-sorter.h: New files to help with + making selection ranges work even if sorted. + +2000-08-05 Christopher James Lahey <clahey@helixcode.com> + + * e-table.c, e-table.h: Added functions to convert from view row + to model row or from model row to view row. Also changed + e_table_set_cursor_row and e_table_get_cursor_row to take a model + row as this works better with the rest of the model. Changed the + name of e_table_get_next_row_sorted and + e_table_get_prev_row_sorted. (Dropped the _sorted.) + +2000-08-04 Christopher James Lahey <clahey@helixcode.com> + + * e-table.c, e-table.h: Built code to have autodrags only work + from within the table and to report the row dragged from + automatically. + +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. + +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. + +2000-08-02 Christopher James Lahey <clahey@helixcode.com> + + * e-table-model.c, e-table-model.h: Changed the API for the + append_row function. Now accepts a model to copy data from + instead of returning a row number and leaving it up to ETableOne + to copy the data in. + + * e-table-one.c, e-table-one.h: Adapted to use new append_row API. + + * e-table-simple.c, e-table-simple.h, e-table-subset.c: Adapted to + supply new append_row API. + +2000-07-31 Christopher James Lahey <clahey@helixcode.com> + + * e-table-col.c, e-table-col.h: Added an argument to set a column + so that you can't sort by that column. + + * e-table-header-item.c: Obey the sortable column of ETableCol. + +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. + +2000-07-28 Dan Winship <danw@helixcode.com> + + * e-table-header.c (eth_destroy): Remove the idle handler before + destroying the data it operates on. + +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. + +2000-07-27 Christopher James Lahey <clahey@helixcode.com> + + * e-table-selection-model.c: Added a comment. + +2000-07-27 Christopher James Lahey <clahey@helixcode.com> + + * e-table-selection-model.c: Fixed shift click selections. + +2000-07-27 Christopher James Lahey <clahey@helixcode.com> + + * e-table-selection-model.c: Allocate correctly in the insert and + delete methods. + + * e-table-click-to-add.c: Removed the line that was causing this + to do bad things. + +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. + +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. + +2000-07-26 Christopher James Lahey <clahey@helixcode.com> + + * e-table-click-to-add.c: Fixed a reference. + + * e-table-selection-model.c, e-table-selection-model.h: Added a + clear function. + + * e-table.c, e-table.h: Made going from click to add to the main + table and back work better. + +2000-07-26 Christopher James Lahey <clahey@helixcode.com> + + * e-table-click-to-add.c, e-table-click-to-add.h: Added an + ETableSelectionModel so this won't crash. + +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. + +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. + +2000-07-25 Christopher James Lahey <clahey@helixcode.com> + + * e-table-selection-model.c: Made foreach call the callback in top + to bottom order. + +2000-07-25 Christopher James Lahey <clahey@helixcode.com> + + * e-table-selection-model.c, e-table-selection-model.h: Replaced + get_selection_list with foreach. + + * e-table.h: Add a ETableSelectionModel. + +2000-07-25 Christopher James Lahey <clahey@helixcode.com> + + * Makefile.am: Added e-table-selection-model.c and + e-table-selection-model.h. + + * e-table-selection-model.c: Added the get_selection_list and + is_row_selected functions. Removed some unused code. + + * e-table-selection-model.h: Removed some unused code. + +2000-07-25 Christopher James Lahey <clahey@helixcode.com> + + * e-table-selection-model.c: Added comments to the bit field code. + + * e-table-selection-model.h: Made the selection data guint32s. + +2000-07-25 Christopher James Lahey <clahey@helixcode.com> + + * e-table-selection-model.c: More fixes. + +2000-07-25 Christopher James Lahey <clahey@helixcode.com> + + * e-table-selection-model.c: Fixed up the bit manipulation a bit + here. + +2000-07-25 Christopher James Lahey <clahey@helixcode.com> + + * e-table-selection-model.c, e-table-selection-model.h: New files + for doing a selection model. Not finished yet and thus not in + Makefile.am. + + * e-table.c, e-table.h: Renamed the new dnd signals so that they + won't conflict with the widget signals. + +2000-07-25 Christopher James Lahey <clahey@helixcode.com> + + * e-table.c, e-table.h: Implemented some of the drag & drop code. + Drops all report as being on row 0, col 0. Also, automatic drags + don't set the row and column being dragged from. + +2000-07-23 Damon Chaplin <damon@helixcode.com> + + * e-cell-text.c: added a color_column where the color can be specified + as a string, e.g. "red" or "rgb:F/0/0". + + * e-cell-text.c (ect_leave_edit): don't call unbuild_current_cell() + since the CellEdit struct has been freed in ect_stop_editing() and so + has the text. + + * e-cell-text.c (unbuild_current_cell): set cell->text to NULL to make + sure we don't try to free it again. + +2000-07-21 Christopher James Lahey <clahey@helixcode.com> + + * e-table.h: Added some unused declarations for drag and drop + work. + +2000-07-18 Miguel de Icaza <miguel@helixcode.com> + + * e-tree-model.c (etree_destroy): Call our parent's destroy + method. + +2000-08-09 Christopher James Lahey <clahey@helixcode.com> + + * e-table-header-item.c: Changed e_popup_menu_run call to match + the new arguments. + +2000-07-14 Michael Meeks <michael@helixcode.com> + + * e-table-subset.c (etss_destroy): g_free things we g_malloc. + +2000-07-13 Christopher James Lahey <clahey@helixcode.com> + + * e-table-header-item.c: Changed the background color of the + header. + +2000-07-12 Christopher James Lahey <clahey@helixcode.com> + + * e-table-header-item.c: Made scroll wheel work properly in + header. + +2000-07-10 Ettore Perazzoli <ettore@helixcode.com> + + * e-table.c (set_scroll_adjustments): Be safe if @vadjustment is + NULL. + + * e-table-scrolled.c (e_table_scrolled_init): Set policy and + shadow type. + (e_table_scrolled_real_construct): Don't set the adjustments. + (e_table_scrolled_new): Create the widget with `gtk_widget_new()' + and pass hadjustment/vadjustment NULL values so that we get the + `GTK_OBJECT_CONSTRUCTED' approval. + +2000-07-10 Ettore Perazzoli <ettore@helixcode.com> + + * e-table-scrolled.h: s/GtkTable/EScrollFrameClass/. + +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. + +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. + +2000-07-09 Christopher James Lahey <clahey@helixcode.com> + + * e-table.c: Set the dnd_code to something non-null for the + ETableHeaderItem. + +2000-07-09 Christopher James Lahey <clahey@helixcode.com> + + * e-table.c: Set header canvas scroll region correctly. + +2000-07-09 Anders Carlsson <andersca@gnu.org> + + * e-table-header-item.c (ethi_drag_motion): Don't draw drop + marker when the layout won't be changed by the drop. + +2000-07-08 Ettore Perazzoli <ettore@helixcode.com> + + * e-table-item.c (eti_table_model_changed): Removed an unused + variable. + +2000-07-08 Dan Winship <danw@helixcode.com> + + * e-tree-model.c (e_tree_model_node_insert): When inserting a root + node, only call e_table_model_row_inserted if root_visible. + (e_tree_model_node_remove): Call e_table_model_row_deleted before + removing the row from the row_array, because the chain of signal + handlers will sometimes need that info. + +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. + +2000-07-08 Christopher James Lahey <clahey@helixcode.com> + + * e-table-item.c (eti_table_model_changed): Commented out some + unnecessary and buggy code. + +2000-07-06 Dan Winship <danw@helixcode.com> + + * e-tree-model.c (e_tree_model_node_remove): Make this work + recursively. + +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.) + +2000-07-06 Chris Toshok <toshok@helixcode.com> + + * e-cell-tree.c (ect_draw): fix the conditions under which we draw + a horizontal line. + +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. + +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. + +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. + +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. + +2000-06-23 Larry Ewing <lewing@helixcode.com> + + * e-cell-toggle.c (etog_draw): draw pixmaps with he right + background and selection colors. + +2000-06-23 Chris Toshok <toshok@helixcode.com> + + * e-tree-model.h, e-tree-model.c: add icon_at virtual function - + it was stupid to make the insert call take 2 pixbufs. the model + should give this information. + + * e-cell-tree.c: get rid of the opened/closed pixbuf stuff. call + e_tree_model_icon_of_node. + + * e-tree-example-1.c: add my_icon_at. + + * e-tree-simple.c (simple_icon_at): new function + (e_tree_simple_new): add icon_at parameter. + + * e-tree-simple.h: add SimpleIconAtFn. + +2000-06-23 Chris Toshok <toshok@helixcode.com> + + * e-tree-example-1.c (create_tree): use the expanded/unexpanded + pixbufs as node pixbufs for the first level of children, to test + the drawing. + + * e-tree-model.c (e_tree_model_node_get_closed_pixbuf): new function. + (e_tree_model_node_get_opened_pixbuf): same. + (e_tree_model_node_insert): add opened/closed pixbuf argument. + (e_tree_model_node_insert_before): same. + + * e-tree-model.h: add prototypes for opened/closed pixbuf + accessors, and add them to the e_tree_model_node_insert_* calls. + + * e-cell-tree.c (ect_draw): add opened/closed pixbuf drawing per node. + +2000-06-22 Christopher James Lahey <clahey@helixcode.com> + + * e-table.c: Make the table not move around as you resize. + +2000-06-22 Christopher James Lahey <clahey@helixcode.com> + + * e-table-item.c: Killed a warning. + +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. + +2000-06-21 Christopher James Lahey <clahey@helixcode.com> + + * e-table-field-chooser-dialog.c: Made the Close button work. + + * e-table-field-chooser.glade, e-table-field-chooser.glade.h: + Added a text description of this dialog. + +2000-06-21 Christopher James Lahey <clahey@helixcode.com> + + * e-table-header-item.c: Changed this to move the cell to the + nearest edge instead of to the left of the column it's over. + + * e-table-header.c: Made target_index equal to eti->col_count be a + valid parameter to e_table_header_move. + +2000-06-21 Christopher James Lahey <clahey@helixcode.com> + + * e-table-header.c: Made moving columns to the right work + properly. + +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.) + +2000-06-20 Christopher James Lahey <clahey@helixcode.com> + + * e-table-defines.h: Fix HEADER_PADDING. + +2000-06-20 Christopher James Lahey <clahey@helixcode.com> + + * e-table-item.c: Fix cursor column information. + +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. + +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. + +2000-06-17 Christopher James Lahey <clahey@helixcode.com> + + * e-cell-text.c: Made cells with strikeout on have a line from the + left margin to the right margin, instead of just over the text. + +2000-06-17 Chris Toshok <toshok@helixcode.com> + + * e-tree-model.c (e_tree_model_node_insert): call + e_table_model_row_inserted instead of e_table_model_changed. + +2000-06-16 Christopher James Lahey <clahey@helixcode.com> + + * e-table.c, e-table.h: Moved the reflow signal handling into an + idle handler to fix a bug when resizing twice in succession. + +2000-06-15 Chris Toshok <toshok@helixcode.com> + + * e-cell-tree.c (ect_print): print the icon for the tree control. + +2000-06-14 Christopher James Lahey <clahey@helixcode.com> + + * e-cell-text.c: Request the value of e_table_is_cell_editable of + the model_col instead of the view_col. + + * e-table-item.h: Slight style fixup. + +2000-06-14 Chris Toshok <toshok@helixcode.com> + + * e-tree-example-1.c (print_tree): new function, to generate + postscript so i can test tree printing. + (create_tree): add print button. + + * e-cell-tree.c (ect_print_height): implement function (in a + broken way for the time being, heh). + (ect_print): implement function to draw tree controls and offset + the subcell's printing. icons aren't printed yet, just lines. + (ect_draw): remove old unnecessary comments. only draw the + horizontal line in specific instances (well, add a test so a lone + root node doesn't get the horizontal line.) + (e_cell_tree_class_init): add print/print_height methods. + +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. + +2000-06-12 Federico Mena Quintero <federico@helixcode.com> + + * e-table-model.[ch]: Removed the freeze/thaw stuff for the model. + As Chris wisely pointed out, having freeze/thaw on the model makes + its state inconsistent from the perspective of the views. + + * e-table-sorted-variable.c: Do not check for a frozen model. + * e-table-subset.c: Likewise. + * e-table-subset-variable.c: Likewise. + + * e-table-example-1.c: Removed the ETableModel thaw handler. + * e-table-example-2.c: Likewise. + * e-table-simple.c: Likewise. + * e-table-size-test.c: Likewise. + * test-check.c: Likewise. + * test-cols.c: Likewise. + * test-table.c: Likewise. + +2000-06-11 Ettore Perazzoli <ettore@helixcode.com> + + * Makefile.am (table_test_LDADD): Link with libemiscwidgets.a. + (table_size_test_LDADD): Likewise. + (table_example_1_LDADD): Likewise. + (table_example_2_LDADD): Likewise. + (tree_example_1_LDADD): Likewise. + +2000-06-11 Christopher James Lahey <clahey@helixcode.com> + + * e-table-model.c: Small syntactic changes. + + * e-table.c: Moved the table header into the scrolled view. + +2000-06-10 Ettore Perazzoli <ettore@helixcode.com> + + * e-table.c (et_real_construct): EScrollFrame instead of + GtkScrolledWindow. + +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. + +2000-06-10 Chris Toshok <toshok@helixcode.com> + + * e-tree-example-1.c (create_tree): supply the pixbufs here. + + * e-cell-tree.h: change pixbuf names to open_pixbuf/closed_pixbuf. + + * e-cell-tree.c (e_cell_tree_construct): take open/closed pixbuf + parameters, and don't #include the .xpm files directly here. + (e_cell_tree_new): same. + (ect_draw): use the pixbufs from the ECellTree. + +2000-06-10 Chris Toshok <toshok@helixcode.com> + + * e-cell-tree.c (ect_event): offset events before passing them to + our subcell view. + +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. + +2000-06-08 Federico Mena Quintero <federico@helixcode.com> + + * e-table-model.h (ETableModelClass): Added a freeze method. + + * e-table-model.c (e_table_model_freeze): Call the freeze method + instead of the thaw method! + + * e-table-simple.h (ETableSimple): Added the freeze function. + + * e-table-simple.c (simple_thaw): Check whether the function + exists. + (simple_freeze): New handler. + (e_table_simple_new): Take in and set the freeze handler. + (e_table_simple_class_init): Set the freeze handler. + + * test-check.c (check_test): Pass in the freeze handler to + e_table_simple_new(). + + * test-cols.c (multi_cols_test): Likewise. + + * e-table-example-2.c (create_table): Likewise. + + * e-table-example-1.c (create_table): Likewise. + + * test-table.c (table_browser_test): Likewise. + (do_e_table_demo): Likewise. + +2000-06-08 Christopher James Lahey <clahey@helixcode.com> + + * The field chooser works now. + + * e-table-field-chooser-dialog.c: Make the dialog resizable. + + * e-table-field-chooser-item.c: Requested a reflow on + realization. Made the correct column get dragged. + + * e-table-field-chooser.c: Set the height correctly. + + * e-table-field-chooser.glade: Replace the GnomeCanvas with an + ECanvas. + + * e-table-header-item.c: Receive drags from the new dialog. + +2000-06-08 Christopher James Lahey <clahey@helixcode.com> + + * e-table-field-chooser-dialog.c, e-table-field-chooser-dialog.h, + e-table-field-chooser-item.c, e-table-field-chooser.c, + e-table-field-chooser.glade, e-table-field-chooser.h, + e-table-header-item.c, e-table.c: More work on the Field Chooser. + Not quite done yet. + +2000-06-08 Chris Toshok <toshok@helixcode.com> + + * e-tree-gnode.c, e-tree-gnode.h: New files. A tree model using a + GNode structure to store it's info. + + * e-tree-model.c, e-tree-model.h: New files. A proxy model + sitting between a table model and the real tree model (of which + ETreeGNode is an example). + + * e-cell-tree.c, e-cell-tree.h: New files. A cell renderer + capable of wrapping up a subcell and drawing the tree controls for + expanding/collapsing trees. + + * tree-expanded.xpm, tree-unexpanded.xpm: New files. the standard + + and - icons. + + * e-tree-example-1.c: New file, giving a (pretty poor :) example + of using ETreeGNode. + + * Makefile.am: at the tree stuff to the build, and build + tree-example-1. + + * .cvsignore: ignore tree-example-1. + +2000-06-07 Christopher James Lahey <clahey@helixcode.com> + + * Makefile.am: Added e-table-field-chooser*. + + * e-table-defines.h: Moved some things to here. + + * e-table-field-chooser-dialog.c, e-table-field-chooser-dialog.h, + e-table-field-chooser-item.c, e-table-field-chooser-item.h, + e-table-field-chooser.c, e-table-field-chooser.glade, + e-table-field-chooser.glade.h, e-table-field-chooser.h: New dialog + to drag extra fields from. (Not yet finished.) + + * e-table-header-item.c, e-table-header-item.h: Changed to + accommodate e-table-field-chooser. + +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. + +2000-06-02 Christopher James Lahey <clahey@helixcode.com> + + * e-table-sorted-variable.c: Fixed the multiple copies of rows in + ETable bug. + +2000-06-01 Dan Winship <danw@helixcode.com> + + * e-table-group.c (e_table_group_key_press): + * e-table.c (group_key_press): two more pastos + +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. + +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. + +2000-06-01 Dan Winship <danw@helixcode.com> + + * e-cell-text.h: Remove an offending *. + +2000-06-01 Christopher James Lahey <clahey@helixcode.com> + + * e-table-sorted-variable.c: Made the sort when inserting a signal + row be syncronous. + +2000-06-01 Christopher James Lahey <clahey@helixcode.com> + + * e-cell-text.c, e-cell-text.h: Added "text_filter" argument that + takes a const void * and returns an allocated char *. + +2000-06-01 Christopher James Lahey <clahey@helixcode.com> + + * e-table-item.c: Copy and paste error. + +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. + +2000-05-30 Christopher James Lahey <clahey@helixcode.com> + + * e-cell-text.c, e-cell-text.h: Added bold column's to ECellText. + +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. + +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. + +2000-05-28 Christopher James Lahey <clahey@helixcode.com> + + * e-table-group-container.c: Fixed setting of arguments. + +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. + +2000-05-26 Christopher James Lahey <clahey@helixcode.com> + + * e-cell-text.c, e-cell-text.h: Added "strikeout_column" argument. + +2000-05-26 Christopher James Lahey <clahey@helixcode.com> + + * e-table-group-container.c, e-table-group-container.h, + e-table-group-leaf.c, e-table-group-leaf.h, e-table.c, e-table.h: + Made "drawgrid", "drawfocus", "spreadsheet", and + "length_threshold" arguments set from the ETable effect all the + end ETableItems. + + * e-table-header.c: Made column resize a bit less bumpy. + +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. + +2000-05-25 Christopher James Lahey <clahey@helixcode.com> + + * e-table-header-item.c: Made dragging columns work. + +2000-05-23 Christopher James Lahey <clahey@helixcode.com> + + * e-table-header-item.c: Fixed the remove column callback. + +2000-05-23 Christopher James Lahey <clahey@helixcode.com> + + * e-table-header-item.c: Added right click menus to the table + header items. + + * e-table-sort-info.c: Fixed a small bug. + +2000-05-23 Christopher James Lahey <clahey@helixcode.com> + + * e-table.c: Make scrollbar arrow buttons work. + +2000-05-19 Christopher James Lahey <clahey@helixcode.com> + + * e-table-example-1.c, e-table-example-2.c, e-table-simple.c, + e-table-simple.h, e-table-size-test.c, test-check.c, test-cols.c, + test-table.c: Added initialize_value and value_is_empty callbacks. + + * e-table-model.c, e-table-model.h: Added initialize_value and + value_is_callback virtual functions to the ETableModel class. + + * e-table-subset.c: Perpetuate the initialize_value and + value_is_empty methods. + +From a patch by Iain Holmes <ih@csd.abdn.ac.uk> + + * e-table-config.c, e-table.c: Fixed getting text content from a + node in the case of a non string based content field in the xml + library. + +2000-05-16 Christopher James Lahey <clahey@helixcode.com> + + * e-table-item.c: Fixed a memory leak. + +2000-05-16 Christopher James Lahey <clahey@helixcode.com> + + * e-table-sorted-variable.c: Changed sorting to be at priority + level 30. + + * e-table.c: Changed rebuild of the table to be at priority level + 20. This gives it an advantage over pretty much everything, + including e-table-sorted-variable sorting and canvas redraw. + +2000-05-16 Christopher James Lahey <clahey@helixcode.com> + + * e-table-group-container.c: Removed a memory leak here. + + * e-table-group-leaf.c: Added a ref/sink pair. + + * e-table-group.c, e-table-header-item.c: Removed some unused + code. + +2000-05-16 Christopher James Lahey <clahey@helixcode.com> + + * e-table-sorted-variable.c: Fixed a FIXME comment. + + * e-table-header.c, e-table-header.h: Added code to put off size + calculation to the idle loop. Added code to not resize columns + with 0 expansion. Removed the set_width function; it's been + replaced with a Gtk+ arg. + + * Makefile.am: Added e-table-defines.h to the Makefile.am. + + * e-table-defines.h: A new file containing some #defines for use + in ETable. + +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. + +2000-05-11 Miguel de Icaza <miguel@gnu.org> + + * e-table.c: Removed dead code. + +2000-05-10 Christopher James Lahey <clahey@helixcode.com> + + * Makefile.am: Added e-table-col-dnd.h and table-test.h. + +2000-05-09 Christopher James Lahey <clahey@helixcode.com> + + * e-table-subset-variable.c: Fixed etssv_remove. + +2000-05-08 Christopher James Lahey <clahey@helixcode.com> + + * e-cell-text.c: Make multi-line texts display properly. Fixed + some mem leaks. + +2000-05-07 Christopher James Lahey <clahey@helixcode.com> + + * e-table.c: Add a horizontal scrollbar. + +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. + +2000-05-07 <toshok@the-dot-in.helixcode.com> + + * e-cell-text.c (ect_draw): free cell.starting_text here to avoid + a memory leak. + +2000-05-06 Christopher James Lahey <clahey@helixcode.com> + + * e-table-group-container.c, e-table.c: Killed some warnings. + +2000-05-06 Chris Toshok <toshok@helixcode.com> + + * e-cell-text.c (ect_accept_edits): only to set_value_at if the + value is indeed different. + (ect_stop_editing): free edit->cell.starting_text + (build_current_cell): initialize edit->cell.starting_text as a + copy of the initial text. + +2000-05-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: Add an e_table_group_add_all + function and implement it in the different ETableGroup classes. + + * e-table-sort-info.c: Make set_nth not call changed twice if it + needs to allocate more space. + + * e-table-sorted-variable.c, e-table-subset-variable.c, + e-table-subset-variable.h: Add and implement an + e_table_subset_variable_add_all command. + + * e-table.c: Use e_table_group_add_all as appropriate. Fix ETable + grouping xml to work if there is a text element at the bottom of + the grouping tree. + +2000-05-04 Christopher James Lahey <clahey@helixcode.com> + + * e-cell-text.c: Sped up e_cell_text's get_height function. + +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. + +2000-05-04 Christopher James Lahey <clahey@helixcode.com> + + * e-table-sorted-variable.c: Load all the data to be sorted by + before actually doing the sort. + +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. + +2000-05-04 Christopher James Lahey <clahey@helixcode.com> + + * e-table-sorted-variable.c (qsort_callback): Add back in main + loop calls during sorting. + +2000-05-04 Christopher James Lahey <clahey@helixcode.com> + + * e-table-sorted-variable.c: Replace insert sort completely with a + qsort. + +2000-05-04 Christopher James Lahey <clahey@helixcode.com> + + * e-table-sorted-variable.c: Changed the insert sort to be binary + instead of linear. + +2000-05-04 Chris Toshok <toshok@helixcode.com> + + * e-table-sorted-variable.c (etsv_sort): use rows here instead of + E_TABLE_SUBSET(etsv)->n_map, since the table can be populated by + the gtk_main_iteration above. otherwise the vals_closure may not + be fully populated. + +2000-05-02 Matt Loper <matt@helixcode.com> + + * Makefile.am: set G_LOG_DOMAIN. + +2000-04-30 Christopher James Lahey <clahey@helixcode.com> + + * e-table-header-item.c: Made this more reentrant. + + * e-table-sorted-variable.c, e-table-sorted-variable.h: Does a + proper resort when the sorting info changes. + + * e-table.c, e-table.h: Made it so that ETable doesn't destroy and + recreate the entire table when sorting info changes. + +2000-04-27 Christopher James Lahey <clahey@helixcode.com> + + * arrow-down.xpm, arrow-up.xpm, e-cell-text.c, e-cell-toggle.c, + e-table-col.c, e-table-config.c, e-table-header-item.c: Fixed some + warnings. + +2000-04-26 Christopher James Lahey <clahey@helixcode.com> + + * e-table-header-item.c: Added a missing include. + +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. + +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. + +2000-04-24 Christopher James Lahey <clahey@helixcode.com> + + * e-table.c: Fixed some warnings. + +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. + +2000-04-17 Chris Toshok <toshok@helixcode.com> + + * Makefile.am (noinst_PROGRAMS): add table-size-test + + * .cvsignore: add table-size-test. + + * e-cell-text.c (ect_ecent): use e_table_model_is_cell_editable + instead of E_CELL_EDITABLE. + + * e-cell-toggle.c (etog_event): same. + + * e-cell.c (e_cell_init): don't call e_cell_set_editable. that + info comes from the model. + (e_cell_set_editable): removed function. + + * e-cell.h: remove the E_CELL_EDITABLE flag. that should be + retrieved from the model. also, remove the prototype for + e_cell_set_editable. + + * e-table-size-test.c: new file, for a stress test of sorts, of a + large, uneditable e-table. + +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. + +2000-04-15 Matt Loper <matt@helixcode.com> + + * e-table.c (et_xml_to_header): sanity-check our parameters. + (et_grouping_xml_to_sort_info): same. + (et_real_construct): Bail if we couldn't get the children we + wanted. + +2000-04-15 Ettore Perazzoli <ettore@helixcode.com> + + * e-table.c (e_table_construct): Use `strlen (copy)' instead of + `strlen (copy) + 1' as the size argument for `xmlParseMemory()'. + +2000-04-14 Miguel de Icaza <miguel@gnu.org> + + * e-table.c, e-table.h: Switch the parent object to be a GtkTable. + (et_real_construct): apply massaging and some loving action to + make the thing behave as a GtkTable. + (e_table_init): More love. + +2000-04-14 Miguel de Icaza <miguel@gnu.org> + + * e-table-header-item.c (ethi_class_init): New signal action. + +2000-04-14 Christopher James Lahey <clahey@helixcode.com> + + * e-table-item.c, e-table-item.h: Added a row height cache. + +2000-04-12 Miguel de Icaza <miguel@gnu.org> + + * e-table-header-item.c (ethi_drag_motion): Remove test for + source. We will fix this later. + + (ethi_end_resize): Reset resize_guide here. + +2000-04-11 Miguel de Icaza <miguel@helixcode.com> + + * e-table-header-item.c (ethi_add_destroy_marker): Add group + indent width here. + (is_pointer_on_division): Use the group indent here, so the + resize pointer is shown at the correct time. + (TOLERANCE): Bump it up to 3 + (draw_button): Do not paint an arrow if there is an icon present, + and not enough space to paint. + +2000-04-10 Miguel de Icaza <miguel@helixcode.com> + + * e-table-header-item.c (make_shapped_window_from_xpm): New + routine, creates a shapped mask window from an xpm buffer. + (ethi_add_drop_marker): New version, uses shaped windows instead + of canvas items to signal the drop location. + (ethi_maybe_start_drag): Disable dragging if there is only one + column left. + +2000-04-10 Miguel de Icaza <miguel@gnu.org> + + * e-table-header-item.c (ethi_drag_motion): Drop frozen count + support from here. + (ethi_start_drag): ditto. + + * e-table-header.h: Kill frozen_count. + +2000-04-09 Matt Loper <matt@helixcode.com> + + * e-table-col.c (e_table_col_new_with_pixbuf): ref etc->ecell, + like in e_table_col_new, since that same ECell is unref'd in + etc_destroy(). + +2000-04-08 Christopher James Lahey <clahey@helixcode.com> + + * e-table.c: Separated some functions into an xml bit and a + generic bit. + +2000-04-06 Miguel de Icaza <miguel@gnu.org> + + * e-cell-text.c: Killed ARG_EDITABLE. + (ect_event): Updated to new editable setup. + (e_cell_text_new): Kill editable argument. + + * e-cell-toggle.c (etog_event): Handle editability here + + * e-cell-text.h: Removed editable bit field from here, it is now + taken care at the e-cell level. + + * e-cell.c (e_cell_set_editable): New function. + (e_cell_init): Set editable to TRUE by default. + + * test-check.c (check_test): update to new api + + * test-table.c (table_browser_test): ditto. + (do_e_table_demo): ditto. + + * test-cols.c (multi_cols_test): ditto + +2000-04-06 Christopher James Lahey <clahey@helixcode.com> + + * test-cols.c, test-table.c: Got rid of some warnings. + + * e-table-group-container.c, e-table-group-container.h, + e-table-group-leaf.c, e-table-group-leaf.h, e-table-group.c, + e-table-group.h, e-table-header-item.c, e-table-header-item.h, + e-table-sort-info.c, e-table-sort-info.h, + e-table-sorted-variable.c, e-table-sorted-variable.h, e-table.c, + e-table.h: Changed ETableSortInfo to not use xml internally. + +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. + +2000-04-02 Miguel de Icaza <miguel@gnu.org> + + * e-table-sort-info.c (e_table_sort_info_class_init): Kill + argument. Do not use XML internally + (e_table_sort_info_set_sorting): New function, use this to set the + sorting. + (e_table_sort_info_set_grouping): This one to do the grouping/. + +2000-04-01 Miguel de Icaza <miguel@gnu.org> + + * e-table.c (e_table_build_column_spec): Drop frozen support. + (e_table_make_header): Drop frozen support. + + * e-table-header.c (e_table_header_new): Drop frozen support. + + * e-table-header-item.c (ethi_drag_motion): Drop frozen support. + (ethi_drag_drop): Drop frozen support. + (ethi_start_drag): Drop frozen support. + + * e-table.c (e_table_construct_from_spec_file): Robustify: support + the case in which the XML could not be parsed; Propagate errors. + (e_table_new): Handle failure. + (e_table_new_from_spec_file): ditto. + Renamed multiple internal functions whose prefix was et_ to be e_table_ + +2000-03-31 Miguel de Icaza <miguel@gnu.org> + + * e-table-simple.h: Constify this. + +2000-03-30 Miguel de Icaza <miguel@gnu.org> + + * Makefile.am (EXTRA_DIST): Added Glade files to the + distribution. + +2000-03-28 Matt Loper <matt@helixcode.com> + + * e-table-text-model.c (e_table_text_model_destroy): made + assertion more accurate. + +2000-03-27 Michael Meeks <michael@helixcode.com> + + * e-table-item.c (eti_update): try and fix the convoluted logic. + (eti_bounds): Implement; should fix the re-draw bugs. + + * e-table-group-container.c: kill many redundant prototypes, + stylistic cleans. + +2000-03-26 Miguel de Icaza <miguel@gnu.org> + + * e-table-header-item.c (ethi_realize): Remove warning from here. + + * test-table.c (table_browser_test): Use ECanvas, not GnomeCanvas, + to support reflow. + * test-cols.c (multi_cols_test): ditto + * e-table.c (e_table_setup_header): ditto + + * e-table-header-item.c (ethi_font_load): Replace font. + (ethi_realize): ditto. + +2000-03-26 Matias Mutchinick <matias@seul.org> + + * e-cell-toggle.c (etog_draw): Removed extra code that computed + bogus width. This was the actual source of the problem with the + miss-rendering feature. + +2000-03-22 Matt Loper <matt@helixcode.com> + + * e-table-text-model.c (e_table_text_model_destroy): Added some + assertions. + +2000-03-21 Christopher James Lahey <clahey@helixcode.com> + + * e-table.c: Make rectangles resize properly when receiving the + "model_changed" signal. + +2000-03-20 Christopher James Lahey <clahey@helixcode.com> + + * e-table-group-container.c, e-table-group-container.h, + e-table-group-leaf.c, e-table-group.c, e-table-group.h: 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. + +2000-03-19 Christopher James Lahey <clahey@helixcode.com> + + * e-table-header.c: Fixed a crashing bug when you close an + ETable. + +2000-03-13 Christopher James Lahey <clahey@helixcode.com> + + * e-cell-text.c: Fixed a crashing bug when you cancel an edit. + +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. + +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. + +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. + +2000-03-06 Christopher James Lahey <clahey@helixcode.com> + + * e-table-group-container.c: Use the style's font if lucidasans-10 + is not found. + +2000-03-06 Christopher James Lahey <clahey@helixcode.com> + + * e-table-header-item.c, e-table-header-item.h: Made it so that + columns would be properly indented. + +2000-03-06 Christopher James Lahey <clahey@helixcode.com> + + * e-table-sorted-variable.c: Have identical values get sorted by + their actual row. + +2000-03-06 Christopher James Lahey <clahey@helixcode.com> + + * e-cell-text.c: Draw selected row. + +2000-03-06 Christopher James Lahey <clahey@helixcode.com> + + * e-table.c, e-table.h: Add a "row_selection" signal. + + * test-table.c: Test the new "row_selection" signal. + + * e-table-group-container.c, e-table-group-leaf.c: Implement the + "row_selection" property properly. + + * e-table-group.c, e-table-group.h: Add a "row_selection" signal. + +2000-03-05 Christopher James Lahey <clahey@helixcode.com> + + * e-table.c, e-table.h: Added support for the sorting info. The + Etable creates a sort_info object, and then connects to the + signals to rearrange the rows when the sort_info changes. It also + passes the info object to the ETableHeaderItem. + + * e-table-model.c: Fixed a typo where ETableModel was written as + ETableModle. + + * e-table-header.c, e-table-header.h: Added some code for sorting + here, but it's not used. I don't think we want this code, but I + wanted to check it in at least once so that it's not lost. + + * e-table-header-item.c, e-table-header-item.h: Added a + "sort_info" argument to ETableHeaderItem. Added display of + current sort settings. Added support for clicking to change the + sort settings. + + * e-table-col.h: E_TABLE_COL_ARROW_NONE is marked as being = 0 + since this is required in other places. (I think C defines this + as being the case, but it's good to have the = 0 there so that + it's obvious that it has to be first.) + + * TODO: Mark sorting as done. + + * e-table-sort-info.c, e-table-sort-info.h: New files for + containing the xml grouping/sorting information and for sending + signals on that information. + + * Makefile.am: Added e-table-sort-info.c and e-table-sort-info.h. + +2000-03-04 Christopher James Lahey <clahey@helixcode.com> + + * e-table.c: Added saving of frozen_columns count. Added a + vertical scrollbar to ETable. + +2000-03-04 Christopher James Lahey <clahey@helixcode.com> + + * e-table.c: Push the proper visual and colormap for ETable to work. + +2000-03-04 Christopher James Lahey <clahey@helixcode.com> + + * TODO: Touched this up a bit. + + * e-table-group.c, e-table-group-leaf.c: Check for NULL before + calling gtk_object_unref or gtk_object_destroy. + +2000-03-04 Christopher James Lahey <clahey@helixcode.com> + + * e-table.c: Fixed a crash error. + +2000-03-04 Christopher James Lahey <clahey@helixcode.com> + + * e-table-item.c: Fixed a compile warning. + + * e-table.c: Fixed a crash error. + +2000-03-04 Christopher James Lahey <clahey@helixcode.com> + + * TODO: Added a bunch of stuff to the TODO list. Put +s before a + few of the items that are finished. + + * test-table.c: Add a button to save the spec file. + + * e-table.c, e-table.h: Add loading configurations from files as + well as the ability to get the current configuration out of the + widget. + +2000-03-03 Christopher James Lahey <clahey@helixcode.com> + + * e-table.c: Removed some unused code. + + * e-table-header-item.c, e-table-header-item.h: Removed the unused + normal_cursor variable and object. + + * e-table-col.c: Maintain a reference count in the contained ECell. + +2000-03-01 Ettore Perazzoli <ettore@helixcode.com> + + * Makefile.am: Use `libeutil.la', not `libeutil.a'. + +2000-02-29 Christopher James Lahey <clahey@helixcode.com> + + * test-table.c: Test frozen columns + + * e-table.c: Make frozen columns available through the xml file. + + * e-table-header.c, e-table-header.h, e-table-header-item.c: Added + frozen columns API to let you specify some number of leading + columns as undraggable. + + * Makefile.am: Add e-table-example-1.c and e-table-example-2.c. + + * e-table-example-1.c, e-table-example-2.c: New files. A couple + of examples of ETable use. + +2000-02-28 NotZed <NotZed@HelixCode.com> + + * Makefile.am (table_test_LDADD): Fixed references to eutil. + +2000-02-28 Christopher James Lahey <clahey@helixcode.com> + + * e-table-header-item.c, e-table-header.c: Fixed a couple of crash + bugs. + +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. + +2000-02-24 Christopher James Lahey <clahey@helixcode.com> + + * e-cell-text.c: Made carriage return stop editting instead of + inserting a carriage return. + +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. + +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. + +2000-02-24 Christopher James Lahey <clahey@helixcode.com> + + * e-table-item.c: Made changing focus work. + +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. + +2000-02-18 Miguel de Icaza <miguel@nuclecu.unam.mx> + + * e-table-header.c: Include <string.h> + + * Makefile.am (INCLUDES): Add EXTRA_GNOME_CFLAGS to INCLUDES> + +2000-02-12 Iain Holmes <ih@csd.abdn.ac.uk> + + * e-table-header-item.c (ethi_drag_motion): Check the ethi is actually + the one being dragged. Prevents crashes when trying to drag headeritems + and there are multiple headeritems on the same canvas. + (ethi_drag_end): Same. + (ethi_drag_drop): Same. + (ethi_drag_leave): Same. + +2000-02-11 Miguel de Icaza <miguel@gnu.org> + + * e-table-item.c (eti_header_structure_changed): Add nice + assertion. + +2000-02-11 Christopher James Lahey <clahey@helixcode.com> + + * test-check.c: Added test of sort arrows. + + * e-table-col.h, e-table-col.c: Added sort arrows for column + headers (It doesn't actually sort. It just displays the arrows.) + + * e-table-header-item.c: Added display of arrows. + +2000-02-11 Christopher James Lahey <clahey@helixcode.com> + + * clip.png: Test column header image. + + * test-check.c: Test pixbuf column headers. + + * e-table-col.h, e-table-col.c: Added pixbufs for column headers. + + * e-table-header-item.c (draw_button): Draw pixbuf column headers properly. + +2000-02-11 Christopher James Lahey <clahey@helixcode.com> + + * e-cell-text.h, e-cell-text.c: Add an editable argument to + e_cell_text_new. + + * test-table.c, test-cols.c, test-check.c: Set the editable + argument to e_cell_text_new. + +2000-02-11 Christopher James Lahey <clahey@helixcode.com> + + * e-table-header-item.h, e-table-header-item.c: Added reordering + of columns. + + * e-table-header.c: Fixed a couple of bugs in the move column and + remove column functions. + +2000-02-11 Christopher James Lahey <clahey@helixcode.com> + + * e-cell-text.c: Made space around text look right. Added a + blinking cursor. + +2000-02-10 Christopher James Lahey <clahey@helixcode.com> + + * e-cell-text.c: Handle button releases properly. + + * e-table-header-item.c (ethi_start_drag): Added a drag icon. + +2000-02-09 Christopher James Lahey <clahey@helixcode.com> + + * e-cell-text.c: Tweaked e-cell-text. Added a white background + and tweaked the borders. + +2000-02-09 Christopher James Lahey <clahey@helixcode.com> + + * Makefile.am: Changes where e-text is included from. + +2000-02-07 Miguel de Icaza <miguel@gnu.org> + + * e-table.c (e_table_setup_table): Setup the scroll region of the + table canvas on size allocation. + (e_table_canvas_realize): Do not set the scrollregion here. + (e_table_canvas_init): Move root initialization here. + +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. + +2000-01-30 Miguel de Icaza <miguel@gnu.org> + + * e-table-simple.c (e_table_simple_new): Add data field back in. + +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. + +1999-12-22 Miguel de Icaza <miguel@helixcode.com> + + * e-table-item.c (e_table_item_focus): grab focus here with the + canvas method. + +1999-12-20 Miguel de Icaza <miguel@helixcode.com> + + * e-table-group.c (etg_update): Change the dimensions only if the + child changes its own. + + * e-table-item.c (eti_table_model_changed): Emit new signal on + table height change. + (eti_class_init): Register new "height_change" signal. + +1999-12-19 Damon Chaplin <damon@karuna.freeserve.co.uk> + + * Makefile.am (SUBDIRS): created SUBDIRS with meeting-time-sel. + + * meeting-time-sel/Makefile.am: + * meeting-time-sel/.cvsignore: + * meeting-time-sel/e-meeting-time-sel.h: + * meeting-time-sel/e-meeting-time-sel.c: + * meeting-time-sel/e-meeting-time-sel-item.h: + * meeting-time-sel/e-meeting-time-sel-item.c: + * meeting-time-sel/e-meeting-time-sel-list-item.h: + * meeting-time-sel/e-meeting-time-sel-list-item.c: + * meeting-time-sel/e-meeting-time-sel-mail.xpm: + * meeting-time-sel/e-meeting-time-sel-no-mail.xpm: + * meeting-time-sel/test-meeting-time-sel.c: new files implementing + the meeting time selector. + +1999-12-12 Miguel de Icaza <miguel@helixcode.com> + + * e-table-item.c (eti_class_init): X and Y arguments are now + doubles (to make it consistent with the rest of the canvas x, y + arguments). + + * e-table.c (e_table_create_leaf): Use new argument values here + + * test-*.c: Update to new argument types for x and y + + * e-table-group.c: New implementation as a canvas item used to + group childs. + + * e-table-item.c (eti_update): Make this play nicely with groups. + (eti_draw): ditto. + (eti_request_region_redraw): ditto. + (eti_item_region_redraw): New function. + + * e-table-subset.c (etss_proxy_model_row_changed): Added model + proxying. + + * e-cell.h: Drop ETableModel from the ECell; + (realize): Now takes an ETableModel + + * e-cell-checkbox.c: Adapted to new class + changes; + * e-cell-toggle.c: ditto + + * e-table-subset.c (etss_row_count): Fix this guy. + +1999-12-11 Miguel de Icaza <miguel@helixcode.com> + + * e-table-item.c (eti_unrealize_cell_views): Null the cell views. + (eti_header_structure_changed): Only unrealize/realize if we were + realized before. + + * e-table-header.c (e_table_header_add_column): Allow -1 as an + insert position + +1999-12-11 Miguel de Icaza <miguel@helixcode.com> + + * e-table.c: Massive fixage. + + * test-table.c: Updates to test the mega widget. + +1999-12-10 Miguel de Icaza <miguel@helixcode.com> + + * e-table.c: New file, implements the mega widget. + +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. + +1999-12-02 Miguel de Icaza <miguel@gnu.org> + + * e-table-header.c (e_table_header_index): fixed api. + +1999-12-01 Miguel de Icaza <miguel@gnu.org> + + * test-cols.c (multi_cols_test): Update to simplified API. + * test-check.c (check_test): ditto + * test-table.c (table_browser_test): ditto + + * e-table-simple.c (e_table_simple_class_init): Kill column_name method. + + * e-table-model.h: Kill column_name method. + + * e-table-col.c (e_table_col_new): Instead of using a column name, + use a column index. + + * e-cell-text.c (ect_draw): Keep track of the originally allocated + piece of code. + + * e-table-header-item.c (ethi_unrealize): Removed change cursor + from here. + + * e-cell-text.c (ect_draw): Memory leak fix. + + * table-test.c (main): Enhance the demo to load sample.table + automatically, to get memprof working. + + * e-table-header.c (eth_do_remove): Take an argument: do -remove. + + * e-table-header.c (e_table_header_add_column): Sink ETableCol to + own the object. + + * e-table-col.h: Made ETableCol a GtkObject to make reference + counting the lifecycle method for these objects. + + * e-table-col.c (e_table_col_destroy): New API call. + + * e-table-subset.c (e_table_subset_get_toplevel): New API call. + +1999-11-30 Miguel de Icaza <miguel@gnu.org> + + * e-cell-checkbox.c (e_cell_checkbox_new): This one derives from + e-cell-toggle. + + * check-emtpy.xpm, check-filled.xpm: new files. + + * e-cell-toggle.c (etog_draw): Paint in white. + If we have transparency enabled, do the nice alpha computation. + + * test-table.c, test-cols.c: new files; They implement the split + tests. + +1999-11-29 Miguel de Icaza <miguel@gnu.org> + + * e-table-col.c (e_table_col_new): Set etc->resizeable. + + * e-table-header-item.c (ethi_event): Handle non-resizeables + columns; Add support for minimum width. + + * 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. + +1999-11-28 Miguel de Icaza <miguel@gnu.org> + + * e-table-item.c (eti_draw): Focus inside, not outside. + (eti_realize): Enhance our focus gc. + + * 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; + +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. + +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 + propagation to cells. + + * e-cell-text.c (ect_draw): Use CellViews now. + + * e-table-item.c (eti_realize_cell_views): New routine: Realizes + the cell views + (eti_unrealize_cell_views): New routine: unrealizes the cell views. + + * e-table-item.h: Move cell_views array here. + + * table-test.c (value_at): Fix return value. + (main): use new invocation method. + + * 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. + +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. + + * 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. + +1999-11-19 Miguel de Icaza <miguel@gnu.org> + + * e-table-item.c (eti_realize): Hook up; Load gcs. + (eti_unrealize): Hook up. + + * e-table-sorted.c: Finished implementing. + +1999-11-18 Miguel de Icaza <miguel@gnu.org> + + * e-table-model.c (e_table_model_class_init): Add model_changed + signal here. + + * e-table-item.c, e-table-item.h: New files. They implement the + view of the ETableModel as Canvas Items. + + * e-table-header-item.c (ethi_set_arg): Ref header here. + (ethi_destroy): Unref it here. + +1999-11-17 Ettore Perazzoli <ettore@gnu.org> + + * e-msg-composer-address-dialog.c: Moved to `$(srcdir)/composer'. + * e-msg-composer-address-dialog.h: Likewise. + * e-msg-composer-address-entry.c: Likewise. + * e-msg-composer-address-entry.h: Likewise. + * e-msg-composer-attachment-bar.c: Likewise. + * e-msg-composer-attachment-bar.h: Likewise. + * e-msg-composer-attachment.c: Likewise. + * e-msg-composer-attachment.h: Likewise. + * e-msg-composer-hdrs.c: Likewise. + * e-msg-composer-hdrs.h: Likewise. + * e-msg-composer.c: Likewise. + * e-msg-composer.h: Likewise. + * e-msg-composer-address-dialog.glade: Likewise. + * e-msg-composer-attachment.glade: Likewise. + * e-msg-composer.glade: Likewise. + * Makefile.am: Updated accordingly. + +Nov 14 1999 Elliot Lee + * Makefile.am: It's libevolutionwidgets.la, not .a + +1999-11-14 Miguel de Icaza <miguel@gnu.org> + + * e-table-header-item.c (is_pointer_on_division): Add resizing + capabilities. + + * e-table-sorted.c: Finish implementation. + +1999-11-13 Miguel de Icaza <miguel@gnu.org> + + * e-table-sorted.c: Implement e-table-sorted object. + +1999-11-12 Miguel de Icaza <miguel@gnu.org> + + * e-table-header-item.c: Make the thing configurable. + + * e-table-header-item.h: Add font field, location, height. + +1999-11-12 Ettore Perazzoli <ettore@gnu.org> + + * e-msg-composer-hdrs.c: New member `tooltips' in `struct + _EMsgComposerHdrsPrivate'. + (init): Initialize it. + (destroy): New function. + (class_init): Install it as the `destroy' GtkObject method. + (add_header): New parameters `tip', `tip_private'. Setup a + tooltip for the entry with them. + (setup_headers): Updated accordingly. + +1999-11-11 Miguel de Icaza <miguel@gnu.org> + + * e-table-header.c (e_table_header_add_column): Update offsets. + (eth_update_offsets): New routine. + + * e-table-col.h, e-table-col.c: New files. + + * e-table-header.h (e_table_header_get_selected_indexes): + Pretify. + + * table-test.c (main): New file; used for testing ETable package. + + * e-table-simple.h: Fix type. + +1999-11-12 Ettore Perazzoli <ettore@gnu.org> + + * e-msg-composer-address-dialog.glade: Cosmetical changes. + + * e-msg-composer-attachment-bar.c (size_to_string): New helper + function. + (update): Put the size in the icon's label using this function. + (ICON_SEPARATORS): Remove '.' to avoid wrapping of the size string + on the decimal dot. But gnome-libs is broken and this has no real + effect! :-( + (e_msg_composer_attachment_bar_new): No longer make text editable. + Use the `GTK_SELECTION_MULTIPLE' selection mode. + (remove_selected): No longer assume only one attachment is + selected. + + * e-msg-composer-attachment.c: #include <sys/stat.h> + (init): Initialize all the members. + (e_msg_composer_attachment_new): Set size using `stat()'. + + * e-msg-composer-attachment.h: New member `size' in `struct + _EMsgComposerAttachment'. + + * e-msg-composer.c (setup_signals): Connect `address_dialog_cb' to + the "show_address_dialog" signal of the header widget. + + * e-msg-composer-hdrs.c (add_address_header): Renamed to + `add_header'. New parameter `addrbook_button': if true, use a + button instead of a label and make it trigger an + "show_address_dialog" signal. + (address_button_clicked_cb): Signal handler to handle this on a + "clicked" signal from the button. + (setup_headers): Updated accordingly. Also, make "Subject" the + last item. (This makes it look more like Outlook and friends.) + + * e-msg-composer-hdrs.c: New signal "show_address_dialog". + * e-msg-composer-hdrs.h: Updated accordingly. + + * e-msg-composer-hdrs.c (add_address_header): Reduce padding + considerably. + + * e-msg-composer.c (e_msg_composer_construct): Do not use any + padding in the main vbox. + + * Makefile.am: Moved the `e-table*' sources to `EXTRA_DIST'. + Compile as a shared library. + +1999-11-08 Ettore Perazzoli <ettore@gnu.org> + + * e-msg-composer-address-dialog.c: Implemented cut & paste for the + recipient lists. + (init): Initialize `cut_buffer'. + (destroy): Free it. + (recipient_clist_selection_get_cb): New function. + (recipient_clist_selection_received_cb): New function. + (recipient_clist_selection_clear_event_cb): New function. + (setup_recipient_list_signals): Install them as signal handlers + for "selection_get", "selection_received" and + "selection_clear_event" respectively. + (copy_recipient_cb): New function implementing the "copy" + operation. + (cut_recipient_cb): New function implementing the "cut" operation. + (paste_recipient_cb): New function implementing the "paste" + operation. + + * e-msg-composer-address-dialog.h: New member `cut_buffer' in + `struct _EMsgComposerAddressDialog'. + +1999-11-07 Ettore Perazzoli <ettore@gnu.org> + + * e-msg-composer-address-dialog.c: New context menu + `recipient_list_popup_info' for the recipient CLists. + (recipient_clist_button_press_cb): New function. + (setup_signals): Install it as the "button_press_event" signal + handler for popping up the CList context menu. + + * e-msg-composer.c (free_string_list): New helper function. + (setup_address_dialog): Setup the initial values in the address + dialog according to the ones in the header widget. + + * e-msg-composer-hdrs.c (e_msg_composer_hdrs_get_to): New function. + (e_msg_composer_hdrs_get_cc): New function. + (e_msg_composer_hdrs_get_bcc): New function. + + * e-msg-composer.c (setup_address_dialog): New helper function. + (address_dialog_cb): Use it. + + * e-msg-composer-address-dialog.c (add_address): Do not set the + row data anymore. Instead, put the full address description + (i.e. complete with the email address, not just the full name) in + the CList. + (add_address): Do nothing if no item is selected in the address + CList. + (get_list): Get the address list from the CList without passing + through the address CList. + (set_list): New helper function. + (e_msg_composer_address_dialog_set_to_list): New function. + (e_msg_composer_address_dialog_set_cc_list): New function. + (e_msg_composer_address_dialog_set_bcc_list): New function. + + * e-msg-composer.c (address_dialog_apply_cb): Apply values from + the address dialog into the composer. + + * e-msg-composer-hdrs.c (e_msg_composer_hdrs_set_to): New function. + (e_msg_composer_hdrs_set_cc): New function. + (e_msg_composer_hdrs_set_bcc): New function. + + * e-msg-composer-address-entry.c + (e_msg_composer_address_entry_set_list): New function. + + * e-msg-composer-address-dialog.c (apply): New helper function. + (clicked): New function, `clicked' method for the `GnomeDialog' + class. + (class_init): Install it. + +1999-11-06 Ettore Perazzoli <ettore@gnu.org> + + * e-msg-composer-attachment-bar.c (destroy): Call the destroy + method of the parent class. + + * e-msg-composer.c: #include "e-msg-composer-address-dialog.h". + (address_dialog_cb): New callback to start the address dialog. + (setup_signals): Connect it to the appropriate button/menu item. + (init): Initialize the new `address_dialog' member to NULL. + (destroy): Destroy the `address_dialog' if not NULL. + + * e-msg-composer.h: New member `address_dialog' in `struct + _EMsgComposer'. + + * e-msg-composer.glade: Added button to activate the address + composition dialog. + + * e-msg-composer-address-dialog.h, e-msg-composer-address-dialog.c: + New files implementing the address composition dialog for Evolution. + + * e-msg-composer-address-dialog.glade: New file. + + * e-msg-composer-attachment.c: `signals' made static. + +1999-11-05 Ettore Perazzoli <ettore@gnu.org> + + * Makefile.am: Compile the new files in a `libevolutionwidgets' + library. + (CPPFLAGS): #define `E_GUIDIR'. + + * e-msg-composer.c, e-msg-composer.h: New files implementing an + initial version of the Evolution message composer widget. + + * e-msg-composer-address-entry.c, e-msg-composer-address-entry.h: + New files implementing a GtkEntry customized for entering email + address lists. + + * e-msg-composer-attachment-bar.c, e-msg-composer-attachment-bar.h: + New files implementing a widget for editing mail attachments. + + * e-msg-composer-attachment.c, e-msg-composer-attachment.h: New + files implementing file attachment objects for the message + composer. + + * e-msg-composer-hdrs.c, e-msg-composer-hdrs.h: New files + implementing a widget for editing of email message headers. + + * e-msg-composer-attachment.glade: New file. + * e-msg-composer.glade: New file. + +1999-10-31 Miguel de Icaza <miguel@gnu.org> + + * widgets/e-table-column.c, e-table-column.h: New file, implements the + e-table-column object. + + * widget/e-table-model.h, e-table-model.c, e-table-simple.c, + e-table-simple.h: New files. Implements the column model and + a simple table wrapper. + |