Difference between revisions of "RCP Concepts"

From CDOT Wiki
Jump to: navigation, search
 
(19 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Category:RCP]]{{Ecl_menu}}
+
[[Category:RCP]]{{Ecl_menu}} __NOTOC__
(TODO)...Description of RPC concepts
+
 
 +
== Components of the Eclipse RCP platform ==
 +
 
 +
The following components make up the Eclipse RCP platform [http://www.ralfebert.de/rcpbuch/overview/]:
 +
 
 +
[[Image:architecture20.gif|500px]]
 +
tutorial [http://www.vogella.de/articles/EclipseRCP/article.html#firstrcp_start]
 +
=== OSGi / Equinox ===
 +
[http://zenit.senecac.on.ca/wiki/index.php/OSGi_Concepts OSGi is a standard Java framework for developing modular applications.] OSGi provides a runtime environment for software modules (so-called bundles or plug-ins ) ready. Eclipse-based applications on the Eclipse's OSGi implementation Eclipse Equinox .
 +
 
 +
=== Eclipse Core Runtime ===
 +
 
 +
[http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/api/org/eclipse/core/runtime/package-summary.html Core runtime] provides general, non-UI related functionality for Eclipse applications. It manages the life cycle of Eclipse applications, is therefore responsible for launching and initialization of the application.
 +
 
 +
=== Standard Widget Toolkit (SWT) ===
 +
 
 +
[http://www.eclipse.org/swt/widgets/ SWT is the UI toolkit of Eclipse platform]. Eclipse RCP applications are not based on the Java GUI framework swing , but rather a private SWT GUI framework, which is native UI widgets of the underlying operating system.
 +
 
 +
===== Installing examples via the Update Manager =====
 +
 
 +
The [http://help.eclipse.org/helios/index.jsp?nav=/2 Eclipse SDK examples] are found on the Eclipse project update site. To locate and install them into a product:
 +
 
 +
# Open the main update manager by clicking      Help > Install New Software.... 
 +
# This opens the Install Wizard.
 +
# Select The Eclipse Project Updates  site.
 +
# Ensure Group items by category is unchecked.
 +
# Type "Eclipse SDK Examples" in the search field.
 +
# Select "Eclipse SDK Examples" and click Next.
 +
# Review the items being installed, and click Next.
 +
# Review and accept the license terms, and click Finish.
 +
# Click Yes when asked to exit and restart the workbench for the    changes to take effect.
 +
 
 +
The examples are now installed in the workbench.  Note: you can also click on Apply Now to dynamically install the examples into the current configuration.
 +
 
 +
===== Running the Example Launcher =====
 +
 
 +
From Eclipse's Window menu, select Show View > Other. In the Show View dialog, expand SWT Examples and select the SWT Example Launcher view. A view containing a list of examples will appear in your current perspective. When you select an example from the list a brief description of the example is displayed. Click on the Run button to launch the example.
 +
 
 +
=== JFace ===
 +
 
 +
SWT UI Toolkit is limited as a minimal abstraction layer above the UI layer of the operating system. Additional features such as the filling of the UI components using Java model objects are provided in [http://wiki.eclipse.org/JFace JFace].
 +
 
 +
[http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/jface.htm JFace is a UI toolkit] that provides helper classes for developing UI features that can be tedious to implement. JFace operates above the level of a raw widget system and includes  classes for handling common UI programming tasks:
 +
* Viewers handle the drudgery of populating, sorting, filtering, and updating widgets.
 +
* Actions and contributions introduce semantics for defining user actions and specifying where to make them available.
 +
* Image and font registries provide common patterns for handling UI resources.
 +
* Dialogs and wizards define a framework for building complex interactions with the user.
 +
* Field assist provides classes that help guide the user in choosing appropriate content for fields in dialogs, wizards, or forms.
 +
 
 +
JFace frees you up to focus on the implementation of your specific plug-in's function, rather than focusing on the underlying widget system or solving problems that are common in almost any UI application.
 +
 
 +
An example of how develop a RCP application using  [http://www.vogella.de/articles/EclipseJFaceTable/article.html#example JFace table could be found here]
 +
 
 +
=== Workbench ===
 +
 
 +
Based on the above components [http://www.eclipse.org/articles/Article-UI-Guidelines/Contents.html the Eclipse UI (the Workbench)] is ready to expand the plug-ins from the Eclipse IDE workbench to the functions that are necessary for software development. Your own plug-ins using Eclipse RCP Workbench could be developed based on generic templates.
 +
 
 +
[http://www.eclipsezone.com/eps/10minute-rcp/rcp-quick-intro_controller.swf?csConfigFile=rcp-quick-intro_config.xml Simple example to use Eclipse UI components to develop RCP applications]

Latest revision as of 09:36, 15 February 2011

Components of the Eclipse RCP platform

The following components make up the Eclipse RCP platform [1]:

Architecture20.gif tutorial [2]

OSGi / Equinox

OSGi is a standard Java framework for developing modular applications. OSGi provides a runtime environment for software modules (so-called bundles or plug-ins ) ready. Eclipse-based applications on the Eclipse's OSGi implementation Eclipse Equinox .

Eclipse Core Runtime

Core runtime provides general, non-UI related functionality for Eclipse applications. It manages the life cycle of Eclipse applications, is therefore responsible for launching and initialization of the application.

Standard Widget Toolkit (SWT)

SWT is the UI toolkit of Eclipse platform. Eclipse RCP applications are not based on the Java GUI framework swing , but rather a private SWT GUI framework, which is native UI widgets of the underlying operating system.

Installing examples via the Update Manager

The Eclipse SDK examples are found on the Eclipse project update site. To locate and install them into a product:

  1. Open the main update manager by clicking Help > Install New Software....
  2. This opens the Install Wizard.
  3. Select The Eclipse Project Updates site.
  4. Ensure Group items by category is unchecked.
  5. Type "Eclipse SDK Examples" in the search field.
  6. Select "Eclipse SDK Examples" and click Next.
  7. Review the items being installed, and click Next.
  8. Review and accept the license terms, and click Finish.
  9. Click Yes when asked to exit and restart the workbench for the changes to take effect.

The examples are now installed in the workbench. Note: you can also click on Apply Now to dynamically install the examples into the current configuration.

Running the Example Launcher

From Eclipse's Window menu, select Show View > Other. In the Show View dialog, expand SWT Examples and select the SWT Example Launcher view. A view containing a list of examples will appear in your current perspective. When you select an example from the list a brief description of the example is displayed. Click on the Run button to launch the example.

JFace

SWT UI Toolkit is limited as a minimal abstraction layer above the UI layer of the operating system. Additional features such as the filling of the UI components using Java model objects are provided in JFace.

JFace is a UI toolkit that provides helper classes for developing UI features that can be tedious to implement. JFace operates above the level of a raw widget system and includes classes for handling common UI programming tasks:

  • Viewers handle the drudgery of populating, sorting, filtering, and updating widgets.
  • Actions and contributions introduce semantics for defining user actions and specifying where to make them available.
  • Image and font registries provide common patterns for handling UI resources.
  • Dialogs and wizards define a framework for building complex interactions with the user.
  • Field assist provides classes that help guide the user in choosing appropriate content for fields in dialogs, wizards, or forms.

JFace frees you up to focus on the implementation of your specific plug-in's function, rather than focusing on the underlying widget system or solving problems that are common in almost any UI application.

An example of how develop a RCP application using JFace table could be found here

Workbench

Based on the above components the Eclipse UI (the Workbench) is ready to expand the plug-ins from the Eclipse IDE workbench to the functions that are necessary for software development. Your own plug-ins using Eclipse RCP Workbench could be developed based on generic templates.

Simple example to use Eclipse UI components to develop RCP applications