| <?php require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); $App = new App(); $Nav = new Nav(); $Menu = new Menu(); include($App->getProjectCommon()); # All on the same line to unclutter the user's desktop' |
| |
| $pageTitle = "Eclipse Graphical Editing Framework (GEF) Documentation"; |
| $pageKeywords = "Eclipse Graphical Editing Framework (GEF) Documentation"; |
| $pageAuthor = "Anthony Hunter, IBM Rational Software"; |
| |
| # Paste your HTML content between the EOHTML markers! |
| $html = <<<EOHTML |
| |
| <div id="midcolumn"> |
| |
| <STYLE type="text/css"> |
| TT { font-size : 100%; } |
| </STYLE> |
| |
| <h1>Graphical Editing Framework (GEF) Documentation</h1> |
| |
| <h2>Technical Information for GEF Developers</h2> |
| |
| <p>This is the one-stop shop for documentation regarding Draw2d and GEF. There are |
| several articles as well as other links available here that explain how GEF and |
| Draw2d work. Apart from what's available here, the Javadocs for the Draw2d and GEF |
| projects and the <a href="http://help.eclipse.org/ganymede/index.jsp">GEF and Draw2d Plug-in Developer Guide</a> |
| in Eclipse are good sources of information. You can also check out the FAQs and |
| Gotchas on our <a href="../index.php">main page</a> for more help.</p> |
| |
| <hr/> |
| |
| <h2><a name="Articles"></a>Articles</h2> |
| |
| <p><b><a href="http://www.eclipse.org/articles/Article-GEF-EMF/gef-emf.html"> |
| Using GEF with EMF</a></b> Chris Aniszczyk (IBM) June 8, 2005<br> |
| The Graphical Editing Framework (GEF) provides a framework for |
| creating visual editors while being model agnostic. In most cases, people |
| bring their own model which tend to be based on Plain Old Java Objects |
| (POJOs). An alternative using POJOs is the Eclipse Modeling Framework |
| (EMF), which provides many features for manipulating models that aren't |
| found in POJOs. The purpose of this article is to build upon the shapes |
| example provided by GEF using the Eclipse Modeling Framework (EMF) and to |
| provide an introduction using EMF based models in GEF based editors.</p> |
| |
| <p><b><a href="http://eclipse.org/articles/Article-GEF-diagram-editor/shape.html"> |
| A Shape Diagram Editor</a></b> Bo Majewski (Cisco) December 8, 2004<br> |
| Graphical Editing Framework (GEF) provides a powerful foundation for creating |
| editors for visual editing of arbitrary models. Its effectiveness lies in |
| a modular build, fitting use of design patterns, and decoupling of components |
| that comprise a full, working editor. To a newcomer, the sheer number and |
| variety of concepts and techniques present in GEF may feel intimidating. |
| However, once learned and correctly used, they help to develop highly scalable |
| and easy to maintain software. This article aims to provide a gentle yet |
| comprehensive introduction to GEF. It describes a shape diagram editor - |
| a small, fully functional test case of core concepts.</p> |
| |
| <p><b><a href="http://eclipse.org/articles/Article-GEF-editor/gef-schema-editor.html"> |
| Building a Database Schema Diagram Editor with GEF</a></b> Phil Zoio (Realsolve |
| Solutions) September 27, 2004<br> |
| GEF is a very powerful framework for visually creating and editing models. |
| With a small initial investment, even the relative Eclipse novice can be |
| quickly up and running, building applications with graphical editing capabilities. |
| To illustrate, this article uses a relational database schema diagram editor |
| with a deliberately simplified underlying model, but with enough bells and |
| whistles to show some of the interesting features of GEF at work.</p> |
| |
| <p><b><a href="http://eclipse.org/articles/Article-GEF-Draw2d/GEF-Draw2d.html"> |
| Display a UML Diagram using Draw2D</a></b> Daniel Lee (IBM) August 25, 2003<br> |
| The Graphical Editing Framework (GEF) ships with a painting and layout plug-in |
| called Draw2D. Draw2D provides figures and layout managers which form the |
| graphical layer of a GEF application. This article focuses only on the use |
| of Draw2D to render a simple UML class diagram. While Draw2D can be used |
| for standalone purposes, it is not an editing framework. Most applications |
| will use the GEF plug-in as the editing layer.</p> |
| |
| <p><b><a href="http://eclipse.org/articles/Article-GEF-dnd/GEF-dnd.html">Using |
| Native Drag and Drop with GEF</a></b> Eric Bordeau (IBM) August 25, 2003<br> |
| Native drag and drop provides the ability to drag data from one GUI object |
| to another GUI object, which could potentially be in another application. |
| GEF allows access to the operating system's underlying drag and drop infrastructure |
| through SWT. This article will provide an in-depth look at GEF's drag and |
| drop functionality and show some simple examples of how to take advantage |
| of this API.</p> |
| |
| <p><b><a href="http://www-106.ibm.com/developerworks/opensource/library/os-gef/" target="_top"> |
| Create an Eclipse-based Application using the Graphical Editing Framework</a></b> |
| Randy Hudson (IBM) July 29, 2003<br> |
| This article describes the initial steps involved in creating an Eclipse-based |
| application using the Graphical Editing Framework (GEF). GEF has been used |
| to build a variety of applications for Eclipse, including state diagrams, |
| activity diagrams, class diagrams, GUI builders for AWT, Swing and SWT, |
| and process flow editors. Eclipse and GEF are both open source technologies. |
| They are also included in IBM's WebSphere Studio Workbench.</p> |
| |
| <p><b><a href="digraph1.php">Directed Graph Example</a> |
| </b>Anthony Hunter (IBM) November 16, 2007<br> |
| <a href="digraph1.php#Digraph1GraphicalEditor">Digraph1: Basic Graphical Editor</a> |
| The main objective of the digraph1 example was to provide a simple graphical editor that demonstrates GEF's Model-View-Controller (MVC) architecture. |
| This first directed graph example is as simple as it gets.<br> |
| <a href="digraph1.php#Digraph1View">Digraph1: Graphical View</a> The same content from the editor in a view.<br> |
| <a href="digraph1.php#Digraph1Application">Digraph1: Graphical Editor in a RCP Application</a> The graphical editor in a RCP application.<br> |
| <a href="digraph2.php">Digraph2: Basic Graphical Editor with Connections</a> The objective of the digraph2 example is to add connections to the digraph1 example. |
| </p> |
| <hr/> |
| |
| <h2><a name="Presentations"></a>Presentations</h2> |
| |
| <p><a href="http://www.eclipsecon.org/2004/index.htm">EclipseCon 2004</a> |
| <ul> |
| <li><a href="http://www.eclipsecon.org/2004/EclipseCon_2004_TechnicalTrackPresentations/47_Hudson.pdf">Building Applications with Eclipse's Graphical Editing Framework</a> session<br> |
| Randy Hudson (IBM)</li> |
| </ul> |
| </p> |
| |
| <p><a href="http://www.eclipsecon.org/2005/">EclipseCon 2005</a> |
| <ul> |
| <li><a href="http://www.eclipsecon.org/2005/presentations/EclipseCon2005_23_GEF_Tutorial_Final.ppt">GEF In Depth</a> tutorial<br> |
| Randy Hudson (IBM), Pratik Shah (IBM)</li> |
| <li><a href="http://www.eclipsecon.org/2005/presentations/EclipseCon2005_6.1.pdf">The Graphical Editing Framework</a> session<br> |
| Randy Hudson (IBM), Pratik Shah (IBM)</li> |
| </ul> |
| </p> |
| |
| <p><a href="http://www.eclipsecon.org/2006/Home.do">EclipseCon 2006</a> |
| <ul> |
| <li><a href="http://www.eclipsecon.org/2006/Sub.do?id=52">Graphical Editing Framework</a> tutorial<br> |
| Randy Hudson (IBM)</li> |
| <li><a href="http://www.eclipsecon.org/2006/Sub.do?id=71">A Gentle Introduction to GEF</a> long talk<br> |
| Koen Aers (JBoss, Inc.)</li> |
| </ul> |
| </p> |
| |
| <p><a href="http://www.eclipsecon.org/2007/index.php">EclipseCon 2007</a> |
| <ul> |
| <li><a href="http://www.eclipsecon.org/2007/index.php?page=sub/&id=3597">Developing an Editor for Directed Graphs with the Eclipse Graphical Editing Framework</a> tutorial<br> |
| Koen Aers (JBoss, Inc.)</li> |
| </ul> |
| </p> |
| |
| <p><a href="http://www.eclipsecon.org/2008/index.php">EclipseCon 2008</a> |
| <ul> |
| <li><a href="http://www.eclipsecon.org/2008/?page=sub/&id=102">Developing an Editor for Directed Graphs with the Eclipse Graphical Editing Framework</a> tutorial<br> |
| Koen Aers (JBoss, Inc.)</li> |
| </ul> |
| </p> |
| |
| <hr/> |
| |
| <h2><a name="ExternalLinks"></a>External Links</h2> |
| |
| <p>The following are links to some external sites that provide |
| more information about GEF. The GEF team does not verify all of the postings |
| on these sites. Nevertheless, they are usually good sources of information. |
| To report any other links that can go here, post a note on the GEF newsgroup.</p> |
| |
| <p><a href="http://publib-b.boulder.ibm.com/Redbooks.nsf/RedbookAbstracts/sg246302.html?OpenDocument">IBM Redbook</a><br> |
| IBM's Redbook provides detailed information and walks you through creating a simple GEF-based plug-in.</p> |
| |
| <p><a href="http://eclipsewiki.editme.com/GEF">Eclipse Wiki</a><br> |
| Lots of good information here. In particular, the |
| <a href="http://eclipsewiki.editme.com/GefDescription">GEF description</a>.</p> |
| |
| <p><a href="http://www.manning.com/scarpino">SWT/JFace In Action</a><br> |
| A book that can provide more information about Draw2d/GEF.</p> |
| |
| <p><a href="http://www13.plala.or.jp/observe/index.html#draw2d">Observe Eclipse</a><br> |
| This site has several Draw2d and GEF tutorials in Japanese.</p> |
| |
| <p><a href="http://www.eclipseteam.de/wiki/bin/view/Public/EclipseGef">eclipseteam</a><br> |
| Another site, this time in German.</p> |
| |
| <hr/> |
| |
| <p><b>By Anthony Hunter, IBM Rational Software</b><br/> |
| <font size="-1">$Header: /cvsroot/org.eclipse/www/gef/reference/documentation.php,v 1.2 2008/07/02 17:19:10 ahunter Exp $</font></p> |
| <p><em> Please send comments about this document to |
| the</em> <a href="news://news.eclipse.org/eclipse.tools.gef">eclipse.tools.gef</a> <em>newsgroup.</em></p> |
| <br/><br/> |
| </div> |
| |
| EOHTML; |
| |
| |
| # Generate the web page |
| $App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html); |
| ?> |