blob: 8cbceddb9f3498fc3aca9a6de3ecd6b3d945f4b5 [file] [log] [blame]
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>New and Noteworthy in GEF 3.0</title>
<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">
<style>
<!--
-->
</style>
</head>
<body>
<h1>GEF 3.0 - New and Noteworthy</h1>
<table cellpadding="10" cellspacing="0" width="600">
<colgroup>
<col width="20%" valign="top" align="right">
<col width="80%" valign="top" align="left">
</colgroup>
<tr>
<td colspan="2"><hr></td>
</tr>
<tr>
<td valign="top" align="right"><b>Rulers and Guides</b></td>
<td>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 <i>Alt</i> key while dragging. Feedback
is shown in the form of a red line when a part is being attached to a guide.
<p>
<img src="images-30/rulers-guides.gif" alt="Screenshot showing a circuit being attached to a guide" title="Rulers and Guides"></p>
<p>Parts that are attached to a guide will then move with the guide.</p>
<p>
<img src="images-30/guide-drag.gif" alt="Screenshot showing parts being dragged with a guide" title="Dragging Guides"></p>
<p>A mechanism is available to show or hide rulers.</p>
<p>
<img src="images-30/rulers-menu.jpg" alt="Screenshot showing rulers enabled on the view menu" title="View Menu"></p>
</td>
</tr>
<tr>
<td colspan="2"><hr></td>
</tr>
<tr>
<td valign="top" align="right"><b>Grid</b></td>
<td>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 <i>Alt</i> 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.
<p>
<img src="images-30/grid.gif" alt="Screenshot showing a resized part snapping to grid" title="Grid"></p>
</td>
</tr>
<tr>
<td colspan="2"><hr></td>
</tr>
<tr>
<td valign="top" align="right"><b>Snap to Geometry</b></td>
<td>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
circuits.
<p>
<img src="images-30/geometry.gif" alt="Screenshot showing the Snap to Geometry feature" title="Snap to Geometry"></p>
<p>As with the other snapping features, it can be disabled by holding down
<i>Alt</i> while dragging, or can be permanently turned off.</p>
</td>
</tr>
<tr>
<td colspan="2"><hr></td>
</tr>
<tr>
<td valign="top" align="right"><b>Constrained Move and Resize</b></td>
<td>Holding down the <i>Shift</i> key while moving a part will restrict
that part&#39;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.<p></p>
</td>
</tr>
<tr>
<td colspan="2"><hr></td>
</tr>
<tr>
<td valign="top" align="right"><b>Centered Resize</b></td>
<td>Holding down the <i>Ctrl</i> 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.
<p>
<img src="images-30/centered-resize.gif" alt="Screenshot showing centered resize" title="Centered Resize"></p>
</td>
</tr>
<tr>
<td colspan="2"><hr></td>
</tr>
<tr>
<td valign="top" align="right"><b>Cloning</b></td>
<td>Holding down the <i>Ctrl</i> key while dragging activates cloning. Instead
of moving the parts being dragged, copies of those parts will be created
at the new location.&nbsp; During cloning, the cursor will also change to
indicate creation. </td>
</tr>
<tr>
<td colspan="2"><hr></td>
</tr>
<tr>
</tr>
<tr>
<td valign="top" align="right"><b>Palette View</b></td>
<td>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.</td>
</tr>
<tr>
<td colspan="2"><hr></td>
</tr>
<tr>
<td valign="top" align="right"><b>Fly-out Palette</b></td>
<td>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.
<p>
<img src="images-30/flyout-hidden.gif" alt="Screenshot showing the hidden flyout palette" title="Fly-out Palette Hidden"></p>
<p>The user can also pin it open, if so desired.</p>
<p>
<img src="images-30/flyout-context-menu.gif" alt="Screenshot showing the fly-out palette pinned open and its context menu" title="Fly-out Palette Showing"></p>
<p>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.</p>
</td>
</tr>
<tr>
<td colspan="2"><hr></td>
</tr>
<tr>
<td valign="top" align="right"><b>Palette Stacks</b></td>
<td>
<p>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 <i>Alt+Down</i> .</p>
<p>
<img src="images-30/palette-stack.gif" alt="Screenshot showing a palette stack and its drop-down menu" title="Palette Stack" align="middle"></p>
</td>
</tr>
<tr>
<td colspan="2"><hr></td>
</tr>
<tr>
<td valign="top" align="right"><b>Shortest Path Connection Routing</b></td>
<td>An automatic connection routing technique, that employs the shortest
path algorithm to find paths around obstacles, is now available in GEF.
<p>
<img src="images-30/shortestPaths.gif" alt="Screenshot showing automatic connection routing" title="Shortest Path Connection Routing Technique"></p>
<p>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.</p>
<p>
<img src="images-30/propertySheet.gif" alt="Screenshot showing the connection router in the property sheet" title="Property Sheet"></p>
</td>
</tr>
<tr>
<td colspan="2"><hr></td>
</tr>
<tr>
<td valign="top" align="right"><b>Panning</b></td>
<td>With the PanningSelectionTool, it is possible to pan by moving the mouse
while holding down <i>spacebar</i> and <i>mouse button 1</i> (left mouse
button).&nbsp; This is demonstrated in the logic example, which uses the
PanningSelectionTool as the default tool, instead of the SelectionTool.</td>
</tr>
<tr>
<td colspan="2"><hr></td>
</tr>
<tr>
<td valign="top" align="right"><b>Match Size of Figures</b></td>
<td>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).
<p>
<img src="images-30/matchSize.jpg" alt="Screenshot showing the actoins on the view menu" title="Match Width of Figures and Match Height of Figures"></p>
</td>
</tr>
</table>
<br>
<br>
<p>
<img src="images-30/cpy.gif" border="0" alt="Copyright 2000, 2004 IBM Corporation and others." width="324" height="14">
</p>
</body>
</html>