* Select in the Plug-ins Listbox the 1 plugin org.eclipse.riena.example.client and click Add and then Finish

+

# In the Plug-ins Listbox, select the plugin <tt>org.eclipse.riena.example.client</tt>, click 'Add' and then 'Finish'.

−

* In The Run Dialog -> Eclipse Application there are two entries "SWT ExampleApplication" and "SWT ExampleApplication (with alternative Lnf)".

+

# In the Run Dialog -> Eclipse Application, there are two entries "SWT ExampleApplication" and "SWT ExampleApplication (with alternative Lnf)".

−

* You can launch them both (dont forget to click on Add Required Plug-ins in the Plug-ins Tab. Both launchers start the same application based on the same code using two different Riena Themes (different color, fonts etc.)

+

# You can launch them both:

−

* Play with it :-)

+

#* Don't forget to click on Add Required Plug-ins in the Plug-ins Tab.

−

* There is also a project org.eclipse.riena.sample.app.client.mail that you can import and start the same way. (launcher is "Mail Sample (Riena UI)")

+

#* Both launchers start the same application based on the same code, but using two distinct Riena Themes (different colors, fonts etc.).

+

# Play with it :-)

+

+

There is also a project <tt>org.eclipse.riena.sample.app.client.mail</tt> that you can import and start the same way. (The launcher is "Mail Sample (Riena UI)".)

The Target Definition editor will open. Wait for the "Resolving Target Definition…" job in the status bar (bottom right) to finish. Then click on 'Set as Target Platform'.

Done.

Experts: Manual Setup

Download Eclipse IDE 3.5.x for your platform and start with a blank workspace.

Create a new Target Platform definition that contains "Equinox Project SDK" and "Eclipse RCP SDK" from the Galileo Software Site (the RCP SDK will be only visible if you uncheck "Group by Category")

If you'd like to install Riena 1.1.0 from the Galileo Repository add Riena Core SDK and Riena SDK Samples.

If you'd like to install Riena 1.2.0. from the above update site then there are two entries for "Riena Core SDK" and "Riena SDK Samples" (a temporaray problem). Please select all four entries and add them to your target platform.

If you prefer to roll your own

Try the Riena Snippets

The Riena Snippets page contains a growing collection of self-contained code examples that show you how to use ridgets ("Riena widgets") and what you can do with them.

What are ridgets?

A ridget wraps an actual UI widget but offers a higher level of abstraction and it is independent from the UI toolkit (SWT). The idea is to separate the UI (view) from the logic behind it, which is moved to a view controller. The view controller interacts with the actual UI widgets through the ridgets. It
should be possible to reuse a view controller with a view that is based on a different UI toolkit (e.g. Swing).

A ridget offers the most commonly-used functionality (like setText(String) of a
text field) along with some extra convenience functionality like markers. A textfield can be marked as error by adding an ErrorMarker. The marking itself (changing color, setting icons, etc.) is handled
by the Riena framework. Another example is the bindToModel(...) method for a simple
databinding with a JavaBean.

The overall intention is to reduce the complexity for the application developer
and to ensure a common look & feel across the application. If the functionality
offered by the ridget's interface is not sufficient the developer can always
access the actual UI widget. (Then of course he loses the independence from the
UI toolkit). The set of ridgets is constantly getting bigger. If necessary it
should be possible for applications to add its own ridgets.

In the view you create SWT controls as always and register them with Riena (addUIControl(...)). The ridgets will be injected into the controller, where you then have access to the corresponding ridgets.

Try the communication ping pong example

In the Plug-ins Listbox, select the 4 plugins *.communication.sample.pingpong.* and click Add and then Finish.

In the Run Dialog you can select which of the two components to run (under 'OSGi Framework').

Don't forget to press the 'Add required Bundles' button for both of them before you start them!

First, start the Riena Sample PingPong Server.

The server starts at port 8080, make sure it's not taken.

Then start the Riena Sample PingPong Client.

On success your client will print a message on the console: PingPong::Client:: [Pong] says = Thx. I got the ping!

Switch to the server console; it should show a message like this: PingPong::Server:: [Ping] says = I ping you and you pong me

Try the unit tests

Import the project org.eclipse.riena.tests from the target platform (same as above).

There are classes like AllTests on various levels that you can run as Junit Plugin Tests.

You can also run individual tests as JUnit Plugin Tests.

Currently there are about 1300 tests and they should all work. Some of them fail if you click or move the mouse while the tests are running (e.g. focus or UI tests).

Sometimes when you launch AllTests as JUnit Plugin Test for the first time you get a "Launch Error". Simply say "No" in the dialog and modify the launch entry in the dialog for this class: in the "Main" tab, change the field "Run an application" from "org.eclipse.ui.ide.workbench", which is the default, to "[No Application] - Headless Mode".

Classes ending with *ITest require a server. That's the Riena App Sample Server (explained in the next step).

Install the Riena Sample App Server

Simple server with customer search web service:

Stop any previously started client or server.

Import the projects org.eclipse.riena.sample.app.server and org.eclipse.riena.sample.app.common from the target platform.

Start Riena App Server from the Run Dialog:

Don't forget to press the button "Add required bundles".

This server starts on port 8080, make sure that port is not taken.

That should bring up a relativly simple app server with just the customer search web service.

Server with many more services:

Stop the server again.

Bring up the Run Dialog again, select Riena App Server and select the bundles org.eclipse.riena.security.services and org.eclipse.riena.security.simpleservices (both found in the target platform).

Press "Add required bundles".

Run it.

Now you can see in the console a lot more (security-related) web services.

Now you can also run the *ITests from the tests bundle, e.g. SessionServiceITest.