This course presents advanced concepts required to develop high performance integrated development environments based on the eclipse platform.
As GEF is based on MVC architecture, every GEF-based application uses a model to represent the state of the diagrams being created and edited. GEF allows you to use any objects as model objects within your application, however, using an EMF model provides some advantages over using arbitrary objects. This course covers the basics of both GEF and EMF.
Custom editors can enhance productivity. You will learn how to create a customized text editor by using the facilities provided in the platform.
Executables built by your plug-ins can be invoked correctly by using a launcher. The program can be launched for regular execution or in debug mode, depending on the capabilities of your plug-in. You can learn more about this here.
Learn techniques to customize
code generation in EMF
Understand
GenModel properties
Edit GenModel properties to
customize code generation
EMF .Edit framework overview
Modify presentation behavior
EMF Reflective API overview
Create model instance using
Reflective API
Serialize model in XMI format
Introduction to JET
Use of JET in EMF
6
Extending
the Java Development Tools (JDT) (includes lab)
Java Develpment Tooling (JDT)
and its uses
Major components of JDT
Java Model
Java Model Elements and
relationship
About JavaCore
About ICompilationUnit
Abstract Syntax Tree (AST)
AST, ASTParser and AST Node
Handling element change
notifications
Ways of extending the JDT User
Interface
7
Draw 2D API (includes lab)
Draw 2D introduction
Overview of Draw 2D System
Figures
LightweightSystem and its
components
Draw 2D Shapes
Draw 2D Widgets
Major features of Draw 2D API
Draw 2D Application
Creating Shell and LightweightSystem
Creating Figures and Connection
Registering Event handlers
Handling Draw 2D events
8
Rendering a
business model in Graphical
Editor Framework (GEF) (includes lab)
Draw 2D Overview
GEF Components
Introduction
MVC for GEF
In-memory model of GEF editor
EditorParts
Creating Models
Creating Views
Creating Controllers
Handling events on Figures
9
Editing
using GEF (includes lab)
Creating a model and responding
to Model Changes
Role of the Edit Domain
Event flow on UI Actions
Handling Actions on EditPart
Viewers
Tools, Requests and Feedback
Commands
Implementing the Command Stack
Edit Policies
Palette
10
Creating and
editing Connections
in GEF (includes lab)
Overview
Draw 2D Parts of a Connection
Polyline Class
Connection Interface
ConnectionAnchor Interface
ConnectionLayer Class
PolylineConnection Class
GEF Parts of a Connection
The View for a Connection
The Controller for a Connection
The Connection Nodes
Bending Connections
11
Additional
GEF techniques (includes lab)
Drag and Drop
Adapting to the Properties View
Displaying Model Information in the Outline View
Printing
Zooming
Handling Keystrokes
Hands-on Labs:
1
ExEclipseDnD: Using Drag-and-Drop in
Eclipse
2
ExSQLEditor: Build a custom text editor
using the JFace Text Framework
3
ExJobAPI:
Understanding the Job API
4
ExEMF-Model:
Generating an EMF Model using Annotated
Java Interfaces
5
ExEMF-CustomizeCoding: Customizing and
Manipulating the Model
6
ExExtendingJDT: Extending the Java
Development Tools
7
ExDraw2D:
Draw Figures using Eclipse Draw 2D
8
ExBuildGEFEditor: Render a Database
Schema Diagram using GEF
9
ExGEF_EditModel: Managing model and
views using EditParts
10
ExGEF_Connections: Manage Connections
Between Diagrams
11
ExGEF_Techniques: Use Additional
Techniques to Create a Robust Editor
Prerequisites:
Understanding of basic eclipse concepts
Ability to create and deploy simple plug-ins
Prerequisites can be satisfied by taking Eclipse University course: Developing Eclipse Plugins
Audience:
Tool developers, tool vendors, and consultants who need to build their own plugins for Eclipse-based tools.