Eclipse Plugins RCP GEF
 
 
Developing Eclipse 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 a layered architecture with frameworks that can be reused depending upon the sort of the application or tool-related task you wish to support. The frameworks comprising this layered architecture can be divided into three groups: Platform Runtime, Rich Client Platform (RCP), and the Workbench IDE. While the Eclipse platform is designed to serve as an open tools platform, it is architected so that its components could be used to build just about any client application. The minimal set of plug-ins needed to build a rich client application is collectively known as the Rich Client Platform (RCP)

This course focuses on RCP and will help you understand how to implement your own application using Eclipse. It will explain you, the reusable frameworks in Eclipse, how they relate to one another, and scenarios for building on the common configurations of Eclipse technology.

RCP allows you to quickly build a professional-looking application, with native look-and-feel, on multiple platforms, let you to keep your focus on your value-add. The components that form RCP are of high quality, are actively maintained, and are open source.

This is an in-depth course on how to build Eclipse 3.2 RCP of increasing complexity.
 
Topics:
1 Eclipse RCP – Introduction and Concepts
2 Minimal RCP Application
3 The Standard Widget Toolkit (SWT)
4 Views
5 Adding Actions in Workbench window and Views
6 Editors
7 Dialogs (Preference Pages)
8 Wizards
9 Add help contribution and product customization
10 Add Feature, Branding and Updates
 
Contents:
1 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
   
2 Minimal RCP Application (Include lab)
 
  • About RCP
  • Minimal RCP application (Physical artifacts)
    • RCP application file structure
    • 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
    • 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
   
3 SWT - The Standard Widget Toolkit (Include lab)
 
  • About SWT
  • Brief History and Goals
  • The Basic Structure of an SWT Application - Display And Shell
  • 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
   
4 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
   
5 Adding Actions in Workbench window and Views (include 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
   
6 Editors (include 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
   
7 Dialogs (include 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
   
8 Wizards (include 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
   
9 Add help contribution and product customization (include lab)
 
  • Introduction
  • Getting the Help Plug-ins and It's Configuration
  • Add the Help Action and Content
  • Help Content Structure
  • Context-Sensitive Help (F1 )
  • Branding
  • Packaging – Introduction
  • Exporting an RCP Application
    • Window Images
    • Program Launcher – Customizing the launcher
    • Splash Screen
    • About Dialog
  • Displaying messages on the title of the wizard
  • Reusable specialized wizard pages
   
10 Add Feature, Branding and Updates (include 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
 
Hands-on Labs:
1 ExMinimalRCP: Building a minimal standalone RCP application
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
   
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