www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - What are the real GUI toolkits for D?

reply nbro <blah gfail.com> writes:
Except for GtkD and DWT, D does not seem to be supported by a 
really nice GUI toolkit. Anyway, a serious programming language 
nowadays should have a lot more support in that area. I have not 
tried GtkD yet, but it seems the most promising. Many projects 
have started to create a GUI toolkit (or wrapper), but now they 
are abandoned. Are there any plans to really support the 
development of standard GUI toolkit?
Jan 24
next sibling parent karabuta <karabutaworld gmail.com> writes:
On Sunday, 24 January 2016 at 12:16:09 UTC, nbro wrote:
 Except for GtkD and DWT, D does not seem to be supported by a 
 really nice GUI toolkit. Anyway, a serious programming language 
 nowadays should have a lot more support in that area. I have 
 not tried GtkD yet, but it seems the most promising. Many 
 projects have started to create a GUI toolkit (or wrapper), but 
 now they are abandoned. Are there any plans to really support 
 the development of standard GUI toolkit?
Not only that, there are also; DQML(if you want Qt's QML) https://github.com/filcuc/dqml DlangUI(written in D for Windows, mac, Linux) https://github.com/buggins/dlangui tkd(Tkinter) https://github.com/nomad-software/tkd Awesomium (Webview) https://github.com/k3kaimu/awebview Dude, there are no other cross platform GUIs aside these and (GtkD & DWT), and that is the case in every programming language there is today(that I know of and is matured enough). Currently Qt is the only one I know that works but it is written in C++ plus others high level stuff with binding in python. So you either go with Windows Form for windows only, or Mac GUI toolkit only or GtkD which at least works with Mac and De facto for Linux distros. Else haha!! If you want all D, the DlangUI is your solution at the moment. Check DlangIDE written with DlangUI from https://github.com/buggins/dlangide
Jan 24
prev sibling next sibling parent Luis <luis.panadero gmail.com> writes:
On Sunday, 24 January 2016 at 12:16:09 UTC, nbro wrote:
 Except for GtkD and DWT, D does not seem to be supported by a 
 really nice GUI toolkit. Anyway, a serious programming language 
 nowadays should have a lot more support in that area. I have 
 not tried GtkD yet, but it seems the most promising. Many 
 projects have started to create a GUI toolkit (or wrapper), but 
 now they are abandoned. Are there any plans to really support 
 the development of standard GUI toolkit?
My recommendation is that you try to use GtkD or TkD as they just work. Also, there is minigui that uses Win32 NATIVE GUI and something similar on Linux. I don't try it, but looks more promising like others because is NATIVE and not need to use a 2d game graphics library to work -> https://github.com/adamdruppe/arsd/blob/master/minigui.d
Jan 24
prev sibling next sibling parent reply Satoshi <satoshi gshost.eu> writes:
On Sunday, 24 January 2016 at 12:16:09 UTC, nbro wrote:
 Except for GtkD and DWT, D does not seem to be supported by a 
 really nice GUI toolkit. Anyway, a serious programming language 
 nowadays should have a lot more support in that area. I have 
 not tried GtkD yet, but it seems the most promising. Many 
 projects have started to create a GUI toolkit (or wrapper), but 
 now they are abandoned. Are there any plans to really support 
 the development of standard GUI toolkit?
Yop, we started dev of MVC/GUI Framework in pure D called Rikarin. Main concept is based on API from Cocoa framework, like MVC, Delegation, Action/Targer, Responder chain, etc. In 6 months, there should be a first release. (our web designer is currently working on website http://www.rikarin.org/)
Jan 25
next sibling parent nbro <blah gfail.com> writes:
On Monday, 25 January 2016 at 08:31:34 UTC, Satoshi wrote:
 On Sunday, 24 January 2016 at 12:16:09 UTC, nbro wrote:
 Except for GtkD and DWT, D does not seem to be supported by a 
 really nice GUI toolkit. Anyway, a serious programming 
 language nowadays should have a lot more support in that area. 
 I have not tried GtkD yet, but it seems the most promising. 
 Many projects have started to create a GUI toolkit (or 
 wrapper), but now they are abandoned. Are there any plans to 
 really support the development of standard GUI toolkit?
Yop, we started dev of MVC/GUI Framework in pure D called Rikarin. Main concept is based on API from Cocoa framework, like MVC, Delegation, Action/Targer, Responder chain, etc. In 6 months, there should be a first release. (our web designer is currently working on website http://www.rikarin.org/)
How much is it going to be serious? I mean, starting such a project requires great care and experience. I hope it's not another (and maybe even incomplete) GUI toolkit, otherwise it wouldn't be useful.
Jan 26
prev sibling parent reply Daniel Kozak <kozzi11 gmail.com> writes:
On Monday, 25 January 2016 at 08:31:34 UTC, Satoshi wrote:
 On Sunday, 24 January 2016 at 12:16:09 UTC, nbro wrote:
 Except for GtkD and DWT, D does not seem to be supported by a 
 really nice GUI toolkit. Anyway, a serious programming 
 language nowadays should have a lot more support in that area. 
 I have not tried GtkD yet, but it seems the most promising. 
 Many projects have started to create a GUI toolkit (or 
 wrapper), but now they are abandoned. Are there any plans to 
 really support the development of standard GUI toolkit?
Yop, we started dev of MVC/GUI Framework in pure D called Rikarin. Main concept is based on API from Cocoa framework, like MVC, Delegation, Action/Targer, Responder chain, etc. In 6 months, there should be a first release. (our web designer is currently working on website http://www.rikarin.org/)
Can you post some more info? Which platform this toolkit will support? What license? Can somebody help and how?
Jan 26
parent Satoshi <satoshi gshost.eu> writes:
On Tuesday, 26 January 2016 at 11:57:29 UTC, Daniel Kozak wrote:
 On Monday, 25 January 2016 at 08:31:34 UTC, Satoshi wrote:
 On Sunday, 24 January 2016 at 12:16:09 UTC, nbro wrote:
 Except for GtkD and DWT, D does not seem to be supported by a 
 really nice GUI toolkit. Anyway, a serious programming 
 language nowadays should have a lot more support in that 
 area. I have not tried GtkD yet, but it seems the most 
 promising. Many projects have started to create a GUI toolkit 
 (or wrapper), but now they are abandoned. Are there any plans 
 to really support the development of standard GUI toolkit?
Yop, we started dev of MVC/GUI Framework in pure D called Rikarin. Main concept is based on API from Cocoa framework, like MVC, Delegation, Action/Targer, Responder chain, etc. In 6 months, there should be a first release. (our web designer is currently working on website http://www.rikarin.org/)
Can you post some more info? Which platform this toolkit will support? What license? Can somebody help and how?
It will be multiplatform, primary for windows and linux. As a main rendering tech. is used OpenGL with the custom drawing library for drawing simple shapes, bezier curves, etc. We are implementing material design, you can design template for your app first, then just design windows/views in IDE. = fully customizable design of apps in IDE. We adopt storyboard creation style from Cocoa where you can make whole GUI in IDE then bind controllers onto it. We dont have a licence yet. But it will be something like free for non-commercial use and companies under 5 people and less than $20k profit per year. Project is not opensource so only thing how somebody can help us is just by reporting bugs. But we discussing about opensource release of Rikarin Framework.
Jan 28
prev sibling next sibling parent reply Vadim Lopatin <coolreader.org gmail.com> writes:
On Sunday, 24 January 2016 at 12:16:09 UTC, nbro wrote:
 Except for GtkD and DWT, D does not seem to be supported by a 
 really nice GUI toolkit. Anyway, a serious programming language 
 nowadays should have a lot more support in that area. I have 
 not tried GtkD yet, but it seems the most promising. Many 
 projects have started to create a GUI toolkit (or wrapper), but 
 now they are abandoned. Are there any plans to really support 
 the development of standard GUI toolkit?
What kind of GUI app are you going to make? For some cases, DlangUI could be good choice https://github.com/buggins/dlangui * Native D implementation (not a wrapper) * Cross platform Windows/Linux/OSX * Customizable look&feel using themes * OpenGL accelerated drawing (optional) * If necessary, custom OpenGL drawing may be mixed with widgets Sample big project which utilizes DlangUI is DlangIDE - D language IDE written in D. https://github.com/buggins/dlangide Some screenshots (outdated): http://buggins.github.io/dlangui/screenshots.html
Jan 28
parent MGW <mgw yandex.ru> writes:
I think what to make "pure" GUI for D there is a waste of time 
and forces. More effectively and faster  to develop "wrapper" for 
Qt.

For myself  I have made library QtE which possibilities suffice 
me much. The main feature that addition of a new method or 
property from Qt in QtE occupies only five minutes. By the 
current moment in QtE  is 340 of functions Qt 4.8  "are wrapped 
up".

For beginning studying of programming language D, library QtE is 
the best decision.

QtE is checked up in Windows 32/64 and Linux 32/64 and depends 
from Qt 4.8.x. In the near future I plan to transfer it on MAC OS 
X 10.9 (64).

https://github.com/MGWL/QtE-Qt_for_Dlang_and_Forth

Some screenshots

Screen Windows
http://qte.ucoz.ru/QtE_win_2.png

Screen Linux
http://qte.ucoz.ru/QtE_linux_2.png

simple example:
Hello.d
----------------------------------------
import qte;
import core.runtime;                    // parametr start
int main(string[] args) {
     bool fDebug;	foreach (arg; args) if (arg=="--debug") fDebug = 
true;
     int rez = LoadQt( dll.Core | dll.Gui | dll.QtE, fDebug);
     if (rez==1) return 1;  // Error load QtE
     QApplication	app = new QApplication(&Runtime.cArgs.argc, 
Runtime.cArgs.argv, 1);
     QLabel  label = new QLabel(null);
     label.setText(“ --- Hello from QtE ---”);
     label.setAlignment(QtE.AlignmentFlag.AlignCenter);
     label.resize(300, 130);
     label.show();
     return app.exec();
}

----------------------------------------
Compile and execute:
     rdmd Hello qte
Jan 29
prev sibling parent reply thedeemon <dlang thedeemon.com> writes:
On Sunday, 24 January 2016 at 12:16:09 UTC, nbro wrote:
 Except for GtkD and DWT, D does not seem to be supported by a 
 really nice GUI toolkit.
For Windows DFL is quite nice and working well (I've used it in several projects). For multiple platforms DLangUI is very cool, I don't see why people continue starting their own reimplementations of the same stuff DLangUI already has. Next month my company is releasing a commercial product based on DLangUI.
 Are there any plans to really support the development of 
 standard GUI toolkit?
This question is raised here quite often. The usual answer is there is GtkD already, and no other project can really became a standard for two basic reasons: 1) it will be too fat to be included in Phobos, 2) there will never be consensus about GUI toolkit, how it should look and behave. All of them have some quirks and usually no crossplatform toolkits look native enough. Heck, on 90% of desktops there is no notion of "native" anymore, native GUI look changed so many times in Windows.
Jan 28
next sibling parent reply interessted <interessted aol.com> writes:
On Thursday, 28 January 2016 at 16:57:04 UTC, thedeemon wrote:
 On Sunday, 24 January 2016 at 12:16:09 UTC, nbro wrote:
 Except for GtkD and DWT, D does not seem to be supported by a 
 really nice GUI toolkit.
For Windows DFL is quite nice and working well (I've used it in several projects).
where can one find a working DFL version - compilable with the last compiler?
Jan 29
parent reply interessted <interessted aol.com> writes:
On Friday, 29 January 2016 at 10:18:31 UTC, interessted wrote:
 On Thursday, 28 January 2016 at 16:57:04 UTC, thedeemon wrote:
 On Sunday, 24 January 2016 at 12:16:09 UTC, nbro wrote:
 Except for GtkD and DWT, D does not seem to be supported by a 
 really nice GUI toolkit.
For Windows DFL is quite nice and working well (I've used it in several projects).
where can one find a working DFL version - compilable with the last compiler?
sorry forgot - and running for win64, since nobody i know still uses/creates x32.
Jan 29
next sibling parent reply Suliman <evermind live.ru> writes:
On Friday, 29 January 2016 at 10:41:03 UTC, interessted wrote:
 On Friday, 29 January 2016 at 10:18:31 UTC, interessted wrote:
 On Thursday, 28 January 2016 at 16:57:04 UTC, thedeemon wrote:
 On Sunday, 24 January 2016 at 12:16:09 UTC, nbro wrote:
 Except for GtkD and DWT, D does not seem to be supported by 
 a really nice GUI toolkit.
For Windows DFL is quite nice and working well (I've used it in several projects).
where can one find a working DFL version - compilable with the last compiler?
sorry forgot - and running for win64, since nobody i know still uses/creates x32.
http://code.dlang.org/packages/dformlib
Jan 29
parent reply interessted <interessted aol.com> writes:
On Friday, 29 January 2016 at 11:30:41 UTC, Suliman wrote:
 On Friday, 29 January 2016 at 10:41:03 UTC, interessted wrote:
 On Friday, 29 January 2016 at 10:18:31 UTC, interessted wrote:
 On Thursday, 28 January 2016 at 16:57:04 UTC, thedeemon wrote:
 On Sunday, 24 January 2016 at 12:16:09 UTC, nbro wrote:
 Except for GtkD and DWT, D does not seem to be supported by 
 a really nice GUI toolkit.
For Windows DFL is quite nice and working well (I've used it in several projects).
where can one find a working DFL version - compilable with the last compiler?
sorry forgot - and running for win64, since nobody i know still uses/creates x32.
http://code.dlang.org/packages/dformlib
thank you. but trying to compile i get - ex.: Error Error: function dfl.control.ControlSuperClass.wndProc does not override any function C:\proggies\D\dfl\src\dfl\control.d 6510 or Severity Code Description Project File Line Suppression State Error Error: overlapping default initialization for field droptarget and ldlgcode C:\proggies\D\dfl\src\dfl\control.d 603 anything i do wrong?
Jan 29
parent interessted <interessted aol.com> writes:
On Friday, 29 January 2016 at 12:12:40 UTC, interessted wrote:
 On Friday, 29 January 2016 at 11:30:41 UTC, Suliman wrote:
 On Friday, 29 January 2016 at 10:41:03 UTC, interessted wrote:
 On Friday, 29 January 2016 at 10:18:31 UTC, interessted wrote:
 On Thursday, 28 January 2016 at 16:57:04 UTC, thedeemon 
 wrote:
 On Sunday, 24 January 2016 at 12:16:09 UTC, nbro wrote:
 Except for GtkD and DWT, D does not seem to be supported 
 by a really nice GUI toolkit.
For Windows DFL is quite nice and working well (I've used it in several projects).
where can one find a working DFL version - compilable with the last compiler?
sorry forgot - and running for win64, since nobody i know still uses/creates x32.
http://code.dlang.org/packages/dformlib
thank you. but trying to compile i get - ex.:
fixing some imports etc this remains: Severity Code Description Project File Line Suppression State Error Error: static assert (136LU == 152LU) is false C:\xxx\D\dfl\src\dfl\filedialog.d 409
Jan 29
prev sibling parent thedeemon <dlang thedeemon.com> writes:
On Friday, 29 January 2016 at 10:41:03 UTC, interessted wrote:
 where can one find a working DFL version - compilable with the 
 last compiler?
The last compiler is just 1 day old, don't expect all libs updated this soon. ;) Usually I took DFL here: https://github.com/Rayerd/dfl/ There are many forks and branches now: https://github.com/Rayerd/dfl/network
 sorry forgot  -  and running for win64, since nobody i know 
 still uses/creates x32.
This rep seems quite active, includes 64-bit versions too: https://github.com/qchikara/dfl/branches The last version I personally used (32-bit) : https://github.com/thedeemon/dfl (includes some my own fixes)
Jan 29
prev sibling parent Luis <luis.panadero gmail.com> writes:
On Thursday, 28 January 2016 at 16:57:04 UTC, thedeemon wrote:
 On Sunday, 24 January 2016 at 12:16:09 UTC, nbro wrote:
 Except for GtkD and DWT, D does not seem to be supported by a 
 really nice GUI toolkit.
For Windows DFL is quite nice and working well (I've used it in several projects).
Some one should update the DFL web page and forums. There is a few post asking if DFL is dead, when there is at least 3 forks or updates to D2 on http://code.dlang.org/search?q=dfl
Jan 29