Top Banner
© 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
15
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Swt qt ese2010

© 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

Page 2: Swt qt ese2010

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

Page 3: Swt qt ese2010

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

Page 4: Swt qt ese2010

Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0

Typical Smartclient Swing App

Page 5: Swt qt ese2010

Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0

Typical Smartclient SWT Apps (based on Riena)

5

Page 6: Swt qt ese2010

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

Page 7: Swt qt ese2010

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

Page 8: Swt qt ese2010

Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0

E4 CSS contact demo

8

Page 9: Swt qt ese2010

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

Page 10: Swt qt ese2010

Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0

Demo

Page 11: Swt qt ese2010

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

Page 12: Swt qt ese2010

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

Page 13: Swt qt ese2010

Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0

Riena UI Vision with SWT/Qt

13

Page 14: Swt qt ese2010

Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0

When Designers turn crazy....

14

Page 15: Swt qt ese2010

Copyright © 2010 compeople AG, Made available under the Eclipse Public License v 1.0 15

Discussion