| 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 (includes 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 |
Eclipse RCP – Introduction and Concepts |
| |
- The Term – Rich Client Platform
- The Eclipse Rich Client Platform Buzzwords
- Uses of RCP
- Eclipse RCP Concepts
- Component Framework and a Community of Plug-ins
- Plug-ins - in a closer look
- Putting all together – The anatomy of an Eclipse installation
- The OSGi Framework
- The Runtime
- Standard Widget Toolkit (SWT) – A low-level graphics library
- JFace – A UI toolkit
- UI Workbench
|
|
| |
|
|
4 |
Minimal RCP Application
(includes
demonstration and walkthrough) |
| |
- About RCP
- Minimal RCP application (Physical artifacts)
- RCP application file structure
- Configuration directory
and Configuration file -
config.ini
- plugin directories and
plugin's .jar file
- eclipse.exe
- startup.jar
- workspace
- Run an RCP application
- Minimal RCP application (runtime artifacts)
- Overview and Application control flow
- Main application class and how it creates and run workbench
- WorkbenchAdvisor class and its lifecycle events
- WorkbenchAdvisor
- WorkbenchWindowAdvisor
- ActionbarAdvisor
- Default (Initial) perspective
- Minimal RCP application (Development)
- Steps for developing RCP application
- Run application within eclipse
- Export the application and execute it outside of eclipse
- Customize the workbench
- Saving window location and
size
- Setting workbench window
title, status-line etc.
|
|
| |
|
| 5 |
SWT - The Standard Widget Toolkit (includes lab) |
| |
- About SWT
- Brief History and Goals
- The Basic Structure of an SWT Application - Display And Shell
- How to create a simple Shell
- Setting the Shell title text
- Setting the Shell icon
- SWT packages
- Relationship between Thread and Display
- SWT widgets and its lifecycle
- Useful widgets
- Menus
- Layout managers in SWT
- FillLayout
- RowLayout
- GridLayout and GridData
- FormLayout and FormData
- Resource Management - Colors, Fonts, Images
- Error handling
- SWT application at work
|
|
| |
|
|
6 |
Views |
| |
- Introduction
- JFace Viewer Framework – In details
- Views : The General-Purpose Workbench Part
- Behavior and Architecture
- Class diagram and Lifecycle
- How to create custom view
- View Declaration
- Adding the View to a Perspective
- Creating the View Class (View Part)
- Linking with the Properties View
- Providing content in the Properties View
|
|
| |
|
|
7 |
Adding Actions in Workbench window and Views (includes lab) |
| |
- Introduction
- Add a top-level menu and toolbar
- Create Top-level Menu
- Add standard File > Exit and Help > About actions
- Create a custom action and place the same in the toolbar and menu
- Customize Toolbar by adding separator
- System Tray Integration
- Add Application icon to the task tray
- Allow Application to minimize to the task tray
- Add the standard action to the context menu of the task tray item
- Adding View Actions
- Defining a view context submenu
- Defining a view context menu action
- Defining a view toolbar action
- Defining a view pull-down submenu and action
- Filtering the View
- Sorting the View
- Add a view opened indicator to the status line
- Saving and Restoring View State
- Declaratively add Actions
- org.eclipse.ui.menus extension
point
- org.eclipse.ui.commands extension
point
- org.eclipse.ui.handlers extension
point
- org.eclipse.ui.bindings extension
point
- Declaratively add Actions to:
- Main menu and toolbar
- View menu and toolbar
- Context Menu
- Status bar area
- Use keyboard combinations to enable actions
|
|
| |
|
|
8 |
Editors (includes lab) |
| |
- Introduction
- The difference between a View and an Editor
- Editor behavior and architecture
- Editor class diagram and its lifecycle
- How to create custom editor
- Editor declaration
- Creating Editor class (Editor Part)
- Editing – using Cell editors
- Handling the Saving of the Editor input
- Synchronizing the Model and the Editor
- Editor Actions
- Context menu
- Top-level Menu
- Toolbar buttons
- Keyboard actions
- undo / redo /cut /copy /paste
- Linking an Editor and the outline view
|
|
| |
|
|
9 |
Dialogs (includes lab) |
| |
- Introduction
- Eclipse packages for Dialogs
- Logical view of the Workspace
- 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
|
|
| |
|
|
10 |
Wizards (includes lab) |
| |
- Introduction
- Eclipse packages for Wizards
- Contributing Wizards
- Defining a Wizard Extension
- Implementing a Wizard
- Implementing a Wizard Page
- Customizing a Wizard
- Controlling Wizard Page Progression
- Enable/ disable Next , Previous and Finish buttons
- Finish Processing
- Displaying messages on the title of the wizard
- Reusable specialized wizard pages
|
|
| |
|
|
11 |
Add help
contents and context sensitive help
contributions (includes lab) |
| |
- Introduction
- Getting the Help Plug-ins and It's Configuration
- Add the Help Action and Content
- Searching online help
- Help content Structure
- Context-Sensitive Help (F1 )
|
|
| |
|
|
12 |
Add Feature, Branding and Updates (includes lab) |
| |
- Introduction
- Add the Updates Manager Wizard (Help > Software Updates action)
- Eclipse packages for adding Updates Manager wizard
- Create eclipse Feature based product
- Feature Branding - Introduction
- Feature Branding
- About.ini
- About.properties
- About.mappings
- About.html
- Create eclipse Update-site project to host the product feature and plug-ins
- Exporting an RCP Application based on the Feature
|
|
13 |
Eclipse
Forms to create rich and powerful user
interface (includes lab) |
| |
- Introduction
- Concept of forms (eclipse scrolled
form)
- Use of Eclipse plug-ins to create forms
- Toolkit to manage colors, hyperlink
groups and other aspects of a form, and
serve as a factory for many SWT controls
- Create common controls
- Hyper link
- Image link
- Sections
- Expandable controls
- FormText
- Achieving a flat look using toolkit
- Use of Layout manager that lays out
controls in a manner similar to an HTML
table layout algorithm
- Concept of custom controls
- Exporting an RCP application
|
|
14 |
Multi-page
Form Editor (includes lab) |
| |
- Introduction
- Use of FormEditor to create eclipse
multi-page editor
- Concept of Managed Forms
- Create FormPages with the concept of
master-details block, nested tab etc
- Manage events like dirty state, saving,
commit for FormPage
|
| |
| Hands-on Labs: |
|
1 |
ExPDE: Develop a ReadDataPlugin using PDE in Eclipse |
|
2 |
ExSWTRCP: Using SWT in an Application |
|
3 |
ExViewsRCP: a custom View using JFace viewer Framework |
|
4 |
ExActionsRCP: Adding Actions to Workbench Window and Views |
|
5 |
ExEditorRCP: Create customized Database Table Editor using JFace Framework |
|
6 |
ExDialogRCP: Set file name through Preference Page and view the data from the same |
|
7 |
ExWizardRCP: Wizard to create JDBC database access configuration |
|
8 |
ExHelpNBrandingRCP: Add help contribution and product customization |
|
9 |
ExUpdatesRCP: Add Feature, Branding and
Updates |
|
10 |
ExFormUIRCP: Eclipse Forms to create
rich and powerful user interface |
|
11 |
ExMultiPageEditorRCP: Multi-page form
editor |
|
| |
|
| 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
|