Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-swt-dev] Providing SWT themeable scrollbars (onWindows)

----- Original Message -----
> From: "Tom Schindl" <tom.schindl@xxxxxxxxxxxxxxx>
> To: platform-swt-dev@xxxxxxxxxxx
> Sent: Wednesday, 24 February, 2016 5:10:50 PM
> Subject: Re: [platform-swt-dev] Providing SWT themeable scrollbars	(onWindows)
> 
> Hi Fabio,
> 
> A 100% compatible SWT port who leverages JavaFX is not possible!
> 
> You can get at a state RAP managed to get to but no further, the EPLed
> SWTonFX port provides you a good starting point, we stopped when we
> managed to render our input forms, so that we can move the gradually
> from SWT to JavaFX.
> 
> The main driving force for all this stuff in the IDE space is the dark
> theme and I think people need to start to accept the fact that SWT is
> not designed to look as different to the main OS theme than you want it to.

Fully agreed with this one. Currently what we have is a library designed in the way to have it look and feel just like the host platform and provide common API for that. And on top of it there is the theming engine which tries to go against this design decision directly by trying to make the widgets not look like native ones. Not an easy point to solve.

Alexander Kurtakov
Red Hat Eclipse team

> 
> I know that this is frustrating.
> 
> Tom
> 
> On 24.02.16 14:48, Mikaël Barbero wrote:
> > Here is an attempt to sum up the different proposals (feel free to
> > correct them if I misunderstood something):
> > 
> > - Port SWT to JavaFX => Expansive, not supported on IBM JDK and OpenJDK,
> > and rumors about Oracle dropping support of JavaFX.
> > - Port SWT to Qt => seems to be an accepted solution (despite Christian
> > mentioned that his port "didnt get much love in the SWT community for a
> > number of reasons that [he] can understand actually"). It's also an
> > expansive solution.
> > - Use GTK 3 on all platforms, i.e. do not use Cocoa OS X or Win32 on
> > Windows anymore. Any opinions on that? Should it be tried?
> > - Emulate scrollbars for canvas-like widget (StyledText would be the
> > first target) by painting over existing native scrollbar and provide API
> > to style the emulated scrollbar (not applicable for Tree/Table as they
> > are native widgets). The API can be one or many methods, the fact to
> > draw a new scrollbar has to be decided first.
> > - Add SWT API to call some supported styling native widget, e.g.
> > Widget#setThemedStyle(String). It seems straightforward to implement on
> > GTK3 (https://developer.gnome.org/gtk3/stable/GtkCssProvider.html), any
> > idea about the effort for other platforms (may requires string parsing
> > and multiple native function calls if not available)? Would fit nicely
> > with the "use GTK 3 on all platforms" solution.
> > 
> > Does it make sense to go one way or another? Do you think of any other
> > possible solution to do it?
> > 
> > Thanks,
> > Mikael
> > 
> >> Le 23 févr. 2016 à 21:14, Aleksandar Kurtakov <akurtako@xxxxxxxxxx
> >> <mailto:akurtako@xxxxxxxxxx>> a écrit :
> >>
> >> ---- Original Message -----
> >>> From: "Alex Blewitt" <alex.blewitt@xxxxxxxxx
> >>> <mailto:alex.blewitt@xxxxxxxxx>>
> >>> To: "Eclipse Platform SWT component developers list."
> >>> <platform-swt-dev@xxxxxxxxxxx <mailto:platform-swt-dev@xxxxxxxxxxx>>
> >>> Sent: Tuesday, 23 February, 2016 9:54:47 PM
> >>> Subject: Re: [platform-swt-dev] Providing SWT themeable
> >>> scrollbars(onWindows)
> >>>
> >>>>> 1a. If you think it should be supported, do you think it's better
> >>>>> to have
> >>>>> "multiple methods" or a single method with a "CSS string"?
> >>>>
> >>>> Hard to say, but I think Alex plans the CSS support anyway for SWT, in
> >>>> this case a CSS string should be reused.
> >>>
> >>> The SWT is a reusable standalone component which doesn’t have any
> >>> external
> >>> dependencies. The CSS support in Eclipse 4 brings in a lot of baggage:
> >>>
> >>> * org.eclipse.e4.ui.css.swt ->
> >>> |- org.eclipse.e4.ui.css.core ->
> >>> |- org.apache.batik.css ->
> >>> \- org.apache.batik.util ->
> >>> \- org.apache.batik.util.gui ->
> >>> | - org.w3.dom.svg ->
> >>> \- org.w3.dom.smil ->
> >>>  \- org.w3.dom.events
> >>> |- org.w3.css.sac
> >>>
> >>> Partly that’s because of the Batik parser (why does a parser depend on a
> >>> GUI?) but in order to maintain SWT to be a single dependency you’d
> >>> need to
> >>> in-line whatever CSS parsing support was required in order to theme
> >>> it. And
> >>> that probably doesn’t fit in with the goal of making SWT lightweight and
> >>> able to run on small devices, which has been a goal in the past.
> >>
> >> Not the place in this thread, but what I have in mind shares nothing
> >> with the CSS support in platform.ui. My idea is to make use of the
> >> styling capabilities of the underlying toolkit (GTK in my case) and
> >> feed it with CSS (almost)directly. That would be way more flexible and
> >> full css support actually
> >> (see https://developer.gnome.org/gtk3/stable/GtkCssProvider.html for
> >> details) and not requiring you to parse css and reinvent all the
> >> machinery, should be fully in the spirit of SWT - a thin wrapped on
> >> top of the OS provided support. And no additional deps for SWT for
> >> sure :). Due to Win/Cocoa not having such capabilities(at least I'm
> >> not aware of them - feel free to point me to it or best if you know
> >> how to do it for them let's have a call and discuss details) it's not
> >> feasible work for SWT for now, although worth trying to see what will
> >> come out of it when I have time to play with it. In any case such
> >> attempt is not for this thread so if there is someone interested in
> >> continuing on it, please start a new one.
> >>
> >> Regards,
> >> Alex
> >>
> >>>
> >>> Alex
> >>> _______________________________________________
> >>> platform-swt-dev mailing list
> >>> platform-swt-dev@xxxxxxxxxxx <mailto:platform-swt-dev@xxxxxxxxxxx>
> >>> To change your delivery options, retrieve your password, or
> >>> unsubscribe from
> >>> this list, visit
> >>> https://dev.eclipse.org/mailman/listinfo/platform-swt-dev
> >> _______________________________________________
> >> platform-swt-dev mailing list
> >> platform-swt-dev@xxxxxxxxxxx <mailto:platform-swt-dev@xxxxxxxxxxx>
> >> To change your delivery options, retrieve your password, or
> >> unsubscribe from this list, visit
> >> https://dev.eclipse.org/mailman/listinfo/platform-swt-dev
> > 
> > 
> > 
> > _______________________________________________
> > platform-swt-dev mailing list
> > platform-swt-dev@xxxxxxxxxxx
> > To change your delivery options, retrieve your password, or unsubscribe
> > from this list, visit
> > https://dev.eclipse.org/mailman/listinfo/platform-swt-dev
> > 
> 
> 
> --
> Thomas Schindl, CTO
> BestSolution.at EDV Systemhaus GmbH
> Eduard-Bodem-Gasse 5-7, A-6020 Innsbruck
> http://www.bestsolution.at/
> Reg. Nr. FN 222302s am Firmenbuchgericht Innsbruck
> _______________________________________________
> platform-swt-dev mailing list
> platform-swt-dev@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or unsubscribe from
> this list, visit
> https://dev.eclipse.org/mailman/listinfo/platform-swt-dev
> 


Back to the top