|Rulers and Guides||GEF viewers can now display accessible rulers along their top and left
edges. A ruler can display pixels, centimeters or inches. Guides can be
created on the ruler by clicking on an empty spot on the ruler or via its
context menu. Parts in the graphical editor can be dragged and attached
to the guides. They can also be attached when resizing. Alternatively, snapping
can be disabled by holding down the Alt key while dragging. Feedback
is shown in the form of a red line when a part is being attached to a guide.
Parts that are attached to a guide will then move with the guide.
A mechanism is available to show or hide rulers.
|Grid||GEF now provides a grid. Parts can be snapped to a grid during creation,
moving or resizing. It is also possible to have connection bendpoints snap
to it. (Note that snapping during creation and snapping of connection bendpoints,
although possible, have not been implemented in the logic example.) Alternatively,
snapping can be disabled by holding down the Alt key while dragging.
Grid snapping and visibility are two distinct properties, and it is possible
to enable one without the other. Like the rulers, the grid can be turned
off, if so desired.
|Snap to Geometry||The Snap to Geometry feature allows you to quickly align parts being
dragged to other parts in the diagram. Edges of parts being resized can
be snapped as well. A blue feedback line shows what the part is snapping
to. In the screenshot below, the circuit being dragged is aligning to the
vertical center of the topmost circuit, and the bottom of the other two
As with the other snapping features, it can be disabled by holding down Alt while dragging, or can be permanently turned off.
|Constrained Move and Resize||Holding down the Shift key while moving a part will restrict that part's movement to one of the primary eight directions (N, S, E, W and the intermediaries). Doing the same while resizing will cause a proportionate resize: the height to width ratio will be maintained.|
|Centered Resize||Holding down the Ctrl key while resizing will cause a resize
to happen in the opposite direction of the drag as well, such that the center
of the part being resized will not change after the resize is done.
|Cloning||Holding down the Ctrl key while dragging activates cloning. Instead of moving the parts being dragged, copies of those parts will be created at the new location. During cloning, the cursor will also change to indicate creation.|
|Palette View||GEF 3.0 introduces the Palette View. This allows users to customize the size and placement of the palette, and even close it when not needed. Moreover, that size and placement remains the same between multiple GEF-based editors.|
|Fly-out Palette||For clients that require the palette to be always visible, and to provide
further customizability to the end-user, the fly-out palette is also being
introduced. The palette flies out over the top of the editor when the user
hovers over it (or clicks on it), and auto-hides when not in use.
The user can also pin it open, if so desired.
It can be resized, docked on either size of the editor, and is completely accessible. The fly-out is only visible when the palette view is not. It automatically comes up when the palette view is closed (or when the user switches to a perspective in which the view is not open), and disappears when the palette view is opened. The palette state (selection, drawer expansion, etc.) is maintained when switching from the view to the fly-out and vice-versa.
It is now possible to create stacks of entries on the palette. The active entry in the stack is the one visible on the top. A drop-down menu allows changing the active entry. When the palette is in any layout other than list, the drop-down can only be accessed via Alt+Down .
|Shortest Path Connection Routing||An automatic connection routing technique, that employs the shortest
path algorithm to find paths around obstacles, is now available in GEF.
This feature can be activated in the logic example by deselecting everything in the diagram and then changing the connection router via the property sheet.
|Panning||With the PanningSelectionTool, it is possible to pan by moving the mouse while holding down spacebar and mouse button 1 (left mouse button). This is demonstrated in the logic example, which uses the PanningSelectionTool as the default tool, instead of the SelectionTool.|
|Match Size of Figures||New actions are available that can, with more than one part selected,
resize all selected parts to have the same height or width as that of the
primary selection (the part that was last selected).