Jump to page: 1 27  
Page
Thread overview
Standard GUI framework inspired by Qt
Mar 03, 2015
Aram
Mar 03, 2015
Taylor Hillegeist
Mar 03, 2015
Jonas Drewsen
Mar 03, 2015
ketmar
Mar 04, 2015
Jonas Drewsen
Mar 05, 2015
ketmar
Mar 05, 2015
Kagamin
Mar 05, 2015
ketmar
Mar 05, 2015
Kagamin
Mar 05, 2015
ketmar
Mar 06, 2015
Kagamin
Mar 06, 2015
ketmar
Mar 06, 2015
Kagamin
Mar 03, 2015
Freddy
Mar 03, 2015
Freddy
Mar 03, 2015
Jonas Drewsen
Mar 05, 2015
Jacob Carlborg
Mar 05, 2015
Paulo Pinto
Mar 06, 2015
Jacob Carlborg
Mar 04, 2015
Rikki Cattermole
Mar 04, 2015
Aram
Mar 05, 2015
Rikki Cattermole
Mar 04, 2015
Kagamin
Mar 04, 2015
Aram
Mar 05, 2015
ketmar
Mar 05, 2015
Jacob Carlborg
Mar 05, 2015
ketmar
Mar 05, 2015
Rikki Cattermole
Mar 05, 2015
ketmar
Mar 05, 2015
Kapps
Mar 06, 2015
Jacob Carlborg
Mar 06, 2015
ketmar
Mar 07, 2015
ketmar
Mar 07, 2015
ketmar
Mar 07, 2015
ketmar
Mar 05, 2015
Vadim Lopatin
Mar 05, 2015
Aram
Mar 05, 2015
Vadim Lopatin
Mar 06, 2015
Aram
Mar 06, 2015
Namespace
Mar 06, 2015
Wyatt
Mar 10, 2015
karl
Mar 10, 2015
ketmar
Mar 10, 2015
ketmar
Mar 10, 2015
karl
Mar 10, 2015
ketmar
Mar 10, 2015
karl
Mar 10, 2015
ketmar
Mar 10, 2015
Paulo Pinto
Mar 10, 2015
ketmar
Mar 11, 2015
Xavier Bigand
Mar 13, 2015
Aram
Mar 15, 2015
Xavier Bigand
Mar 12, 2015
Piotrek
Mar 12, 2015
karl
Mar 13, 2015
Kagamin
Mar 13, 2015
karl
Apr 12, 2015
Manu
Mar 05, 2015
Aram
Mar 06, 2015
Vadim Lopatin
Mar 09, 2015
Dejan Lekic
Mar 09, 2015
Russel Winder
March 03, 2015
Hi all

I've been thinking over a GUI framework for D for some time, and ended up with idea expressed by Andrew Fedoniouk here: http://www.digitalmars.com/d/archives/digitalmars/D/32633.html. That is, having a separate drawing layer, and widgets built on top of it. But since it has already been discussed 9 years ago, I wonder if such a framework has ever been implemented.

In that duscussion many participants agreed that Qt would be a good foundation, but had very restrictive license. Things have changed since then, and Qt now is available under LGPL, which, to my undestanding, makes it suitable for the purpose of standard GUI library (please correct me if I am wrong on this). The license, of course, may change in the future, preventing us from using their updates for our drawing engine. But if we are able to start using the engine now, in the future we can maintain the updates ourselves.

Now, how I envision the library's design:

The library will be mostly implemented in D, except for drawing engine and event loop, which are system-dependent. Those two parts will be extracted from Qt into a separate library which will be linked to by the rest of framework either statically or dynamically. There will be bindings for sending drawing instructions to drawing engine, as well as for retrieving system and GUI events from event loop.

The system-independent part will mimic architecture of Qt. However, for maximum flexibility and customizability, GUI will utilize QML+CSS approach, and Qt's layout manager classes will be dropped completely. Also there is no need to port classes that are available in D, such as collections and strings.


If there is no standard GUI for D yet, and if LGPL license fits our purpose, then I am looking for 2-3 Qt experts to join me and build the framework.

