We are proud to make the first development version of the SWT/Qt platform available.
If you want to follow the progress of the code donation to the Eclipse Foundation you can track these bugs, CQ (link) and dicussion (link).
Please keep in mind this is a development version. All the core and custom widgets should work. However, it is not feature complete and it may be slow. Some things that are missing or incomplete are: StyledText, drag and drop, browser support, program start (launch external programs).
We provide binary bundles for the following OS:
- Windows 32bit, XP and above
- Linux 64bit
- Mac OSX 32bit
We tested it with the following eclipse packages (Galileo SR2):
You need the SWT bundle (download) and one of the platform specific bundles (includes Qt):
For installation, simply replace the SWT bundles in your “eclipse/plugin/” folder with the ones you downloaded from us.
Due to a bug you have to start eclipse with the “-noSplash” parameter:
% eclipse -noSplash
To test the styling capabilities, and we are sure you want to, download the AdvancedStyler plugin (download) and place it in your “eclipse/dropins/” folder (restart required). It will help you playing with the amazing Qt styling. We included some examples for an easy start.
For more information look at the Qt Style Sheet documentation found here.
To launch the AdvanedStyler hit the little paint icon in the toolbar and a dialog will pop up where you can change the styling on the fly.
The AdvancedStyler dialog looks like this
Hitting “Reset” brings you back the default style. “Update” applies the current style to your SWT application.
We would like to know what you are thinking, so please leave a comment. We are also very interessted in how you would use the new possibilities to style an application. So please feel free to post or send us screenshots.
Happy styling …
UPDATE:
Updated the “Advanced Style” plugin. Now with menu item under “Edit”. (download v0.2.1)


