This document provides an overview of creating a basic Eclipse Rich Client Platform (RCP) application, including setting up the necessary plug-in project, defining perspectives and views, and implementing core classes like Application, WorkbenchAdvisor, and Perspective. It describes how to add new views to a perspective and launch the RCP application. The key classes involved in startup and initialization of the Eclipse workbench are also explained.
L0018 - SWT - The Standard Widget ToolkitTonny Madsen
The graphical sub-system of the Eclipse platform is made up of two components: SWT, the Standard Widget Toolkit; and JFace, an architecture independent modeling layer. This module describes how to use SWT in views and editors and how different resources must be managed.
L0043 - Interfacing to Eclipse Standard ViewsTonny Madsen
Eclipse contains a large number of standard views that can be extended to support new languages or data models. This model focus on the interface to the most common Eclipse views: Problems View, Outline View, and the Properties View.
The graphical sub-system of the Eclipse platform is made up of two components: SWT, the Standard Widget Toolkit ;and JFace, an architecture-independent modeling layer. This module describes how JFace extends SWT with viewers, commands, wizards, dialogs, and field assist.
Swing is a GUI widget toolkit for Java. It is part of Oracle's Java Foundation Classes (JFC) – an API for providing a graphical user interface (GUI) for Java programs.
L0018 - SWT - The Standard Widget ToolkitTonny Madsen
The graphical sub-system of the Eclipse platform is made up of two components: SWT, the Standard Widget Toolkit; and JFace, an architecture independent modeling layer. This module describes how to use SWT in views and editors and how different resources must be managed.
L0043 - Interfacing to Eclipse Standard ViewsTonny Madsen
Eclipse contains a large number of standard views that can be extended to support new languages or data models. This model focus on the interface to the most common Eclipse views: Problems View, Outline View, and the Properties View.
The graphical sub-system of the Eclipse platform is made up of two components: SWT, the Standard Widget Toolkit ;and JFace, an architecture-independent modeling layer. This module describes how JFace extends SWT with viewers, commands, wizards, dialogs, and field assist.
Swing is a GUI widget toolkit for Java. It is part of Oracle's Java Foundation Classes (JFC) – an API for providing a graphical user interface (GUI) for Java programs.
This article deals with creation, utilization and handling of Visual Studio commands in its extension modules through automation object model APIs and IDE services. The relations between IDE commands and environment UI elements, such as user menus and toolbars, will also be examined.
Eclipse Summit Europe '10 - Test UI Aspects of Plug-insTonny Madsen
Testing the UI of an Eclipse plug-in is usually considered rather difficult and something that is best left for specialized tools. Also, the test is often considered very fragile and is expected to be updated whenever you make even the smallest change to your UI.
But that need not be so. By using a few rather simple tools and a few just as rules, you can test all the UI parts of an application...
This presentation was made for Eclipse Summit Europe 2010.
L0016 - The Structure of an Eclipse Plug-inTonny Madsen
This is a detailed description of the different parts that makes up an Eclipse plug-in. The module focuses on the purpose of the different files of a plug-in such as plugin.xml and the OSGi manifest file, MANIFEST.MF. The module also describes how plug-ins are developed in Eclipse with PDE, the Plug-in Development Environment
This article deals with creation, utilization and handling of Visual Studio commands in its extension modules through automation object model APIs and IDE services. The relations between IDE commands and environment UI elements, such as user menus and toolbars, will also be examined.
Eclipse Summit Europe '10 - Test UI Aspects of Plug-insTonny Madsen
Testing the UI of an Eclipse plug-in is usually considered rather difficult and something that is best left for specialized tools. Also, the test is often considered very fragile and is expected to be updated whenever you make even the smallest change to your UI.
But that need not be so. By using a few rather simple tools and a few just as rules, you can test all the UI parts of an application...
This presentation was made for Eclipse Summit Europe 2010.
L0016 - The Structure of an Eclipse Plug-inTonny Madsen
This is a detailed description of the different parts that makes up an Eclipse plug-in. The module focuses on the purpose of the different files of a plug-in such as plugin.xml and the OSGi manifest file, MANIFEST.MF. The module also describes how plug-ins are developed in Eclipse with PDE, the Plug-in Development Environment
eclipse.dk - Eclipse RCP Under the HoodTonny Madsen
Denne event er en kombination af en tutorial day og en live demonstration af en "full featured" Eclipse RCP applikation hvor udviklingen kommenteres on-the-fly.
Medbring din laptop og prøv selv hvordan man forholdsvis let kan starte en Eclipse RCP applikation. Det er meget vigtigt at du allerede har Eclipse 3.6 installeret på maskinen.Følgende emner vil blive demonstreret / omtalt
Eclipse RCP Arkitektur
Konfiguration (OSGi console, plugin.xml, manifest.mf...)
Packaging
Extension Points
UI / SWT / JFace
Editors / Views
Building and Testing
Developing enterprise applications today using JavaFX is a challenge. The industry has not matured enough to identify patterns and practices. Consequently practioners (architects and developers alike) commit the same mistakes again and again. There is a complete lack of non-UI frameworks that make JavaFX application development easy and fast. FxObjects attempts to address that gap. The 0.1 version released provides powerful features.
javagruppen.dk - e4, the next generation Eclipse platformTonny Madsen
After 13 years, the Eclipse framework gets it second make-over. The new work is termed e4 and will be included in Eclipse 4.0.
In the first make-over the run-time was replaced in Eclipse 3.0 with OSGi to get a better and more stable foundation for plug-ins. This time the user interface and contributions are modernized for use in Eclipse 4.0.
In this session, we will see some of the insides of the new paradigms in e4.
Prepared for a small team sharing session.
It was meant to be a 20 mins sharing to fellow developers who have otherwise had no exposure or experience to Objective-C or GUI programming.
L0001 - The Terminology of the Eclipse PlatformTonny Madsen
This is a basic walk-through of all the central concepts of the Eclipse platform and how these fit together. The primary goal of this module is to establish a common terminology.
EclipseCon '11 - Using Adapters to Handle Menus and Handlers in Large Scale A...Tonny Madsen
How do you effectively control commands, menus and handlers in a large pluggable application to get a consistent use of the commands across the complete application? This is definitely one of the areas where the Eclipse IDE is not a good sample application. Just notice how all team providers add commands with the same text and function and how multiple identical menu items some times show up...
Here the Adapter framework of Eclipse can be a big help if used properly.
While the Adapter framework arguably is one of the more difficult to understand and use properly, the is also a framework that will solve many of the problems you might face is larger non-trivial applications. Especially when used in conjunction with the menus extension point and handlers. This presentation will show how to use the adapter framework of the Eclipse framework with special emphasis on the menus and handlers.
For PROSA:
Onsdag 26.1. Introduktion til Eclipse
Eclipse er et fremstormende open source-udviklingsmiljø (Eclipse IDE), der oprindeligt er udviklet med henblik på Java.
Kom og mød Tonny Madsen, formand for Eclipse Danmark, foreningen for både professionelle, virksomheder og brugere.
Tonny er til daglig direktør i RCP Company, der har specialiseret sig i udvikling, uddannelse og konsulentydelser inden for Eclipse.
Han vil give jer et overblik over platformen, både teknisk, projektmæssigt, organisering, muligheder, fremtiden etc.
ITU - MDD – Model-to-Model TransformationsTonny Madsen
This presentation describes the use Model-to-Model transformations (M2M). It focus on the why, what and how.
This presentation is developed for MDD 2010 course at ITU, Denmark.
”Medbring din laptop, netbook, mac el.lign. og få i løbet af denne workshop dine første hands-on erfaringer med Eclipse.”
Arrangement for IDA.
In Danish
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...Tonny Madsen
”Har du tænkt på at skifte til et leverandøruafhængigt udviklingsmiljø? Det er gratis, og du får ét udviklingsmiljø, som du kan programmere alt fra Java, C, C++ og PHP til databaser og webserver i. Vi får dig til at se værdien af værktøjet, og se flere forskellige eksempler på brugen af Eclipse i praksis.
Kom og hør formanden for eclipse.dk, Tonny Madsen, Direktør, RCP Kompaniet fortælle om Eclipse.
Eclipse er component-baseret, og du får indsigt i hvordan du sammensætter Eclipse til netop dine behov.”
In Danish
This presentation describes Eclipse Modeling Framework – EMF. It has two basic purposes:
Introduce you to the EMF techniques needed in the rest of the course
Introduce you to the architecture and components of the EMF project
This presentation is developed for MDD 2010 course at ITU, Denmark.
This presentation shows how Eclipse plug-ins are developed. It has two purposes:
Introduce you to the architecture and techniques of a major component based application
Introduce you to basic Eclipse plug-in development – this will hopefully ease the needed programming in the rest of the course
This presentation is developed for MDD 2010 course at ITU, Denmark.
This presentation describes the use of XText.
This presentation assumes a good knowledge of Data Modeling and Grammars as previously presented.
This presentation is developed for MDD 2010 course at ITU, Denmark.
Eclipse Summit Europe '08 - Implementing Screen Flows in Eclipse RCP Applicat...Tonny Madsen
Eclipse RCP – about of the box – is a fantastic platform for building applications. Especially if these are for engineer-like users
When Eclipse RCP is used for enterprise applications – like for banks – one of major shortcomings is found in the missing ability to control screen flows.
This talk describes how screen flow was implemented in a major banking application where we expect to add 2-300 screen flows, some very simple and some very complex.
EclipseCon '09 - The Happy Marriage of EMF, Data binding, UI Forms and Field ...Tonny Madsen
Imagine you have to develop a larger Eclipse RCP based application with many dozens - maybe hundreds - of views, dialogs and wizards all based on a large common EMF based data model. How do you make sure you get a consistent and modern interface that can be extended in the future without redesigning everything again and again?
This presentation describes different modeling techniques. It has three basic purposes:
Give you an overview of some of the different types of models
Give you a set of tools to decide how to create a (good) model for a problem
Give you an overview of some of the different modeling techniques
This presentation is developed for MDD 2010 course at ITU, Denmark
ITU - MDD - Textural Languages and GrammarsTonny Madsen
This presentation describes the use and design of textural domain specific language - DSL. It has two basic purposes:
Introduce you to some of the more important design criteria in language design
Introduce you to BNF
This presentation is developed for MDD 2010 course at ITU, Denmark.
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejenTonny Madsen
”Har du tænkt på at skifte til et leverandøruafhængigt udviklingsmiljø? Det er gratis, og du får ét udviklingsmiljø, som du kan programmere alt fra Java, C, C++ og PHP til databaser og webserver i. Vi får dig til at se værdien af værktøjet, og se flere forskellige eksempler på brugen af Eclipse i praksis.
Kom og hør formanden for eclipse.dk, Tonny Madsen, Direktør, RCP Kompaniet fortælle om Eclipse.
Eclipse er component-baseret, og du får indsigt i hvordan du sammensætter Eclipse til netop dine behov.”
EclipseCon '08 - Lessons Learned from an Enterprise RCP ApplicationTonny Madsen
During the implementation of a major financial application for a large financial institution, we learned a lot about how to use Eclipse RCP as an application platform and especially some of the short-comings of the current platform.
This long talk goes through some of the lessons we learned and discusses some of the changes that could be made to Eclipse RCP to get a better platform for enterprise applications.
The French Revolution, which began in 1789, was a period of radical social and political upheaval in France. It marked the decline of absolute monarchies, the rise of secular and democratic republics, and the eventual rise of Napoleon Bonaparte. This revolutionary period is crucial in understanding the transition from feudalism to modernity in Europe.
For more information, visit-www.vavaclasses.com
Read| The latest issue of The Challenger is here! We are thrilled to announce that our school paper has qualified for the NATIONAL SCHOOLS PRESS CONFERENCE (NSPC) 2024. Thank you for your unwavering support and trust. Dive into the stories that made us stand out!
The Art Pastor's Guide to Sabbath | Steve ThomasonSteve Thomason
What is the purpose of the Sabbath Law in the Torah. It is interesting to compare how the context of the law shifts from Exodus to Deuteronomy. Who gets to rest, and why?
Instructions for Submissions thorugh G- Classroom.pptxJheel Barad
This presentation provides a briefing on how to upload submissions and documents in Google Classroom. It was prepared as part of an orientation for new Sainik School in-service teacher trainees. As a training officer, my goal is to ensure that you are comfortable and proficient with this essential tool for managing assignments and fostering student engagement.
Ethnobotany and Ethnopharmacology:
Ethnobotany in herbal drug evaluation,
Impact of Ethnobotany in traditional medicine,
New development in herbals,
Bio-prospecting tools for drug discovery,
Role of Ethnopharmacology in drug evaluation,
Reverse Pharmacology.
Unit 8 - Information and Communication Technology (Paper I).pdfThiyagu K
This slides describes the basic concepts of ICT, basics of Email, Emerging Technology and Digital Initiatives in Education. This presentations aligns with the UGC Paper I syllabus.
The Roman Empire A Historical Colossus.pdfkaushalkr1407
The Roman Empire, a vast and enduring power, stands as one of history's most remarkable civilizations, leaving an indelible imprint on the world. It emerged from the Roman Republic, transitioning into an imperial powerhouse under the leadership of Augustus Caesar in 27 BCE. This transformation marked the beginning of an era defined by unprecedented territorial expansion, architectural marvels, and profound cultural influence.
The empire's roots lie in the city of Rome, founded, according to legend, by Romulus in 753 BCE. Over centuries, Rome evolved from a small settlement to a formidable republic, characterized by a complex political system with elected officials and checks on power. However, internal strife, class conflicts, and military ambitions paved the way for the end of the Republic. Julius Caesar’s dictatorship and subsequent assassination in 44 BCE created a power vacuum, leading to a civil war. Octavian, later Augustus, emerged victorious, heralding the Roman Empire’s birth.
Under Augustus, the empire experienced the Pax Romana, a 200-year period of relative peace and stability. Augustus reformed the military, established efficient administrative systems, and initiated grand construction projects. The empire's borders expanded, encompassing territories from Britain to Egypt and from Spain to the Euphrates. Roman legions, renowned for their discipline and engineering prowess, secured and maintained these vast territories, building roads, fortifications, and cities that facilitated control and integration.
The Roman Empire’s society was hierarchical, with a rigid class system. At the top were the patricians, wealthy elites who held significant political power. Below them were the plebeians, free citizens with limited political influence, and the vast numbers of slaves who formed the backbone of the economy. The family unit was central, governed by the paterfamilias, the male head who held absolute authority.
Culturally, the Romans were eclectic, absorbing and adapting elements from the civilizations they encountered, particularly the Greeks. Roman art, literature, and philosophy reflected this synthesis, creating a rich cultural tapestry. Latin, the Roman language, became the lingua franca of the Western world, influencing numerous modern languages.
Roman architecture and engineering achievements were monumental. They perfected the arch, vault, and dome, constructing enduring structures like the Colosseum, Pantheon, and aqueducts. These engineering marvels not only showcased Roman ingenuity but also served practical purposes, from public entertainment to water supply.
This is a presentation by Dada Robert in a Your Skill Boost masterclass organised by the Excellence Foundation for South Sudan (EFSS) on Saturday, the 25th and Sunday, the 26th of May 2024.
He discussed the concept of quality improvement, emphasizing its applicability to various aspects of life, including personal, project, and program improvements. He defined quality as doing the right thing at the right time in the right way to achieve the best possible results and discussed the concept of the "gap" between what we know and what we do, and how this gap represents the areas we need to improve. He explained the scientific approach to quality improvement, which involves systematic performance analysis, testing and learning, and implementing change ideas. He also highlighted the importance of client focus and a team approach to quality improvement.
How to Split Bills in the Odoo 17 POS ModuleCeline George
Bills have a main role in point of sale procedure. It will help to track sales, handling payments and giving receipts to customers. Bill splitting also has an important role in POS. For example, If some friends come together for dinner and if they want to divide the bill then it is possible by POS bill splitting. This slide will show how to split bills in odoo 17 POS.
How to Create Map Views in the Odoo 17 ERPCeline George
The map views are useful for providing a geographical representation of data. They allow users to visualize and analyze the data in a more intuitive manner.
Chapter 3 - Islamic Banking Products and Services.pptx
L0020 - The Basic RCP Application
1. The Basic RCP Application
An overview of the code that makes up the skeleton of a basic RCP
application. This includes the basics for advisors and perspectives. This
module also describes the basics of how to launch and debug an RCP
application.
Redistribution and other use of this material requires written permission from The RCP Company.
L0001 - 2010-11-27
2. Creating an Eclipse RCP Application
Use the “Plug-in Project” wizard!
Project Page:
Specify the plug-in name:
com.rcpcompany.cex (or whatever)
2
L0001 - 2010-11-27
3. Creating an Eclipse RCP Application
Content Page
Change information as appropriate
Activator generated
We contribute to the UI
It is an RCP Application!
3
L0001 - 2010-11-27
4. Creating an Eclipse RCP Application
Templates Page:
Use “Hello RCP” template
4
L0001 - 2010-11-27
5. Launch the Application
The launch configuration for the application can
be created in several ways
E.g. use the “Launch an RCP Application”
in the Overview page of the plugin.xml
editor
Change the name of the application if needed
Use “Run” → “Open Run Dialog…”
5
L0001 - 2010-11-27
6. Update the Launch configuration
The arguments of the launch configuration for the application should be
updated with the following extra arguments:
-clean – cleans all internal caches
-console – starts the OSGi console
-consoleLog – prints all log messages on standard output
6
L0001 - 2010-11-27
7. Eclipse Workbench Start-Up Sequence
The Eclipse workbench is started in the following steps
From the user code the important classes are
Application (IApplication):
Handles the initialization of the display
Any login dialog
Creates and runs the workbench using the workbench advisor
WorkbenchAdvisor:
Names the initial perspective
Specifies the window advisor to use
Provides call-outs that is invoked during the life cycle of the workbench
– e.g. postStartup and preShutdown
WorkbenchWindowAdvisor:
Specifies the action bar advisor to use
Provides call-outs that is invoked during the life cycle of the workbench
window – e.g. postWindowCreate
7
L0001 - 2010-11-27
8. Eclipse Workbench Start-Up Sequence
ActionBarAdvisor:
In 3.2: Created all actions (if hard-coded) - filled in the actions in the
menu, tool bar, and status line as needed
In 3.3: Registers all built-in implementations for standard commands
In 3.4 and later: Empty!
8
L0001 - 2010-11-27
9. The Application (IApplication) Object (3.3 and later edition)
Identified via the extension point org.eclipse.core.runtime.applications
Simply creates a new SWT display and launches the application code
The place to handle login dialogs and similar
Eclipse 3.3 has added a stop() method to gracefully stop an application
public class Application implements IApplication {
public Object start(IApplicationContext context) throws Exception {
Display display = PlatformUI.createDisplay();
try {
int returnCode = PlatformUI.createAndRunWorkbench(display,
new ApplicationWorkbenchAdvisor());
if (returnCode == PlatformUI.RETURN_RESTART)
return IApplication.EXIT_RESTART;
else
return IApplication.EXIT_OK;
} finally {
display.dispose();
}
}
public void stop() {
…
}
}
9
L0001 - 2010-11-27
10. The WorkbenchAdvisor Object
Specified by the Application object
Identifies the initial perspective to be used in the application – can be
overridden by saved state
Specifies the WorkbenchWindowAdvisor to be used when SWT windows are
created
public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {
private static final String PERSPECTIVE_ID = "com.rcpcompany.cex.perspective";
public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
return new ApplicationWorkbenchWindowAdvisor(configurer);
}
public String getInitialWindowPerspectiveId() {
return PERSPECTIVE_ID;
}
}
10
L0001 - 2010-11-27
11. The WorkbenchWindowAdvisor Object
Specified by the WorkbenchAdvisor object
Specifies the ActionBarAdvisor to use
public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
super(configurer);
}
@Override
public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer) {
return new ApplicationActionBarAdvisor(configurer);
}
....
}
11
L0001 - 2010-11-27
12. The WorkbenchWindowAdvisor Object
Configures the basic window properties
Name
Size
Presence of basic UI elements
Menu bar, toolbar, status Line, fast views, and perspective switcher
Progress indicators
public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
....
@Override
public void preWindowOpen() {
IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
configurer.setInitialSize(new Point(800, 600));
configurer.setShowCoolBar(false);
configurer.setShowMenuBar(true);
configurer.setShowStatusLine(false);
configurer.setTitle("Hello Contact Manager");
}
}
12
L0001 - 2010-11-27
13. The ActionBarAdvisor Object
Specified by the WorkbenchWindowAdvisor object
In 3.2: Created all actions (if hard-coded) - filled in the actions in the menu,
tool bar, and status line as needed
In 3.3: Registers all built-in implementations for standard commands
In 3.4 and later: Empty!
public class ApplicationActionBarAdvisor extends ActionBarAdvisor {
public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {
super(configurer);
}
protected void makeActions(IWorkbenchWindow window) {
}
protected void fillMenuBar(IMenuManager menuBar) {
}
}
13
L0001 - 2010-11-27
14. The Perspective Object
Specified by the WorkbenchAdvisor object
Creates the initial perspective in terms of
Views
Global actions
Shortcuts on relevant menus
public class Perspective implements IPerspectiveFactory {
public void createInitialLayout(IPageLayout layout) {
}
}
14
L0001 - 2010-11-27
15. Lab Exercise
Create the application.
If you have not used the Eclipse debugger before, then introduce an error –
e.g. divide-by-zero – and find the error in the debugger
15
L0001 - 2010-11-27
16. Adding a View
A new view can easily be added using the
extensions page for the plugin.xml file
Add a new extension with the name
“org.eclipse.ui.views”
Select the new line and add a
“New”→”view” using the context menu
Specify id, name and class as shown here
16
L0001 - 2010-11-27
17. Adding a View, cont’
Click on the “class” link to create the new View class automatically
Two methods must be implemented
createPartControl(Composite): Creates the visual content of the view
setFocus(): Sets the initial focus of the view
public class FirstView extends ViewPart {
@Override
public void createPartControl(Composite parent) {
}
@Override
public void setFocus() {
}
}
17
L0001 - 2010-11-27
18. Adding a View, cont’
Adding the view to the perspective
No editor is used
Views are positioned relatively to other views (or the editor)
The new view is placed to the left of the (non-existing) editor and will
take all of the room
public class Perspective implements IPerspectiveFactory {
public void createInitialLayout(IPageLayout layout) {
final String area = layout.getEditorArea();
layout.setEditorAreaVisible(false);
layout.addView(”com.rcpcompany.ex.views.FirstView”, IPageLayout.LEFT, 1.0f, area);
}
}
18
L0001 - 2010-11-27
19. Re-Launch the Application
Now the application includes the new view
Note that
The are no editor area
The view tab is present
The view can be closed
The view can be minimized
19
L0001 - 2010-11-27
20. Adding a File→Exit Command (3.3 and later edition)
Added in the plugin.xml file
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="menu:org.eclipse.ui.main.menu">
<menu label="File” id=”file” mnemonic="F">
<command commandId="org.eclipse.ui.file.exit" />
</menu>
</menuContribution>
</extension>
And to the ActionBarAdvisor object (3.3 edition only)
Uses predefined exit action
public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {
super(configurer);
}
protected void makeActions(IWorkbenchWindow window) {
register(ActionFactory.QUIT.create(window));
}
protected void fillMenuBar(IMenuManager menuBar) {
}
This is not needed for Eclipse 3.4 or later, where the behavior is
defined via the handlers extension point
20
L0001 - 2010-11-27
22. Lab Exercise
Create 4 views altogether
Add the views to the perspective
The way to position views in a perspective have not be discussed in
details, but…
Create the actions
Help→About
Hint: the ID is org.eclipse.ui.help.aboutAction
Extras:
Add the “Show View” command
22
L0001 - 2010-11-27
23. More Information
“Eclipse Rich Client Platform: Designing, Coding, and Packaging Java(TM)
Applications” by Jeff McAffer and Jean-Michel Lemieux (ISBN
978-0321334619)
The essential bible for everybody involved in Eclipse RCP. Includes
numerous examples with best practices for RCP applications
23
L0001 - 2010-11-27
Editor's Notes
\n
Creating a new Eclipse RCP is quite easy: just use the supplied wizard. \n
Enabling the API Analysis does not matter in this case. It is used to test for incompatible changes between releases of a plug-in.\n
Don&#x2019;t use any of thee other templates &#x2013; that would be cheating!\n
A launch configuration can be saved in the files system making it easy to share the configuration. Simply click the Shared option on the &#x201C;Common&#x201D; tab of the launch configuration and specify the name of the launch file. The shared launch configurations are automatically picked up by Eclipse IDE.\n
\n
The different advisors are described in details in the module &#x201C;L0038 - The Workbench Configuration&#x201D;.\n
The different advisors are described in details in the module &#x201C;L0038 - The Workbench Configuration&#x201D;.\n
\n
The changes made to way the application is started (and stopped), is primary due to better support servers. In server multiple applications can be running in the same process space and the start and stop methods are therefore important. \n
The generated code above is not really optional when scaling up the application. The PERSPECTIVE_ID should be moved to the Perspective class as ID.\n
\n
\n
The fact that the ActionBarAdvisor is specified by the WorkbenchWindowAdvisor means that each window will have its own set of actions, menus, etc. In most cases, this is overkill and could be avoided by some careful programming. Note though that if the windows are placed on different monitors (with different properties such as size, resolution and color-depth) then it is necessary to have different font and image resources for the different windows&#x2026;\nThe configurer is used to retrieve the different managers for the menu, tool bar, status line, etc. It is also used to register global actions if needed.\n
\n
Now it&#x2019;s time for the lab.\n
\n
\n
The exact possibilities when positioning views is covered in the module &#x201C;L0011 - Contributing to the Eclipse User Interface&#x201D;.\n
The tab can easily be avoided by using addStandaloneView(&#x2026;) instead of addView(&#x2026;). This is useful when certain view may never be moved or closed.\n
This is basically the same as on the previous slide &#x2013; just declared instead of programmed&#x2026;\n