| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-11-13 Christopher James Lahey <clahey@helixcode.com>
* configure.in: Updated version number.
* gal/e-table/e-tree-model.c, gal/e-table/e-tree-model.h: Added
freeze and thaw functions.
* gal/menus/gal-define-views-dialog.c: Fixed some warnings.
svn path=/trunk/; revision=6563
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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-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-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-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-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.
svn path=/trunk/; revision=5705
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=5674
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=5573
|
|
|
|
| |
svn path=/trunk/; revision=5513
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=5162
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=4912
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=3707
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=3706
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-06-10 Chris Toshok <toshok@helixcode.com>
* e-table-item.c (eti_event): change things so we focus the cell
and select the row, and also dispatch the event to that row/cell.
This fixes the problem with the tree where you had to click twice
to activate the tree controls.
* Makefile.am (libetable_a_SOURCES): remove e-tree-gnode.* and add
e-tree-simple.*
(icons): add tree-expanded.xpm and tree-unexpanded.xpm
* e-cell-tree.c (ect_enter_edit): defer to subcell's view.
(ect_leave_edit): defer to subcell's view.
(visible_depth_of_node): visual depth, taking into account that
the root node of the model might not be displayed.
(offset_of_node): return the offset used to shift the subcell
over.
(ect_draw): don't draw vertical lines if we're the leftmode node
(a visual root node). also, don't shift x2 by the subcell offset,
so we get ellipses like we're supposed to.
(ect_event): remove GDK_BUTTON_RELEASE from the list of events
that we care about.
* e-tree-example-1.c: lots of changes, a more dynamic UI so we can
test tree model api stuff.
* e-tree-gnode.c, e-tree-gnode.c: removed files, since their guts
have been rolled into e-tree-model.c
* e-tree-model.c, e-tree-model.h: substantially changed. too much
to really describe here. this should really be considered the
first revision of these files :)
* e-tree-simple.c, e-tree-simple.h: analogous to e-table-simple, a
subclass that allows the use of function pointers.
svn path=/trunk/; revision=3519
|
|
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.
svn path=/trunk/; revision=3483
|