Eclipse RCP
Professional Client and Plug-in Development with Eclipse RCP (4 days)
This course will teach you everything you need to develop RCP applications and plug-ins. Our veteran Eclipse developers, with years of product development experience, will help you "get" the Eclipse Rich Client Platform and will provide you with the insight you need to start your own development efforts.
During this class you will incrementally develop a full RCP application. The hands-on focus and the small class format (max. 6-8 participants) ensures that you'll gain a broad understanding of Eclipse RCP and get plenty of individual support from our experts.
Course Outline
Introduction to RCP
- History, Benefits and Examples
- Architecture of an RCP application
- Plug-in based modularization
The Eclipse Workbench
- The Workbench - Eclipse's UI Metaphor
- Windowing: Window, Menu, Page, Perspective, View, Editor
- How is an RCP application launched?
- Workbench advisor classes
Plug-ins and OSGi
- OSGi and RCP
- How do plug-ins work together?
- Plug-in and package dependencies
- Plug-in lifecycle
- Versioning and naming conventions
Extension Points
- Extension Points, Extensions, Contributions
- Perspectives Extension Point
- Views Extension Point
- Writing your own extension point
Branding and Packaging
- Customize your application with product branding
- Packaging an application with features
- Deploying your RCP application
Internationalization (i18n)
- Adding support for multiple languages
- Limitations
SWT Widgets
- Introduction to SWT
- SWT widgets / controls
- Basic structure of an SWT application
- Threading in SWT
- SWT events
- Integrating Swing / AWT with SWT
SWT Layouts
- SWT layout concepts
- Using SWT layout managers
JFace Viewers
- Introduction to Structured Viewers
- Using a JFace Tree Viewer
- Tables and the Jface Table Viewer
- Integrating with the selection service
SWT / JFace Dialogs
- Reusable SWT and JFace Dialogs
- Examples
JFace Wizards
- Contributing Wizards
- Defining a wizard extension
- Implementing a wizard and wizard pages
- Customizing a wizard
- Controlling wizard page progression
Actions and Commands
- Introduction to actions and commands
- Where can I add actions/commands in the Eclipse UI?
- Adding actions/commands through code and xml
- Pop-up menus
- Retargetable actions (copy, cut, paste, ...)
- Conditional enablement and visibility
Editors
- Types of Editors
- Differences between Views and Editors
- Contributing and opening an editor
- Implementing an editor
- Managing the dirty state of an editor
Help
- Overview of the Eclipse Help System
- Adding help content
- Adding context sensitive help
- Active Help
Testing with JUnit
- What is PDE JUnit?
- What is the best way to structure test code?
Data Binding
- What is the JFace Databinding?
- Prerequisites and limitations
- Databinding example
Materials, more info, languages
Training Materials
Personalized Training Handbook CD / download with application platform and solutions to all exercises (source code)
Additional Information
Course Duration: four days
Course format: instructor led with at least 50% hands-on labs and tutorials
Learn better in a small group: we guarantee a maximum number of 6-8 participants per class
Participants must bring their own laptop with an up-to-date installation of Eclipse
Languages
Classes at US locations are held in English. Classes in Germany are held in German. Further languages are available upon request.