| <!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>Eclipse Tools - GEF Project</title> |
| <link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" |
| type="text/css"> |
| <style> |
| <!-- |
| td { } |
| ul { margin-bottom: 0 } |
| h4 { margin-bottom: 0 } |
| h3 { margin-bottom: 2 } |
| --> |
| </style> |
| </head> |
| <body> |
| <table width="709" cellspacing="0" bordercolor="#111111" |
| style="border-collapse: collapse;" border="0"> |
| <tbody> |
| <tr> |
| <td width="709" colspan="3" valign="top"> <img |
| src="../images/gefbanner.jpg?cvsroot=Tools_Project" border="0"><br> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <table border="0" cellpadding="3" cellspacing="0" |
| style="border-collapse: collapse;" bordercolor="#111111"> |
| <tbody> |
| <tr> |
| <td valign="top" bgcolor="#0070a0"><b> |
| <font face="Arial,Helvetica" color="#ffffff" |
| style="font-size: 20pt;">GEF Project<br> |
| Initial 3.2 Plan |
| (DRAFT)</font></b></td> |
| </tr> |
| <tr> |
| <td> |
| <br> |
| Last revised |
| <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%A, %B %d, %Y" startspan -->Friday, July 08, 2005<!--webbot bot="Timestamp" endspan i-checksum="28382" --><ul> |
| <li><a href="#deliverables">Release deliverables</a></li> |
| <li><a href="#milestones">Release milestones</a></li> |
| <li><a href="#targets">Target operating environments</a></li> |
| <li><a href="#compatibility">Compatibility with previous releases</a></li> |
| <li>Major line-items for this release</li> |
| </ul> |
| <p> </td> |
| </tr> |
| <tr> |
| <td> |
| <h3><a name="deliverables">Release Deliverables</a></h3> |
| <ul> |
| <li> |
| <p dir="ltr">Source code release for Graphical Editing Framework, |
| available as versions tagged "R3_2" in the Eclipse Tools Project |
| <a href="http://dev.eclipse.org/viewcvs/index.cgi?cvsroot=Tools_Project"> |
| CVS repository</a>. |
| </li> |
| <li> |
| <p dir="ltr">Graphical Editing Framework SDK (includes runtime binary, |
| source code, and ISV documentation) (downloadable).</li> |
| <li>Graphical Editing Framework runtime binary (downloadable).</li> |
| <li>Graphical Editing Framework Examples and source (downloadable).</li> |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td> |
| <h3><a name="milestones">Release Milestones</a></h3> |
| <p>Release milestone occurring at roughly 6 week intervals exist to |
| facilitate coarse-grained planning and staging. The milestones are:</p> |
| <ul> |
| <li>Friday Aug. xx, 2005 - Milestone 1 (3.2 M1) - stable build |
| </li> |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td> |
| <h3><a name="targets">Target Operating Environments</a></h3> |
| <p>GEF 3.2 will support all operating environments supported by the |
| Eclipse Platform itself. For a list of supported environments, |
| refer to the |
| <a href="http://www.eclipse.org/eclipse/development/eclipse_project_plan_3_2.html">Platform 3.2 plan</a>.</td> |
| </tr> |
| <tr> |
| <td> |
| <h3><a name="compatibility">Compatibility of Release 3.2 with 3.1</a></h3> |
| <p>GEF 3.2 will be upwards compatible with GEF 3.1 to the |
| greatest extent possible. Any exceptions will be noted in the 3.2 |
| release notes so that clients can assess the impact of these changes on |
| their plug-ins and products.</p> |
| <p><b>API Contract Compatibility:</b> GEF 3.2 will be upwards |
| contract-compatible with GEF 3.1 unless noted. This means that programs |
| in full compliance with contracts specified in 3.1 APIs will |
| automatically be in full compliance with 3.2 APIs. Refer to <i> <a |
| href="http://eclipse.org/eclipse/development/java-api-evolution.html"> |
| Evolving Java-based APIs</a></i> for a discussion of the kinds of API |
| changes that maintain contract compatibility.</p> |
| <p><b>Binary (plug-in) Compatibility:</b> GEF 3.2 will be upwards |
| binary-compatible with GEF 3.1 unless noted. This means that plug-ins |
| built for GEF 3.1 will continue to work correctly in 3.2 without |
| change. Plug-ins with hard-coded references in their plug-in manifest |
| file to the 3.1 version of GEF plug-ins will work in 3.2 provided the |
| version match rule is "greaterOrEqual" or "compatible" (the default); |
| references using "perfect" or "equivalent" match rules will be broken. |
| Refer to <i> <a |
| href="http://eclipse.org/eclipse/development/java-api-evolution.html"> |
| Evolving Java-based APIs</a></i> for a discussion of the kinds of API |
| changes that maintain binary compatibility.</p> |
| <p><b>Source Compatibility:</b> GEF 3.2 will be upwards |
| source-compatible with GEF 3.1 to the greatest extent possible. This means that source |
| files written to use 3.1 APIs can often be successfully compiled and run |
| against GEF 3.2 APIs. Since source incompatibilities are easy to deal |
| with, maintaining source compatibility is considered much less |
| important than maintaining contract and binary compatibility. The addition |
| of a single method anywhere could be an incompatible source change. |
| For this reason, source-incompatibilities will not be noted.</p> |
| <p><b>Non-compliant usage of API's</b>: All non-API methods and |
| classes, and certainly everything in a package with "internal" in its |
| name, are considered implementation details which may vary between |
| operating environment and are subject to change without notice. Client |
| plug-ins that directly depend on anything other than what is specified |
| as API are inherently unsupportable and receive no guarantees about |
| compatibility within a single release much less with an earlier |
| releases. Refer to <i> <a |
| href="http://www.eclipse.org/articles/Article-API%20use/eclipse-api-usage-rules.html"> |
| How to Use the Eclipse API</a></i> for information about how to write |
| compliant plug-ins.</p> |
| </td> |
| </tr> |
| <tr> |
| <td bgcolor="#0070a0"> |
| <h3><a name="Features"><font color="#FFFFFF">Proposed 3.2 Features</font></a></h3> |
| </td> |
| </tr> |
| <tr> |
| <td> |
| <h4>Proposed Items</h4> |
| <blockquote> |
| <p dir="ltr"><b>WYSIWYG Text Editing.</b> Textual document |
| editing for GEF. Keyboard input, navigation, and mouse |
| selection support via new tools and viewer infrastructure.</p> |
| <p dir="ltr"><b>Palette Keybindings.</b> The user should be able to |
| activate frequently used tools via a customizable keybinding. |
| There are limitation in the keybinding service which must be |
| overcome to implement this feature, especially when the palette is |
| in a view. It must be possible to define Keybindings |
| programmatically for unknown extensions. It should be possible |
| to set the keybinding without necessarily using the keybinding |
| preference page. [GEF, UI]</p> |
| <p dir="ltr"><b>Palette UI improvements.</b> New types of grouping |
| controls for the palette, and possibly a refreshed look-and-feel.</p> |
| <p dir="ltr"><b>Status bar support.</b> Request objects will support |
| the setting of an IStatus. Tools may display messages in the status |
| bar.</p> |
| <p dir="ltr"><b>OperationHistory bridge.</b> Create a CommandStack |
| implementation which delegates to the workbench's operation history.</p> |
| <p dir="ltr"><b>Org-Chart layout algorithm.</b> Laying out a |
| strict hierarchy of nodes in a tree layout similar to an org chart. |
| Two modes of layout are already demonstrated in the draw2d.examples |
| project. But, the algorithm needs to run in standalone mode, |
| and flexible figures should be available which use the standalone |
| algorithm. [draw2d]</p> |
| <p dir="ltr"><b>Snapping Bendpoints.</b> Bendpoints should |
| snap-to-grid when the grid is displayed. They should also snap |
| to guides if possible. [GEF]</p> |
| </blockquote> |
| <blockquote> |
| <p dir="ltr"><b>Orthogonal Connection Router and Handles.</b> |
| A connection router which routes connections using only horizontal |
| and vertical line segments. The user should be able to grab a |
| segment and move it, which updates the constraint used for the |
| connection. [GEF, draw2d]</p> |
| <p dir="ltr"><b>Better keyboard traversal order for connection |
| EditParts.</b> When selecting connections via the keyboard |
| using forward-slash, the order is based on the model order. |
| The model order is often not important and does not correspond to |
| the visual arrangement of the connections. A better order |
| could be used which is based on visual layout. [GEF]</p> |
| <p dir="ltr"><b>New Layout Managers.</b> Layout managers for |
| draw2d such as a "desktop" XY Layout, and a Grid or Table layout |
| similar to SWT's GridLayout. A desktop layout will anchor |
| figures by their top-center location instead of top-left. That |
| way, their width can change without affecting the location of a |
| centered icon.</p> |
| <p dir="ltr"><b>Print Dialog.</b> a dialog for setting print options |
| such as page margin and fit-to-page settings.</p> |
| <p dir="ltr"><b>Marker Display.</b> Investigate the display of |
| markers in a graphical viewer.</p> |
| </blockquote> |
| <p><b>Unknown</b>. Please submit additional requirements to |
| the <a href="http://dev.eclipse.org/mailman/listinfo/gef-dev">mailing |
| list</a>.</td> |
| </tr> |
| </tbody> |
| </table> |
| </body> |
| </html> |