Archive for the ‘RCP’ Category

Localization in RCP plugins

August 3rd, 2007

Localization in RCP plugins is usually done by including translations in a property file and using their id in plugin.xml.

I spend some time lately trying to understand why some translations were not used in my application although they were correctly displayed in PDE.

Answer : when using, you MUST include the following line in the plugin manifest :

Bundle-Localization: plugin

Otherwise, PDE will show the translated text, but your app won’t.

Strangely, I had to edit the manifest manually because I couldn’t find a way to enable plugin localization in PDE. Some other plugins of my application already had this line, but I don’t remember adding it. Maybe Eclipse templates have changed since I created my first plugins (using Eclipse 3.1).

See this post on the rcp newsgroup

Equinox : Bundle-NativeCode and MacOS

May 10th, 2007

Yet another bug on which I spent several days. Bundle-NativeCode directive works on windows but not on MacOS. I tried almost all possible workarounds, the only thing that worked was to add the java.library.path property to the VM, but things should not be done this way with OSGI.

I ended up with a new bug report :

Wait and See.

UPDATE: A fix was released for Eclipse 3.3RC1. The workaround is to use “Mac OS X” as the osname. The right Bundle-NaticeCode directive on MAC is :

Bundle-NativeCode: libjinput-osx.jnilib;liblwjgl.jnilib;openal.dylib;osname=”mac os x”;processor=x86;libjinput-osx.jnilib;liblwjgl.jnilib;openal.dylib;osname=”mac os x”;processor=ppc

Now Sharemedia 0.1.34 can be released :-)

Gallery Widget
SWT/RCP and OpenGL

April 23rd, 2007

Using OpenGL with SWT is really easy. I made an experimental fullscreen viewer for Sharemedia w/ LWJGL which shows a rotating picture.

Packaging LWJGL as an RCP plugin was a little more tricky, as several native libraries must be included for each platform. To do this, you have to add an OSGI header to the plugin :


Now I just have to learn how to create reflection and nice motion effects with OpenGL :-)

Some good resources :
Snippet 195