Thanks,
Aram
March 03, 2015
On Tuesday, 3 March 2015 at 18:43:50 UTC, Aram wrote:
> Hi all
>
> I've been thinking over a GUI framework for D for some time, and ended up with idea expressed by Andrew Fedoniouk here: http://www.digitalmars.com/d/archives/digitalmars/D/32633.html. That is, having a separate drawing layer, and widgets built on top of it. But since it has already been discussed 9 years ago, I wonder if such a framework has ever been implemented.
>
> In that duscussion many participants agreed that Qt would be a good foundation, but had very restrictive license. Things have changed since then, and Qt now is available under LGPL, which, to my undestanding, makes it suitable for the purpose of standard GUI library (please correct me if I am wrong on this). The license, of course, may change in the future, preventing us from using their updates for our drawing engine. But if we are able to start using the engine now, in the future we can maintain the updates ourselves.
>
> Now, how I envision the library's design:
>
> The library will be mostly implemented in D, except for drawing engine and event loop, which are system-dependent. Those two parts will be extracted from Qt into a separate library which will be linked to by the rest of framework either statically or dynamically. There will be bindings for sending drawing instructions to drawing engine, as well as for retrieving system and GUI events from event loop.
>
> The system-independent part will mimic architecture of Qt. However, for maximum flexibility and customizability, GUI will utilize QML+CSS approach, and Qt's layout manager classes will be dropped completely. Also there is no need to port classes that are available in D, such as collections and strings.
>
>
> If there is no standard GUI for D yet, and if LGPL license fits our purpose, then I am looking for 2-3 Qt experts to join me and build the framework.
>
> Thanks,
> Aram

So I don't speak for the community, but I like the idea of having a gui abstracting front end that targets backends, like Qt or GTK or Winforms. I know some people probably don't care as much about dependencies as me. But for me its always best to target a platforms native toolkit, I think it looks better. We should do a poll or something.
March 03, 2015
On Tuesday, 3 March 2015 at 18:43:50 UTC, Aram wrote:
> Hi all
> ...
> However, for maximum flexibility and customizability, GUI will utilize QML+CSS approach, and Qt's layout manager classes will be dropped completely. Also there is no need to port classes that are available in D, such as collections and strings.

I've done a GUI toolkit with CSS support in D for my editor. Should probably put it on github at some point.

http://deadcodedev.steamwinter.com/

No QML-like thing because I feel that belongs in code. For now anyway.

/Jonas

