| 1 |
Eclipse Plug-in Architecture |
| |
- Eclipse Overview
- Plug-in architecture
- Plug-in, Extension Point, and Extension
- Plug-in manifest
- Eclipse overview
- Plug-in features and fragments
- Platform architecture
- Workspace Component
- Workspace and Resource API
- Incremental Project Builders
- SWT
- JFace
- Workbench, Editors, Views, Perspectives
- Debug component
- PDE Introduction
|
|
| |
|
| 2 |
Plug-in Development Environment (PDE) & Eclipse Plug-in Development (Include lab) |
| |
- Why PDE?
- Concepts
- Plug-in and Life cycle
- Plug-in structure
- Work with PDE
- Configure PDE
- Create a new Plug-in project
- Plug-in manifest file and editor
- Dependencies
- Runtime
- Extensions and Extension points
- Running the plug-in
- Plug-in communication
- Plug-in fragments
|
|
| |
|
| 3 |
Draw 2D API (Include 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
|
|
| |
|
| 4 |
Draw 2D and Graphical Editor Framework (GEF) API (Include lab) |
| |
- Draw 2D
- Draw 2D introduction
- Overview of Draw 2D system
- Figures
- LightweightSystem and its components
- Major features of Draw 2D API
- Handling events on Figures
- Draw 2D application
- GEF Components
- Introduction
- MVC for GEF
- In-memory model of GEF editor
- EditorParts
- Connecting Figures
- Handling events on Figures
- Creating a model and responding to Model Changes
- Implementing editing behavior using EditPolicies, Request and Commands
|
|
| |
|
| 5 |
Enhancing Views (include lab) |
| |
- Drag and Drop in the Eclipse UI
- Understand Eclipse Drag-n-Drop facility
- Understand SWT Drag-n-Drop API
- Program drag source and drop target to add drag and drop support to Eclipse views
- Transfer data within application using Clipboard
- Understanding Decorators in Eclipse
- What are Decorators?
- Types of Decorations
- Decorator classes
- Defining decorators in plugin.xml
- Defining and Enabling custom decorators
|
|
| |
|
| 6 |
Developing Editors (include lab) |
| |
- Introduction
- Understand Eclipse JFace Text framework
- Editor Configuration – Customization Points
- Text Editor classes
- The AbstractTextEditor class
- Class relationships
- Model-View-Controller relationships
- How to create custom text editor
- Create a basic text editor
- Add Content Assistant
- Add syntax-based Color Highlighting
- Add Content Formatting
|
|
| |
|
| 7 |
Eclipse Modeling Framework (EMF) – Introduction (include lab) |
| |
- Understand Eclipse Modeling Framework (EMF)
- The ecore model
- The Generator Model
- Generating EMF Model from Annotated Java Code
- Generate Model implementation code
- Generate model.edit and model.editor plug-ins
|
|
| |
|
| 8 |
EMF – Customize Code Generation (include lab) |
| |
- 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
|
|
| |
|
| 9 |
Eclipse Concurrency (include lab) |
| |
- Concurrency infrastructure of Eclipse
- The Job Manager
- Coding & Scheduling Jobs
- Listening for Job Change Events
- Scheduling Rules
- Providing Exclusive Access for Shared Objects
- Reporting progress/feedback about the jobs
|
|
| |
|
| 10 |
Extending the Java Development Tools (include lab) |
| |
- Java Development 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
|
|
| |
|
| Hands-on Labs: |
| 1 |
ExPDE: Develop a ReadDataPlugin using PDE in Eclipse |
| 2 |
ExDraw2D: Developing shapes using the Eclipse Draw 2D API |
| 3 |
ExGEF: Developing Graphical Editor using Draw 2D and GEF API |
| 4 |
ExEclipseDnD: Using Drag-n-Drop in Eclipse |
| 5 |
ExSQLEditor: Create custom Text Editor using JFace Text Framework |
| 6 |
ExEMF-Model: Generating EMF Model |
| 7 |
ExEMF-CustomizeCoding: Customizing and manipulating the Model |
| 8 |
ExJob: Understanding the Job API |
| 9 |
ExExtendingJDT: Extending the Java Development Tools |
|
| |
|
| 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.
|