This file lists features of GEF. This is useful in seeing what is there, and can be a good place to start before diving into the code. Also this feature list is useful for informal regression testing: if you add something new, check to make sure that all the old features still work.
Each feature is named with a unique string (e.g., "drag_object_constrained").
Some features are planned but not implmented. These are left as projects for students or other users of this framework. These features are marked with "Needs-More-Work" here.
Most of these features are user-visible, meaning that they are something that the user can see and use. Some of them are programmer features that only the programmer can see and use. Most of the programmer features are in section 7.
My intent was mainly to list features, and to describe them only a little bit. A detailed description of each feature would be useful for on-line help, but it would take a very long time to write and it would need to be updated as GEF changes. I have given brief comments only where the names of features are not enough to describe them.
Feature list overview:
a.
FEATURE: select_by_click Needs-More-Work
b.
FEATURE: select_by_area
c.
FEATURE: select_by_tab_key
d.
FEATURE: select_all
e.
FEATURE: select_inversion
f.
FEATURE: select_none
g.
FEATURE: select_by_predicate Needs-More-Work
a.
FEATURE: drag_object
b.
FEATURE: drag_object_constrained
c.
FEATURE: drag_handle
Clicking on a Fig selects it. Shift-click is buggy.
Starting on the drawing background and dragging out an area with the
mouse will select all Figs in the rectangle.
Pressing the tab key when zero or one Figs are selected
will select the first or next Fig. Shift-tab selects the
last/previous element. The ordering of Figs is their
back-to-front ordering.
A menu comand allows users to select all Figs in the
diagram.
A menu command allows users to select all Figs that are
not currently selected.
Clicking in the background area deselects all Figs.
In the future I would like to define a dialog box that allows users
to select all Figs that fit certain criteria: e.g.,
select all rectangles that have line width of zero.
When the user drags starting from a Fig, the
Fig is continously modified until the user lets go.
The user can move Figs around by dragging them.
Holding down the control key keeps the Figs moving only
vertically or only horizontally.
Dragging on a handle of a selected Fig will change the
state of the Fig, e.g., resizing it.