aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--widgets/ChangeLog5
-rw-r--r--widgets/table/ChangeLog8918
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.
+