www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - How to build GUI-based applications in D ?

reply ashit <ashit.axar gmail.com> writes:
what is the simplest library to create gui applications in D?
i want to create gui applications but couldnt configure the tools 
so far.
i tried to install DFL several times, but it shows some errors 
while installing (that bold red lables showing : depreacated, 
depreacated, ... )

i dont need to build something advanced or so, only that common 
and simple elements like: buttons, labels, textboxs, ...

i really like D's syntax (C, C++, C#), but i have nothing to do 
with command line.
the good thing about C# (& WPF) is: double click on installer, 
start design your app.
Aug 01
next sibling parent reply Daniel Kozak via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> writes:
https://www.youtube.com/watch?v=5eUL8Z9AFW0

https://github.com/buggins/dlangui

On Tue, Aug 1, 2017 at 11:31 AM, ashit via Digitalmars-d-learn <
digitalmars-d-learn puremagic.com> wrote:

 what is the simplest library to create gui applications in D?
 i want to create gui applications but couldnt configure the tools so far.
 i tried to install DFL several times, but it shows some errors while
 installing (that bold red lables showing : depreacated, depreacated, ... )

 i dont need to build something advanced or so, only that common and simple
 elements like: buttons, labels, textboxs, ...

 i really like D's syntax (C, C++, C#), but i have nothing to do with
 command line.
 the good thing about C# (& WPF) is: double click on installer, start
 design your app.
Aug 01
parent reply ashit <ashit.axar gmail.com> writes:
On Tuesday, 1 August 2017 at 09:39:36 UTC, Daniel Kozak wrote:
 https://www.youtube.com/watch?v=5eUL8Z9AFW0

 https://github.com/buggins/dlangui
thank you Daniel. i have tried Dlangui previously and had no luck. but this time i could successfully compile my first app. now, i can say level zero created. i couldn't set control's width and height (Button widget) shows error. maybe it works a different way. i used the following code instead, but no effect. // create some widget to show in window auto button1 = new Button("btn1", "OK"d).margins(50); button1.minWidth = 200; button1.minHeight = 50; button1.maxWidth = 201; button1.maxHeight = 51; also i couldn't compile dlangide. it shows error like every time before: D:\ashit\software\D Compiler\DlangUI\dlangide-master>dub run Performing "debug" build using dmd for x86. emsi_containers 0.5.3: target for configuration "library" is up to date. libdparse 0.7.1-beta.7: building configuration "library"... C:\Users\axar\AppData\Roaming\dub\packages\libdparse-0.7.1beta.7\libdparse\src\ dparse\lexer.d(1789,12): Error: module std.math import 'nextPow2' not found dmd failed with exit code 1.
Aug 01
parent reply Dukc <ajieskola gmail.com> writes:
On Tuesday, 1 August 2017 at 15:18:12 UTC, ashit wrote:
 i couldn't set control's width and height (Button widget) shows 
 error. maybe it works a different way.
1. Try layoutHeight/width. Remember to set it for the main widget too, not just the children of it. 2. DlangUI is not intended to define sizes in pixels as a standard practice. Instead, use layouts and layout sizes. This is intended to courage you to make your program resolution-agnostic. But I'm a beginner at this topic too. Take these with a grain of salt
Aug 01
parent reply ashit <ashit.axar gmail.com> writes:
On Tuesday, 1 August 2017 at 16:12:45 UTC, Dukc wrote:
 On Tuesday, 1 August 2017 at 15:18:12 UTC, ashit wrote:
 i couldn't set control's width and height (Button widget) 
 shows error. maybe it works a different way.
