Eclipse Plugins RCP GEF
 
 
Developing Eclipse Plugins & RCP Applications
 
Duration:   5 days Level:  Advanced Format:   50% lab
 
Description:
Eclipse is an open platform for tool integration built by an open community of tool providers. It is designed for building integrated development environments (IDEs) and Rich Client Platform (RCP) based applications that can be used to create applications as diverse as web sites, embedded Java programs, C++ programs, and Enterprise JavaBeans. The Eclipse Platform is built on a mechanism for discovering, integrating, and running modules called plug-ins. This allows the Platform to be extended to work with new content types or to do new things with existing content types. Except for a small kernel known as the Platform Runtime, all of the Eclipse Platform's functionality is located in plug-ins which are coded in Java. This is an in-depth course on how to build Eclipse plug-ins of increasing complexity.
 
Topics:
1 Eclipse Plug-in architecture
2 Plug-in Development Environment (PDE)
3 The Standard Widget Toolkit (SWT)
4 Dialogs and Wizards
5 Views
6 Editors
7 Workspace Resource Programming
8 Processing Workspace Change Events
9 Managing Resources with Natures and Builders
10 Rich Client Platform (RCP)
 
Contents:
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
    • RCP application file structure
    • Run an RCP application
  • Plug-in and Life cycle
    • Overview and Application control flow
    • Main application class and how it creates and run workbench
    • WorkbenchAdvisor class and its lifecycle events
    • Default (Initial) perspective
  • 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 SWT - The Standard Widget Toolkit (Include lab)
 
  • Why SWT
  • SWT features
  • SWT packages
  • Shell and Display
  • Relationship between Thread and Display
  • Common SWT widgets
  • Constructor of an SWT control
  • Layout managers in SWT
    • FillLayout
    • RowLayout
    • GridLayout and GridData
    • FormLayout and FormData
  • SWT events
  • Error handling
  • SWT application at work
   
4 Dialogs and Wizards (include lab)
 
  • Introduction
  • Eclipse packages for Dialogs and Wizards
  • Standard dialogs
  • Preferences dialog (JFace)
    • Structural view
    • Preferences class
    • Preference page at work
  • Field editor preference page
    • Field editor preferences classes
    • Build a field editor preference page
  • Common reusable dialogs
  • Property page
  • Wizards
  • Reusable specialized wizard pages
   
5 Views (include lab)
 
  • Introduction
  • JFace Viewer Framework
  • View behavior and architecture
  • View class diagram
  • View lifecycle
  • JFace Viewers and SWT widgets
  • Steps to create custom view
  • Event handling
  • Filtering the view
  • Sorting the view
  • View actions
  • Integration with other view
   
6 Editors (include lab)
 
  • Introduction
  • Editor behavior and architecture
  • Editor lifecycle
  • Steps to create custom editor
  • Event handling
  • Modify and save editor inputs
  • Editor Actions
  • Linking an Editor and the outline view
   
7 Workspace Resource Programming (include lab)
 
  • Resource Framework Concepts
  • Physical view of the Workspace
  • Logical view of the Workspace
  • Resource model and file system interaction
  • Workspace API
  • Resource properties
  • Markers
   
8 Processing Workspace Change Events (include lab)
 
  • Workspace change events
    • Introduction
    • Resource change event types
    • Resource change event flags
    • Resource change event flow
    • Add / remove resource change listeners
    • Handle resource change event
    • Visiting Resource Delta
    • Handle batch events
  • Workspace save events
    • Save Events – what and when
    • Save Participants API
    • Implement Save Participant
    • Save Participant processing overview
   
9 Managing Resources with Natures and Builders
 
  • Customizing project processing
  • Projects and project descriptions
  • Define and implementing natures
  • Create natures to support project configuration
  • Add a nature to a project
  • Remove a nature to a project
  • Builder and Nature extension points
  • Add a builder to a project
  • Builder concepts
  • Builder requirements
  • Define builder
  • Remove builder
   
10 Rich Client Platform (include lab)
 
  • About RCP
  • Applications, workbench, and workbench windows
  • Minimal RCP application (runtime artifacts)
  • Minimal RCP application (Development)
  • RCP application – add a view
  • RCP application – add menus / actions
  • RCP application – help system
  • Branding RCP application
 
Hands-on Labs:
1 ExPDE: Develop a ReadDataPlugin using PDE in Eclipse
2 ExSWT: GUI Applications Using SWT
3 ExDialog: Extending ReadData Plug-in to study Dialogs and Wizards
4 ExDBMetadataView: Create a custom View using JFace viewer Framework
5 ExDBTableEditor: Create customized Database Table Editor using JFace Framework
6 ExRCP: Building a Rich Client Platform application
   
Prerequisites:
Extensible Markup Language (XML), Strong knowledge of Java, design patterns, and GUI development experience. Prerequisites can be satisfied by taking Eclipse University Courses: “Java Programming using Eclipse” and “XML for Java programmers using Eclipse”.
   
Audience:
Tool developers, tool vendors, and consultants who need to build their own plugins for Eclipse-based tools.