Author: Ivan Furnadjiev

With the release of Eclipse Neon, we are proud to announce that RAP 3.1 is released and available for download. Incidentally, just yesterday RAP celebrated its 10th birthday since creation review! We'd like to take this opportunity to thank our users, committers and contributors, without whom this technology would not be what it is. On to the highlights of this release. New service interface ClientFileLoader Custom widgets often require their...

Read More

This is a quick look at the new features in RAP 3.1 M4, which has been available for download since last week. Transformation Support for Canvas The Canvas' GraphicsContext now implements the setTransform method: [raw] Transform transform = new Transform( display ); gc.setTransform( transform ); gc.setBackground( display.getSystemColor( SWT.COLOR_BLACK ) ); gc.fillRectangle( 0, 0, 100, 50 ); transform.rotate( 10 ); gc.setTransform( transform ); gc.setBackground( display.getSystemColor( SWT.COLOR_RED ) ); gc.fillRectangle( 0, 0, 100, 50 ); transform.rotate( 10 ); gc.setTransform( transform...

Read More

Container Dependency Injection (CDI) allows us to inject one or more components (or services) into a dependent object. Usually it makes the code cleaner, as it separates the creation of the injected objects from the component's own behavior. Recently I've made a simple RAP standalone application to play together with CDI without problems. First, let's create our RAP entry point class: [raw] public class HelloWorld extends AbstractEntryPoint...

Read More

The new RAP 3.0 milestone M5 is out and has been available for download since February 6, 2015. Together with several bug fixes, M5 introduces clipping support. Clipping allows you to constrain changes to a selected part of the canvas. Once you select a clipping region, all future drawing operations will be limited to it. The canvas above is filled with rectangles and clipped to a custom...

Read More

The ability to upload files is key functionality for every Web application and, naturally RAP can upload files too. In the beginning ( RAP 1.2 ), this functionality was provided by a custom widget called Upload. This widget was based on an early version of the Qooxdoo UploadWidget contribution project. In RAP 1.4 the old Upload widget was deprecated and replaced by a new FileUpload RWT...

Read More

In RAP 1.3, we added support for GC (Graphics Context) to the canvas widget. It allows you to draw simple shapes such as lines, squares, ovals or arcs, and fill them with solid colors or gradients. Most of the time, this will suffice your needs, but sometimes you may also want to draw more complex shapes such as quadratic or bezier curves. Luckily, RAP 2.1 is just around...

Read More

For beginner developers is very important to have a fast start in a new technology. RAP Tools provide three PDE templates from its version 1.0, but all of them are based on the Eclipse workbench model and its extension points. Starting from RAP version 1.5, it's possible to create a lightweight OSGi applications using RAP’s widget toolkit. That's why we decided to replace two of...

Read More

In RAP v1.5 we introduced markup support for several widgets. One of the most frequently asked questions about markup support is: "Why are my images not displaying?". In this blog post I will give you a step-by-step guide on how to make your images available using markup. Save your images in your bundle source folder. In this example the images are located in "src/resources". Register your image...

Read More

Many developers still catch Throwable in their try/catch statements. Is this a good idea? I don't think so. As all of you know, Throwable is a generic superclass for all exception and errors in Java. As exceptions are meant to be caught, errors in most cases are not. If we take a look at the Error class JavaDoc we will read the following: An Error is...

Read More