1. Try layoutHeight/width. Remember to set it for the main widget too, not just the children of it. 2. DlangUI is not intended to define sizes in pixels as a standard practice. Instead, use layouts and layout sizes. This is intended to courage you to make your program resolution-agnostic. But I'm a beginner at this topic too. Take these with a grain of salt
thank you Dukc it worked, i should adapt with this different naming style. (as comparing to C#) [yesterday] but today, when i went to create another project, it failed. i get this message: D:\ashit\documents\D\simpled>dub init simpled dlangui Couldn't find package: dlangui. it works without the "dlangui" option, but then when i execute run command: D:\ashit\documents\D\simpled>dub run Performing "debug" build using dmd for x86. simpled ~master: building configuration "application"... source\app.d(2,8): Error: module dlangui is in file 'dlangui.d' which cannot be read import path[0] = source import path[1] = C:\dmd2\windows\bin\..\..\src\phobos import path[2] = C:\dmd2\windows\bin\..\..\src\druntime\import dmd failed with exit code 1. this is the path i have extracted the dlangui files: D:\ashit\software\D Compiler\DlangUI\dlangui-master how to define dlangui for DUB?
Aug 03
parent reply aberba <karabutawotld gmail.com> writes:
On Thursday, 3 August 2017 at 10:02:19 UTC, ashit wrote:
 On Tuesday, 1 August 2017 at 16:12:45 UTC, Dukc wrote:
 On Tuesday, 1 August 2017 at 15:18:12 UTC, ashit wrote:
 i couldn't set control's width and height (Button widget) 
 shows error. maybe it works a different way.
1. Try layoutHeight/width. Remember to set it for the main widget too, not just the children of it. 2. DlangUI is not intended to define sizes in pixels as a standard practice. Instead, use layouts and layout sizes. This is intended to courage you to make your program resolution-agnostic. But I'm a beginner at this topic too. Take these with a grain of salt
thank you Dukc it worked, i should adapt with this different naming style. (as comparing to C#) [yesterday] but today, when i went to create another project, it failed. i get this message: D:\ashit\documents\D\simpled>dub init simpled dlangui Couldn't find package: dlangui. it works without the "dlangui" option, but then when i execute run command: D:\ashit\documents\D\simpled>dub run Performing "debug" build using dmd for x86. simpled ~master: building configuration "application"... source\app.d(2,8): Error: module dlangui is in file 'dlangui.d' which cannot be read import path[0] = source import path[1] = C:\dmd2\windows\bin\..\..\src\phobos import path[2] = C:\dmd2\windows\bin\..\..\src\druntime\import dmd failed with exit code 1. this is the path i have extracted the dlangui files: D:\ashit\software\D Compiler\DlangUI\dlangui-master how to define dlangui for DUB?
The DlangUI docs has you covered with everything you need to set it up both on the github README file or the github wiki. Its just: dub init PROJECT_NAME dlangui This will create project and add dlangui as dependency. Creating a project requires Internet connection to download the dlangui package. You may also add dlangui as a dependency in the project's dub.json file.
Aug 05
parent reply ashit <ashit.axar gmail.com> writes:
On Saturday, 5 August 2017 at 07:10:50 UTC, aberba wrote:
 The DlangUI docs has you covered with everything you need to 
 set it up both on the github README file or the github wiki.

 Its just:

 dub init PROJECT_NAME dlangui


 This will create project and add dlangui as dependency. 
 Creating a project requires Internet connection to download the 
 dlangui package. You may also add dlangui as a dependency in 
 the project's dub.json file.
thank you aberba ok, so this is useless to me. i want something fully functional stand-alone tools. i have no internet connection there.
Aug 05
next sibling parent ashit <ashit.axar gmail.com> writes:
thank you everybody for your time to answer my questions.
Aug 05
prev sibling parent Dukc <ajieskola gmail.com> writes:
 thank you aberba

 ok, so this is useless to me.
 i want something fully functional stand-alone tools.
 i have no internet connection there.
Don't worry, DlangUI is stand-alone: you only need the connection to download it, but not to use it nor to compile with. Dub will function without connection if you have already downloaded the needed dependencies. If you have no connection at all for the device you develop with, you can use dub add-local to register a package you have fetched manually.
Aug 07
prev sibling next sibling parent reply ketmar <ketmar ketmar.no-ip.org> writes:
ashit wrote:

 what is the simplest library to create gui applications in D?
 i want to create gui applications but couldnt configure the tools so far.
 i tried to install DFL several times, but it shows some errors while 
 installing (that bold red lables showing : depreacated, depreacated, ... )

 i dont need to build something advanced or so, only that common and 
 simple elements like: buttons, labels, textboxs, ...

 i really like D's syntax (C, C++, C#), but i have nothing to do with 
 command line.
 the good thing about C# (& WPF) is: double click on installer, start 
 design your app.
Adam Ruppe has minigui in his arsd[0] repo. and minigui_xml to make interface creation easier. it is not really well-documented yet, tho, so you will prolly have to figure some things on your own. [0] https://github.com/adamdruppe/arsd
Aug 01
parent ashit <ashit.axar gmail.com> writes:
On Tuesday, 1 August 2017 at 09:44:48 UTC, ketmar wrote:
 ashit wrote:

 [...]
Adam Ruppe has minigui in his arsd[0] repo. and minigui_xml to make interface creation easier. it is not really well-documented yet, tho, so you will prolly have to figure some things on your own. [0] https://github.com/adamdruppe/arsd
On Tuesday, 1 August 2017 at 09:44:48 UTC, ketmar wrote: thank you
Aug 01
prev sibling next sibling parent reply Russel Winder via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> writes:
I use GtkD (with GStreamerD) for my GUI applications written in D.

https://gtkd.org/

On Tue, 2017-08-01 at 09:31 +0000, ashit via Digitalmars-d-learn wrote:
 what is the simplest library to create gui applications in D?
 i want to create gui applications but couldnt configure the tools=C2=A0
 so far.
 i tried to install DFL several times, but it shows some errors=C2=A0
 while installing (that bold red lables showing : depreacated,=C2=A0
 depreacated, ... )
=20
 i dont need to build something advanced or so, only that common=C2=A0
 and simple elements like: buttons, labels, textboxs, ...
=20
 i really like D's syntax (C, C++, C#), but i have nothing to do=C2=A0
 with command line.
 the good thing about C# (& WPF) is: double click on installer,=C2=A0
 start design your app.
=20
--=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Aug 01
parent ashit <ashit.axar gmail.com> writes:
On Tuesday, 1 August 2017 at 10:09:56 UTC, Russel Winder wrote:
 I use GtkD (with GStreamerD) for my GUI applications written in 
 D.

 https://gtkd.org/
thank you Russel. i have tried to config that several months ago, but no luck. i should try that once again.
Aug 01
prev sibling parent reply JamesD <me mail.com> writes:
On Tuesday, 1 August 2017 at 09:31:32 UTC, ashit wrote:
 what is the simplest library to create gui applications in D?
 i want to create gui applications but couldnt configure the 
 tools so far.
[snip] I recommend you check out the D widget toolkit (DWT). DWT is a library for creating cross-platform GUI applications. It's a port of the SWT Java library from Eclipse. The key advantages of DWT are; 1. Extensive API and examples from SWT that can be searched with your Browser 2. Statically linked (don't need an external DLL) 3. Easy to learn and use Here is the dub package for DWT: https://code.dlang.org/packages/dwtlib See more features in the DWT forum: https://forum.dlang.org/group/dwt Here are the various GUIs for the D language: https://wiki.dlang.org/GUI_Libraries
Aug 01
parent reply ashit <ashit.axar gmail.com> writes:
On Tuesday, 1 August 2017 at 14:57:50 UTC, JamesD wrote:
 On Tuesday, 1 August 2017 at 09:31:32 UTC, ashit wrote:
 what is the simplest library to create gui applications in D?
 i want to create gui applications but couldnt configure the 
 tools so far.
[snip] I recommend you check out the D widget toolkit (DWT). DWT is a library for creating cross-platform GUI applications. It's a port of the SWT Java library from Eclipse. The key advantages of DWT are; 1. Extensive API and examples from SWT that can be searched with your Browser 2. Statically linked (don't need an external DLL) 3. Easy to learn and use Here is the dub package for DWT: https://code.dlang.org/packages/dwtlib See more features in the DWT forum: https://forum.dlang.org/group/dwt Here are the various GUIs for the D language: https://wiki.dlang.org/GUI_Libraries
thank you James i should try that. i was always enjoy the pure and efficiency of C. that made me stubborn to learn java. but now, as i look behind i know i was wrong. (that caused i miss android). i need to rethink my strategy. but instead of that C brought me to the MCU's world.
Aug 01
parent Jacob Carlborg <doob me.com> writes:
On 2017-08-01 17:45, ashit wrote:

 thank you James

 i should try that.
 i was always enjoy the pure and efficiency of C. that made me stubborn
 to learn java.
Just to be clear, there's no Java code in DWT. Everything is ported to D. -- /Jacob Carlborg
Aug 05