hi,
i'm attaching a patch for the current dia cvs tree that adds the
following functionalities to the diagram tree window:
- the diagram tree is not created/updated if the diagram tree window
is never shown.
- a single mouse click on a diagram or object node does not raise
the corresponding diagram window nor selects the object. a double
click is needed.
- right-clicking a node pops up a context menu with the following
commands:
* Locate: same as double click
* Properties: pop up the properties window (for objects)
* Sort objects:
+ by name
+ by type
+ as inserted : these three have effect on the current
diagram
+ All by name
+ All by type
+ All as inserted: these affect objects in all
current diagrams
+ Default:
+ by name
+ by type
+ as inserted: these affect objects in all current and
new diagrams
* Sort diagrams:
+ by name
+ as inserted : these three have effect on the current
diagrams
+ Default:
+ by name
+ as inserted: these affect all current and
new diagrams.
- the diagram tree has now its own preferences tab, and includes the
initial width and height of the diagram tree window as configurable
params. also, the default diagram and object sort modes are stored
in diarc.
caveats:
- the pop-up menus are created using raw gtk (no #ifdef GNOME
stuff). i have not added GNOME-style menus because gtk menus work
fine for both GNOME and gtk, and the pop-up menus are so simple that
i thought GNOME menus were not necessary: am i mistaken?
- the menus are implemented in diagram_tree_menu.c instead of putting
the code in menus.c... maybe i'm missing some i18n handling of the
new menus: i have not fully understood the stuff in menus.c: any
help/comments greatly appreciated! :-)
todo:
- allow multiple selection of objects/diagram nodes
- a menu/preferences option to hide objects of some type (for
instance, when displaying UML use cases, i'm not interested in
seeing the connectors...)
- delete command in pop-ups???
- handle the tree window size using sessions
- <put your suggestion here :-)>
as always, any comment will be highly appreciated.
cheers,
jao