Skip to content
 

SWT/Qt as alpha download

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)

19 Comments

  1. Thanks for this preview! We will try this ASAP an give you feedback!

  2. 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!

  3. Christian Campo says:

    - 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); }”);

  4. Jürgen Becker says:

    @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!

  5. Javanc says:

    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.

  6. James says:

    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.

  7. Fernando says:

    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!

  8. Carsten Pfeiffer says:

    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

  9. christian campo says:

    @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.

  10. christian campo says:

    @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 ?

  11. christian campo says:

    @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)

  12. Jürgen Becker says:

    @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.

  13. Carsten Pfeiffer says:

    @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.

  14. Not Important says:

    No Linux – 32bit?

  15. Jürgen Becker says:

    For future versions we will make 32/64bit packages for Windows and Linux available.

  16. Javanc says:

    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

  17. Christian Campo says:

    looking at your post, maybe you dont have “libpng12.so” libpng 1.2. installed ?

  18. Alex Savtchenko says:

    High Cristian!
    This solution is very good idea

    What about source for Linux 32

  19. Jens Stegemann says:

    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!

Leave a Reply