www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Official Dub package for DWT

reply Jacob Carlborg <doob me.com> writes:
This has been long overdue but I would like to announce that I've just 
released an official Dub package for the DWT library [1]. For a usage 
example, please see the GitHub page [2].

For those not familiar with DWT, it's a library for creating 
cross-platform GUI applications. It's uses the native drawing operations 
of the operating system. It's originally a port of the SWT Java library, 
it's a complete port and contains no Java or JNI code.

A couple of other changes are:

* All the previous Git submodules have now been inlined in the 
main/super repository [3]
* Proper testing on both Linux and Windows has been added
* Separate tool for building all the snippets
* Bumped the minimum requirement of the compiler to DMD 2.078.1 (I'll 
probably add support for LDC soon)
* Officially removeed any support for building with D1

[1] http://code.dlang.org/packages/dwt
[2] https://github.com/d-widget-toolkit/dwt#usage
[3] https://github.com/d-widget-toolkit/dwt

-- 
/Jacob Carlborg
Feb 07
next sibling parent reply lobo <swamp.lobo gmail.com> writes:
On Wednesday, 7 February 2018 at 21:33:22 UTC, Jacob Carlborg 
wrote:
 This has been long overdue but I would like to announce that 
 I've just released an official Dub package for the DWT library 
 [1]. For a usage example, please see the GitHub page [2].

 For those not familiar with DWT, it's a library for creating 
 cross-platform GUI applications. It's uses the native drawing 
 operations of the operating system. It's originally a port of 
 the SWT Java library, it's a complete port and contains no Java 
 or JNI code.

 A couple of other changes are:

 * All the previous Git submodules have now been inlined in the 
 main/super repository [3]
 * Proper testing on both Linux and Windows has been added
 * Separate tool for building all the snippets
 * Bumped the minimum requirement of the compiler to DMD 2.078.1 
 (I'll probably add support for LDC soon)
 * Officially removeed any support for building with D1

 [1] http://code.dlang.org/packages/dwt
 [2] https://github.com/d-widget-toolkit/dwt#usage
 [3] https://github.com/d-widget-toolkit/dwt
Thanks for this effort. I looked at DWT a while back but settled on GtkD because it was easier to build. Either way, I will have to revisit this library and give it another go in my new project. Looking at the examples I imagine it wouldn't be too difficult to use WindowBuilder for SWT and port the generate Java code across to DWT. bye, lobo
Feb 07
parent Jacob Carlborg <doob me.com> writes:
On 2018-02-08 00:22, lobo wrote:

 Thanks for this effort. I looked at DWT a while back but settled on GtkD 
 because it was easier to build. Either way, I will have to revisit this 
 library and give it another go in my new project.
 
 Looking at the examples I imagine it wouldn't be too difficult to use 
 WindowBuilder for SWT and port the generate Java code across to DWT.
Yeah, I don't think that would be too difficult. -- /Jacob Carlborg
Feb 08
prev sibling next sibling parent Mike Franklin <slavo5150 yahoo.com> writes:
On Wednesday, 7 February 2018 at 21:33:22 UTC, Jacob Carlborg 
wrote:
 This has been long overdue but I would like to announce that 
 I've just released an official Dub package for the DWT library 
 http://code.dlang.org/packages/dwt
This is great! Nice work, and thank you! Mike
Feb 07
prev sibling next sibling parent "Nick Sabalausky (Abscissa)" <SeeWebsiteToContactMe semitwist.com> writes:
Very cool, will have to give it a try. I'm very interested in cross 
platform native-UI GUI libs for D.
Feb 07
prev sibling next sibling parent reply JN <666total wp.pl> writes:
On Wednesday, 7 February 2018 at 21:33:22 UTC, Jacob Carlborg 
wrote:
 This has been long overdue but I would like to announce that 
 I've just released an official Dub package for the DWT library 
 [1]. For a usage example, please see the GitHub page [2].
Great to see this project on Dub. It was always fairly easy to build, but including it in Dub will surely help its adoption. Can you explain how the EPL license works? I am not familiar with that license. Is DWT and anything using it considered a derivative work off Eclipse? Do I need to share source for my project if I use DWT in my project?
Feb 08
parent reply Bastiaan Veelo <Bastiaan Veelo.net> writes:
On Thursday, 8 February 2018 at 08:32:14 UTC, JN wrote:
 Can you explain how the EPL license works? I am not familiar 
 with that license. Is DWT and anything using it considered a 
 derivative work off Eclipse? Do I need to share source for my 
 project if I use DWT in my project?
From tldrlegal[1]: "This license, made and used by the Eclipse Foundation, is similar to GPL but allows you to link code under the license to proprietary applications. You may also license binaries under a proprietary license, as long as the source code is available under EPL." [1] https://tldrlegal.com/license/eclipse-public-license-1.0-%28epl-1.0%29
Feb 08
parent reply JN <666total wp.pl> writes:
On Thursday, 8 February 2018 at 09:35:38 UTC, Bastiaan Veelo 
wrote:
 On Thursday, 8 February 2018 at 08:32:14 UTC, JN wrote:
 Can you explain how the EPL license works? I am not familiar 
 with that license. Is DWT and anything using it considered a 
 derivative work off Eclipse? Do I need to share source for my 
 project if I use DWT in my project?
From tldrlegal[1]: "This license, made and used by the Eclipse Foundation, is similar to GPL but allows you to link code under the license to proprietary applications. You may also license binaries under a proprietary license, as long as the source code is available under EPL." [1] https://tldrlegal.com/license/eclipse-public-license-1.0-%28epl-1.0%29
This doesn't really explain much. It's confusing. It's similar to GPL. So if I release an app using DWT, I need to release the sourcecode for my app? Or do I only need to release the code for DWT (if I did any changes to the sourcecode).
Feb 11
parent Jesse Phillips <Jesse.K.Phillips+D gmail.com> writes:
On Sunday, 11 February 2018 at 11:04:52 UTC, JN wrote:
 [1] 
 https://tldrlegal.com/license/eclipse-public-license-1.0-%28epl-1.0%29
This doesn't really explain much. It's confusing. It's similar to GPL. So if I release an app using DWT, I need to release the sourcecode for my app? Or do I only need to release the code for DWT (if I did any changes to the sourcecode).
Not a lawyer, but it doesn't appear to really target libraries and is more directed to a complete application. The way it is written suggest that DWT would be a derived work and any changes to it will also be derived and need to forward the EPL license. However it makes no specific statements about using libraries as part of your code, which would suggest that the code outside the EPL library is not considered "the EPL Program" and thus not a derived work.
Feb 22
prev sibling next sibling parent Andrea Fontana <nospam example.com> writes:
On Wednesday, 7 February 2018 at 21:33:22 UTC, Jacob Carlborg 
wrote:
 This has been long overdue but I would like to announce that 
 I've just released an official Dub package for the DWT library 
 [1]. For a usage example, please see the GitHub page [2].
Great news!
Feb 08
prev sibling next sibling parent reply Brian <zoujiaqing gmail.com> writes:
Thanks!

But, How to use x64?
Feb 08
parent Jacob Carlborg <doob me.com> writes:
On 2018-02-09 04:48, Brian wrote:
 Thanks!
 
 But, How to use x64?
On Linux it should just work if you have a 64bit system. On Windows I guess you would run Dub with "dub --arch=x86_64", if it doesn't already default to 64bit. -- /Jacob Carlborg
Feb 09
prev sibling next sibling parent reply Jesse Phillips <Jesse.K.Phillips+D gmail.com> writes:
On Wednesday, 7 February 2018 at 21:33:22 UTC, Jacob Carlborg 
wrote:
 This has been long overdue but I would like to announce that 
 I've just released an official Dub package for the DWT library 
 [1]. For a usage example, please see the GitHub page [2].
This is awesome. I don't use GUI too much with my D programs, but I've had one lingering with DFL for a while now. It took a little bit to get familiar with this framework again, but I think the conversion has been totally worth it (even seems to have made my application faster). I'll point out that this is definitely a lower level library than I usually see/use. I also hit only one documentation issue due to this being 3.4 and not 3.7 or later, but that didn't look like it would be a normal hiccup. Anyway, thank you for getting this to work with DUB as that simplifies my build.
Feb 22
parent Jacob Carlborg <doob me.com> writes:
On 2018-02-22 20:26, Jesse Phillips wrote:

 This is awesome. I don't use GUI too much with my D programs, but I've 
 had one lingering with DFL for a while now.
 
 It took a little bit to get familiar with this framework again, but I 
 think the conversion has been totally worth it (even seems to have made 
 my application faster).
 
 I'll point out that this is definitely a lower level library than I 
 usually see/use.
 
 I also hit only one documentation issue due to this being 3.4 and not 
 3.7 or later, but that didn't look like it would be a normal hiccup.
 
 Anyway, thank you for getting this to work with DUB as that simplifies 
 my build.
Thanks. -- /Jacob Carlborg
Feb 22
prev sibling parent reply IM <3di gm.com> writes:
On Wednesday, 7 February 2018 at 21:33:22 UTC, Jacob Carlborg 
wrote:
 This has been long overdue but I would like to announce that 
 I've just released an official Dub package for the DWT library 
 [1]. For a usage example, please see the GitHub page [2].

 [...]
This is great, thanks! Any plans to make it link with gtk3 instead of 2? I remember gtk2 had issues with HiDPI support.
Mar 08
parent Jacob Carlborg <doob me.com> writes:
On Thursday, 8 March 2018 at 09:17:53 UTC, IM wrote:

 This is great, thanks!
 Any plans to make it link with gtk3 instead of 2? I remember 
 gtk2 had issues with HiDPI support.
DWT is a port of the Java library SWT. This particular version, 3.4, of SWT only supports GTK2. Later versions of SWT do support GTK3. The current port is a manual port, but I'm working on a tool to automate porting the code. I will not update DWT until it can be automated. -- /Jacob Carlborg
Mar 08