Thanks for this preview! We will try this ASAP an give you feedback!
Hi,
We give a quick try on our RCP application, based on Eclipse 3.5.2, and here are the results:
* GTK: http://img191.imageshack.us/img191/4904/gtk.png
* Qt: http://img690.imageshack.us/img690/6013/49694571.png
You’ll notice the following issues:
* GMF editor cannot start
* Red becomes blue in images (!?)
* Some styles (background, transparency…) are not working
I have a question: Where is located the CSS file to give it some tries with our app?
And do you plan to heve a preview with bundles compatible with SWT 3.6?
Great job by the way, very promising!
- we have never tried GMF….so you are really “on the edge” here….
- we know that images sometimes have a color issue
- we know that there are some issues with inherit background colors that are not solved
If you like to try CSS, place the advancedstyler into your plugin or dropins directory. It should appear in the toolbar. It contains the CSS styles and the code to set them in SWT/Qt.
If you like to set your own stylesheet its something like:
Display.setData(“stylesheet”, ); // which sets a global stylesheet for the whole application
or on any Widget
yourButton.setData(“stylesheet”, “QPushButton { background-color: qlineargradient(x1 : 0, y1 : 0, x2 : 0, y2 : 1, stop : 1 #c5cae6, stop :0 #fcfcfe); }”);
@mickael
It seems you do not have a toolbar in your app “Bonita Studio” and our “Advanced Styler” plugin currently only adds a toolbar item – no menu item. We will fix that in the next version. (update: now online)
If you are looking for some styling examples, please have a look at the “styles/” directory in the “Advanced Styler” jar.
And thanks for your feedback!
Wow, this looks very promising. I’ll have to try this as soon as possible (probably during this weekend). I’ve always found Eclipse to be very out of place and ugly looking on Linux/KDE desktop. Hope this will help.
QWidget: Must construct a QApplication before a QPaintDevice
I’ve just added the ‘org.eclipse.swt.win32.win32.x86_3.5.2.v3557f.jar’ file to an application using JFace+SWT.
Eclipse IDE for Java Developers
Build id: 20100218-1602
eclipse.exe -noSplash
!SESSION 2010-07-29 13:00:03.353 ———————————————–
eclipse.buildId=unknown
java.version=1.6.0_17
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=es_ES
Framework arguments: -product org.eclipse.epp.package.java.product
Command-line arguments: -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.java.product
!ENTRY org.eclipse.osgi 4 0 2010-07-29 13:00:04.556
!MESSAGE Application error
!STACK 1
java.lang.NoClassDefFoundError: com/trolltech/qt/core/QObject
at org.eclipse.ui.internal.Workbench.createDisplay(Workbench.java:516)
at org.eclipse.ui.PlatformUI.createDisplay(PlatformUI.java:161)
at org.eclipse.ui.internal.ide.application.IDEApplication.createDisplay(IDEApplication.java:143)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:88)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
Caused by: java.lang.ClassNotFoundException: com.trolltech.qt.core.QObject
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:494)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:398)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:105)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
… 16 more
Looking forward for a Qt version of Eclipse!
Wow, very cool, it works pretty well already (tested on Linux64 here). Amazing how much you can change the look, and that even at runtime. One question regarding styling: do you hardcode to use a specific Qt Style? It doesn’t seem to use the style that my other (KDE) applications use, and that is configured via qtconfig.
Do you want me to submit bug reports somewhere, or is that too early (i.e. you know already most of them)?
Thanks,
Carsten
@Carsten: The reason is that SWT in this download brings its own Qt with it. It does not reuse the Qt from the operating system. So this version would not only run on KDE based desktops but also on GTK. Its possible to remove the shared libs from the QtJambi package and then QtJambi accesses the ones from the operating system. HOWEVER: that means that you have to use Qt 4.5 in your OS. The current version still crashes with Qt 4.6 (or non 4.5.) versions. If you feel lucky you can try that with the existing download. Just remove the .so files from the QtJambi jar (make sure your OS has Qt 4.5. Then Eclipse will pick up the styling that you setup in your desktop.
@Fernando: Are you sure you downloaded the Eclipse IDE that we referred to in the posting (exactly this version), that you downloaded the TWO SWT plugins and replaced both of them in your plugins directory ?
@James: Thanks for trying. If you or others dare, send us a screenshot how your app looks like in Qt. (like Mickael did that in the first comment)
@Fernando
The problem occours when using eclipse which was previously started. Eclipse, or equinox, caches the content of some bundles for faster startup. Without changing the version number (we did not) it will not extract the bundle again.
You can now try one of the eclipse packages, we mentioned above, or try some bundle-kung-fu in the OSGi console:
Start eclipse with “-noSplash -console” and you get a nice “osgi>” prompt.
Find the SWT bundle ids:
osgi> ss swt
id State Bundle
152 ACTIVE org.eclipse.swt_3.5.2.v3557f
Fragments=153
153 RESOLVED org.eclipse.swt.gtk.linux.x86_64_3.5.2.v3557f
Master=152
osgi> update 153
osgi> refresh 153
osgi> exit
Restart eclipse. If this does not help. Try one of the mentioned eclipse packages.
@Christian the styling is a configuration option, so any Qt installation should pick up that style (if the style plugin is available). Using a different Qt library should not make any difference. Indeed I tried your approach of removing all the .so files from the jambi jar, and it does make no difference wrt the style. At least it is a confirmation that using the system supplied Qt (even Qt 4.6.3) works.
Might be that the Qt plugin path is not correct or you deliberately pick a specific style in the code.
No Linux – 32bit?
For future versions we will make 32/64bit packages for Windows and Linux available.
Finaly had the time to try this out (on 64-bit GNU/Linux) and it doesn’t start for me here. I get a message that an error occured and that I should check a log. The log file is here → http://pastebin.ca/1912654
looking at your post, maybe you dont have “libpng12.so” libpng 1.2. installed ?
High Cristian!
This solution is very good idea
What about source for Linux 32
This is truely great and looks very promising to me. I have been waiting for something like this for so many years now…
Thank you very much and please keep up the goot work!