2000-11-06 Christopher James Lahey <clahey@helixcode.com>
* e-table-header-item.c: Changed this to match the new EPopupMenu
structre.
svn path=/trunk/; revision=6467
2000-11-06 Jeffrey Stedfast <fejj@helixcode.com>
* gal/widgets/e-popup-menu.h: Add a submenu field to struct
EPopupMenu.
* gal/widgets/e-popup-menu.c (e_popup_menu_create): If the menu
item has a submenu field, create the submenu and attach it.
* configure.in: Bumped the micro-version because of some changes
to e-popup-menu's structure.
svn path=/trunk/; revision=6461
2000-11-06 Christopher James Lahey <clahey@helixcode.com>
* e-search-bar.h: Fixed the argument comment. Removed an old enum
that's not used here.
svn path=/trunk/; revision=6457
2000-11-06 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am: Added e-search-bar.c and e-search-bar.h.
* e-search-bar.c, e-search-bar.h: Moved this from
e-addressbook-search.
svn path=/trunk/; revision=6454
2000-11-05 Christopher James Lahey <clahey@helixcode.com>
* .cvsignore, Makefile.am, gal-define-views-dialog.c,
gal-define-views-dialog.h, gal-define-views.glade,
gal-define-views.glade.h: New files for the new define views
dialog.
svn path=/trunk/; revision=6410
2000-11-03 Christopher James Lahey <clahey@helixcode.com>
* e-table-selection-model.c: Turned on proper handling of insert
and delete.
svn path=/trunk/; revision=6375
2000-11-02 Federico Mena Quintero <federico@helixcode.com>
* e-dateedit.h (EDateEditClass): Removed the "time_changed"
signal, since it was never being emitted in the first place. Time
values *are* both date and time together anyways, so whenever one
changes we should notify about the whole date/time value being
changed.
Renamed the remaining "date_changed" signal to just "changed".
* e-dateedit.c (e_date_edit_class_init): Do not create the
"time_changed" signal; rename the other one to "changed".
(set_time): Moved the core functionality from
e_date_edit_set_time() to here. This function just sets the
widgets' values without emitting any signals.
(e_date_edit_set_time): Emit the "changed" signal unconditionally.
This is to be consistent with the rest of the GTK+ widgets, and it
actually makes writing client code easier.
(e_date_edit_new): Use set_time().
(on_date_popup_now_button_clicked): Do not emit the signal here.
(on_date_popup_none_button_clicked): Likewise.
(e_date_edit_set_time_of_day): Emit the signal, since we do not
call e_date_edit_set_time().
svn path=/trunk/; revision=6367
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.
svn path=/trunk/; revision=6363
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
svn path=/trunk/; revision=6354
* modified or added a bunch of .cvsignore to ignore
generated files, which are not in repository.
* call *textdomain() in various files only when
ENABLE_NLS is defined
svn path=/trunk/; revision=6310
2000-10-30 Kjartan Maraas <kmaraas@gnome.org>
* e-calendar-item.c: #include <string.h> to get rid of warning.
* e-clipped-label.c: Same here.
svn path=/trunk/; revision=6287
2000-10-27 Federico Mena Quintero <federico@helixcode.com>
* e-dateedit.c (e_date_edit_destroy): Do not unref the cal_popup
since we already destroyed it.
svn path=/trunk/; revision=6244
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.
svn path=/trunk/; revision=6218
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.
svn path=/trunk/; revision=6202
2000-10-25 Christopher James Lahey <clahey@helixcode.com>
* e-table-item.c: Made the column on the right click and click
signals be the model column instead of the view column.
svn path=/trunk/; revision=6172
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.
svn path=/trunk/; revision=6156
2000-10-23 Christopher James Lahey <clahey@helixcode.com>
* e-table-item.c: Destroy the tooltip timeout on object
destruction.
svn path=/trunk/; revision=6137
2000-10-22 Christopher James Lahey <clahey@helixcode.com>
* e-table-item.c: Made it so that it doesn't recalculate all the
rows if a row is changed, inserted or deleted.
* e-table-subset.c: Added debugging code (turned off).
svn path=/trunk/; revision=6102
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.
svn path=/trunk/; revision=6101
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.
svn path=/trunk/; revision=6099
2000-10-19 Christopher James Lahey <clahey@helixcode.com>
* gal/e-text/e-text-event-processor-emacs-like.c: Made the number
keys on the number pad work in ETexts and ECellTexts.
svn path=/trunk/; revision=6027
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.
svn path=/trunk/; revision=6019
2000-10-18 Christopher James Lahey <clahey@helixcode.com>
* e-table-field-chooser-item.c, e-table-field-chooser-item.h:
Fixed ETableFieldChooser row heights a bit.
* e-table-header-item.c: Formatting clean up.
* e-table-state.c: Added saving of the version of the ETableState.
This way, if we change the format of an ETableState, we can detect
old version numbers.
svn path=/trunk/; revision=6016
2000-10-18 Christopher James Lahey <clahey@helixcode.com>
* e-cell-text.c: Make text a different color if !(flags &
E_CELL_FOCUSED).
* e-cell.h: Added E_CELL_FOCUSED to flags.
* e-table-item.c: Changed the background color of selected cells
if the widget is focused. Send E_CELL_FOCUSED to flags if the
widget is focused.
* e-table.c: Repaint the window if focus changes.
svn path=/trunk/; revision=6010
2000-10-18 Christopher James Lahey <clahey@helixcode.com>
* e-table-subset.c, e-table-subset.h: Sped up signal propogation.
svn path=/trunk/; revision=6006
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.
svn path=/trunk/; revision=5993
2000-10-18 Christopher James Lahey <clahey@helixcode.com>
* e-table.c: Make background color of ETable match the background
color of item rows.
svn path=/trunk/; revision=5989
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.
svn path=/trunk/; revision=5988
2000-10-18 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am: Moved the glade file directories.
* e-table-header-item.c: Removed an unused variable.
svn path=/trunk/; revision=5982
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.
svn path=/trunk/; revision=5937
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.
svn path=/trunk/; revision=5932
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.
svn path=/trunk/; revision=5931
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).
svn path=/trunk/; revision=5903
2000-10-13 Christopher James Lahey <clahey@helixcode.com>
* gal/Makefile.am: Added e-table-config-field.lo.
* tests/test-tree-2.c: Changed this to use cursor-mode in the xml
instead of the no longer existing gtk argument.
From gal/e-table/ChangeLog:
2000-10-13 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am: Added e-table-config-field.c and
e-table-config-field.h.
* e-table-column-specification.c: Cleaned this up a bit. Made it
leak less memory.
* e-table-config-field.c, e-table-config-field.h: New files.
This is the configuration widgets for sorting or grouping.
* e-table-config.c, e-table-config.h: Nuked these and replaced
them with a widget that handles all the ETable configuration.
* e-table-config.glade, e-table-config.glade.h: Updated this a bit
to match what's actually being used better. This isn't used in
actual code.
* e-table-header-item.c, e-table-header-item.h: Added a pointer to
the table in the header item structure so that we can launch the
configuration from the header item right click menu. Made the
header item launch the ETable configuration dialog.
* e-table.c, e-table.h: Keep the spec given to us around. Added a
get_state_object function which returns an ETableState *. Set the
"table" argument on the header item.
svn path=/trunk/; revision=5901
2000-10-11 Damon Chaplin <damon@helixcode.com>
* e-calendar-item.c (e_calendar_item_recalc_sizes): fixed to
recalculate min_cell_width/height in case the show_week_numbers option
is changed.
* e-dateedit.c: added support for hiding the date field, and added
get/set_time_of_day() functions to get/set just the time.
svn path=/trunk/; revision=5854