Upload
christiancampo
View
694
Download
0
Tags:
Embed Size (px)
Citation preview
© 2002 IBM Corporation
Confidential | Date | Other Information, if necessary November 17, 2010 Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0
1
Christian Campo ESE 2010 – Nov
SWT/Qt
Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0
SWT/Qt – What happened until now ?
Start Implementation by compeople in May 2009
Talk ESE 2009
Talk ECon 2010
Talks with Platform Team to make it part of SWT
SWT/Qt code checked into eclipse.org (CQ 4301)
dependencies QtJambi + Qt cannot be at eclipse.org
Move to Eclipselabs.org (Bugzilla 318484)
2
Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0
SWT/Qt – Our Motivation
Building SWT based Applications with Riena
Riena has Look and Feel (Colors, Fonts, Rendering)
Riena LnF is limited by SWT‘s options
SWT is a very thin layer on top of OS widgets
We wanted more control over the styling of widgets
Predecessor of Riena is Swing based
Extremly good feedback from customers
3
Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0
Typical Smartclient Swing App
Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0
Typical Smartclient SWT Apps (based on Riena)
5
Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0
Building a SWT Platform
All SWT Platforms are more less RE-implementations (no interfaces, some common classes)
SWT is Java Code using JNI to call the respective toolkit
SWT Java implementations contain low level properties (handles, pointers etc.) which are public
SWT/Qt (similar to Cocoa) is build on of an OO-API
SWT/Qt has no public properties of internal properties
Building your own implementation is an adventure
You learn a lot about SWT
6
Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0
CSS styling
SWT/Qt uses the CSS styling of Qt CSS styling directly on any widget or globally for an application CSS styling can be changed any time at runtime CSS styling can be reset
CSS styling if set at runtime might overwrite program settings (i.e. background etc.)
CSS styling in SWT/Qt is the same concept as e4/CSS. (e4‘s CSS implementation is currently limited)
7
Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0
E4 CSS contact demo
8
Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0
SWT/Qt - Implementation
Riena Client RCP Client
SWT/Qt
QT Jambi
QT
SWT Client
CSS
QPushButton { border: 1px solid #8993b2; border-radius: 3px; background-color: qlineargradient(x1 : 0, y1 : 0, x2 : 0, y2 : 1, stop : 1 #c5cae6, stop :0 #fcfcfe); min-width: 80px; height: 20 px; }
Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0
Demo
Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0
SWT/Qt – the implementation
Another interesting aspect is having a „native“ Eclipse IDE on Qt based systems (KDE)
The current implementation can run the Eclipse IDE but is not optimized for speed yet.
Discussion on Bug 318484 about SWT/Qt should rather by based on Qt directly (using a handwritten replacement for QtJambi)
Qt is available on all major platforms but not a „native“ implementation as Win32, GTK or Cocoa
SWT/Qt is not feature complete i.e. no Drag and Drop support
11
Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0
SWT/Qt – Help wanted
Interested in .. Testing
Posting Issues
Fixing Bugs
Lets us know at http://www.eclipselabs.org/p/swtqt/
12
Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0
Riena UI Vision with SWT/Qt
13
Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0
When Designers turn crazy....
14
Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0 15
Discussion