March 03, 2015
On Tuesday, 3 March 2015 at 18:43:50 UTC, Aram wrote:
> Hi all
>
> I've been thinking over a GUI framework for D for some time, and ended up with idea expressed by Andrew Fedoniouk here: http://www.digitalmars.com/d/archives/digitalmars/D/32633.html. That is, having a separate drawing layer, and widgets built on top of it. But since it has already been discussed 9 years ago, I wonder if such a framework has ever been implemented.
>
> In that duscussion many participants agreed that Qt would be a good foundation, but had very restrictive license. Things have changed since then, and Qt now is available under LGPL, which, to my undestanding, makes it suitable for the purpose of standard GUI library (please correct me if I am wrong on this). The license, of course, may change in the future, preventing us from using their updates for our drawing engine. But if we are able to start using the engine now, in the future we can maintain the updates ourselves.
>
> Now, how I envision the library's design:
>
> The library will be mostly implemented in D, except for drawing engine and event loop, which are system-dependent. Those two parts will be extracted from Qt into a separate library which will be linked to by the rest of framework either statically or dynamically. There will be bindings for sending drawing instructions to drawing engine, as well as for retrieving system and GUI events from event loop.
>
> The system-independent part will mimic architecture of Qt. However, for maximum flexibility and customizability, GUI will utilize QML+CSS approach, and Qt's layout manager classes will be dropped completely. Also there is no need to port classes that are available in D, such as collections and strings.
>
>
> If there is no standard GUI for D yet, and if LGPL license fits our purpose, then I am looking for 2-3 Qt experts to join me and build the framework.
>
> Thanks,
> Aram
I'm not much of a gui person,but what is the advantage of using QML over D's import statements(http://dlang.org/expression.html#ImportExpression) and CTFE.
March 03, 2015
On Tuesday, 3 March 2015 at 22:16:36 UTC, Freddy wrote:
> On Tuesday, 3 March 2015 at 18:43:50 UTC, Aram wrote:
>> Hi all
>>
>> I've been thinking over a GUI framework for D for some time, and ended up with idea expressed by Andrew Fedoniouk here: http://www.digitalmars.com/d/archives/digitalmars/D/32633.html. That is, having a separate drawing layer, and widgets built on top of it. But since it has already been discussed 9 years ago, I wonder if such a framework has ever been implemented.
>>
>> In that duscussion many participants agreed that Qt would be a good foundation, but had very restrictive license. Things have changed since then, and Qt now is available under LGPL, which, to my undestanding, makes it suitable for the purpose of standard GUI library (please correct me if I am wrong on this). The license, of course, may change in the future, preventing us from using their updates for our drawing engine. But if we are able to start using the engine now, in the future we can maintain the updates ourselves.
>>
>> Now, how I envision the library's design:
>>
>> The library will be mostly implemented in D, except for drawing engine and event loop, which are system-dependent. Those two parts will be extracted from Qt into a separate library which will be linked to by the rest of framework either statically or dynamically. There will be bindings for sending drawing instructions to drawing engine, as well as for retrieving system and GUI events from event loop.
>>
>> The system-independent part will mimic architecture of Qt. However, for maximum flexibility and customizability, GUI will utilize QML+CSS approach, and Qt's layout manager classes will be dropped completely. Also there is no need to port classes that are available in D, such as collections and strings.
>>
>>
>> If there is no standard GUI for D yet, and if LGPL license fits our purpose, then I am looking for 2-3 Qt experts to join me and build the framework.
>>
>> Thanks,
>> Aram
> I'm not much of a gui person,but what is the advantage of using QML over D's import statements(http://dlang.org/expression.html#ImportExpression) and CTFE.
*import expression.
March 03, 2015
On Tuesday, 3 March 2015 at 22:16:36 UTC, Freddy wrote:
> On Tuesday, 3 March 2015 at 18:43:50 UTC, Aram wrote:
>> Hi all
>>
>> I've been thinking over a GUI framework for D for some time, and ended up with idea expressed by Andrew Fedoniouk here: http://www.digitalmars.com/d/archives/digitalmars/D/32633.html. That is, having a separate drawing layer, and widgets built on top of it. But since it has already been discussed 9 years ago, I wonder if such a framework has ever been implemented.
>>
>> In that duscussion many participants agreed that Qt would be a good foundation, but had very restrictive license. Things have changed since then, and Qt now is available under LGPL, which, to my undestanding, makes it suitable for the purpose of standard GUI library (please correct me if I am wrong on this). The license, of course, may change in the future, preventing us from using their updates for our drawing engine. But if we are able to start using the engine now, in the future we can maintain the updates ourselves.
>>
>> Now, how I envision the library's design:
>>
>> The library will be mostly implemented in D, except for drawing engine and event loop, which are system-dependent. Those two parts will be extracted from Qt into a separate library which will be linked to by the rest of framework either statically or dynamically. There will be bindings for sending drawing instructions to drawing engine, as well as for retrieving system and GUI events from event loop.
>>
>> The system-independent part will mimic architecture of Qt. However, for maximum flexibility and customizability, GUI will utilize QML+CSS approach, and Qt's layout manager classes will be dropped completely. Also there is no need to port classes that are available in D, such as collections and strings.
>>
>>
>> If there is no standard GUI for D yet, and if LGPL license fits our purpose, then I am looking for 2-3 Qt experts to join me and build the framework.
>>
>> Thanks,
>> Aram
> I'm not much of a gui person,but what is the advantage of using QML over D's import statements(http://dlang.org/expression.html#ImportExpression) and CTFE.

No need to recompile (ie. have the source code) the app you are doing when you change the QML. This in turn also speeds up design iterations.




March 03, 2015
On Tue, 03 Mar 2015 20:21:29 +0000, Jonas Drewsen wrote:

> I've done a GUI toolkit with CSS support in D for my editor. Should probably put it on github at some point.
> 
> http://deadcodedev.steamwinter.com/

to be honest, it's the most wanted part for me. ;-) i don't need the editor, but i definitely want to take a look at it's gui, 'cause i'm too lazy to finish any of my own libraries (i HATE writing gui libraries! ;-).

March 04, 2015
On 4/03/2015 7:43 a.m., Aram wrote:
> Hi all
>
> I've been thinking over a GUI framework for D for some time, and ended
> up with idea expressed by Andrew Fedoniouk here:
> http://www.digitalmars.com/d/archives/digitalmars/D/32633.html. That is,
> having a separate drawing layer, and widgets built on top of it. But
> since it has already been discussed 9 years ago, I wonder if such a
> framework has ever been implemented.
>
> In that duscussion many participants agreed that Qt would be a good
> foundation, but had very restrictive license. Things have changed since
> then, and Qt now is available under LGPL, which, to my undestanding,
> makes it suitable for the purpose of standard GUI library (please
> correct me if I am wrong on this). The license, of course, may change in
> the future, preventing us from using their updates for our drawing
> engine. But if we are able to start using the engine now, in the future
> we can maintain the updates ourselves.
>
> Now, how I envision the library's design:
>
> The library will be mostly implemented in D, except for drawing engine
> and event loop, which are system-dependent. Those two parts will be
> extracted from Qt into a separate library which will be linked to by the
> rest of framework either statically or dynamically. There will be
> bindings for sending drawing instructions to drawing engine, as well as
> for retrieving system and GUI events from event loop.
>
> The system-independent part will mimic architecture of Qt. However, for
> maximum flexibility and customizability, GUI will utilize QML+CSS
> approach, and Qt's layout manager classes will be dropped completely.
> Also there is no need to port classes that are available in D, such as
> collections and strings.
>
>
> If there is no standard GUI for D yet, and if LGPL license fits our
> purpose, then I am looking for 2-3 Qt experts to join me and build the
> framework.
>
> Thanks,
> Aram

Also, you can drop Qt almost completely for wanting its window creation functionality.

http://github.com/Devisualization/window

I've got a bunch of other projects, image, model loading, scene graph. Google Material design GUI toolkit but it is a LONG way off.
I also have started (locally) a new GUI toolkit that uses the Buffer2D context instead of OpenGL.

And yes, Devisualization.Window works on the three big platforms.
March 04, 2015
On Tuesday, 3 March 2015 at 18:43:50 UTC, Aram wrote:
> I've been thinking over a GUI framework for D for some time, and ended up with idea expressed by Andrew Fedoniouk here: http://www.digitalmars.com/d/archives/digitalmars/D/32633.html. That is, having a separate drawing layer, and widgets built on top of it. But since it has already been discussed 9 years ago, I wonder if such a framework has ever been implemented.

See also Harmonia http://www.terrainformatica.com/2014/07/10-years-road-to-sciter/ for an older (now dead) attempt at abstracting a GUI backend.
March 04, 2015
On Tuesday, 3 March 2015 at 23:45:36 UTC, ketmar wrote:
> On Tue, 03 Mar 2015 20:21:29 +0000, Jonas Drewsen wrote:
>
>> I've done a GUI toolkit with CSS support in D for my editor. Should
>> probably put it on github at some point.
>> 
>> http://deadcodedev.steamwinter.com/
>
> to be honest, it's the most wanted part for me. ;-) i don't need the
> editor, but i definitely want to take a look at it's gui, 'cause i'm too
> lazy to finish any of my own libraries (i HATE writing gui libraries! ;-).

Yeah. Driving people away from the editor they know is a tough quest. Luckily that is not my goal.

Writing GUI libraries is definitely a lot of work and have a lot of corner cases so I completely agree that it is not the most fun thing to do. On top of that it is hard to do proper automated tests for GUI.
« First   ‹ Prev
1 2 3 4 5 6 7