Eclipse RCP Course Content

Introduction to RCP
  • History, Benefits and Examples
  • Architecture of an RCP application
  • Plug-in based modularization
Applications & Workbench
  • The Workbench Eclipse’s UI Metaphor
  • Windowing: Window, Menu, Page, Perspective, View, Editor
  • How is an RCP application launched?
  • Workbench advisor classes
Views & Perspectives
  • Introduction to extension points
  • Adding views
  • Adding perspectives
  • How to arrange views within a perspective
  • Saving the user interface state
JFace Viewers
  • Introduction to Structured Viewers
  • Using a JFace Tree Viewer
  • Content and Label Providers
  • Tables and the JFace Table Viewer
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
  • Integrating with the selection service
  • Pop-up menus
  • Conditional enablement and visibility
  • Types of editors
  • Differences between views and editors
  • Contributing and opening an editor
  • Implementing an editor
  • Managing the dirty state of an editor
Branding and Packaging
  • Customize your application with product branding
  • Packaging an application with features
  • Deploying your RCP application
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
SWT / JFace Dialogs
  • Reusable SWT and JFace Dialogs
  • Examples
  • Overview of the Eclipse Help System
  • Adding help content
  • Adding context sensitive help
OSGi Essentials
  • OSGi and RCP
  • How do plug-ins work together?
  • Plug-in and package dependencies
  • Plug-in lifecycle
  • Versioning and naming conventions
JFace Wizards
  • Contributing wizards
  • Defining a wizard extension
  • Implementing a wizard and wizard pages
  • Customizing a wizard
  • Controlling wizard page progression
Data Binding
  • What is the JFace Databinding?
  • Prerequisites and limitations
  • Databinding example
Defining your own extension points
  • Extension Points, Extensions, Contributions
  • Extension Point Editor and Schema
  • Using the Extension Registry
Internationalization (i18n)
  • Adding support for multiple languages
  • Limitations
Testing with JUnit
  • What is PDE JUnit?
  • What is the best way to structure test code?