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.