Whither DWT?
Anders F Björklund
afb at algonet.se
Wed Apr 19 15:45:06 PDT 2006
Charles Hixson wrote:
>> I guess the community needs to decide exactly what it would like from a
>> GUI/Framework.
>>
>> Are we looking for
>> Portability to multiple platforms?
> --
> Work in progress
> [...]
BTW; Thunderbird hated this start, it thought your post was one big sig?
> From my personal perspective, it needs to work well on my personal system,
> which runs Linux. It also needs to be easy to set up (or come with the
> compiler), because I'm not *committed* to D. I just want to get my project
> done, and D would be a nice tool.
>
> In the longer term, I would also want the GUI to work on the Mac. I'm
> indifferent to MSWind, but I'm fairly certain that it would happen if it
> were at all feasible, so that doesn't need much thought.
wxD is intended for Linux (GTK+), Mac OS X (Carbon), as well as Windows.
> Better to start with a simple framework that can later be expanded, and get
> it working WELL. (Simple means being able to do dialog boxes. Ability to
> use input from a GUI builder, like glade, or SpecTCL would be a real plus,
> no question, but is LESS necessary that having a solid system.)
For wxWidgets, there are several editors for the XML-based "XRC" format.
One (from the wx author) is: http://www.anthemion.co.uk/dialogblocks/
> For my personal interest, I would like an enhanced version to be able to
> draw on canvases, display pictures from multiple file formats (including
> animated gifs), do sound, etc. I don't think of these as features that
> should be present in the original version...even though without them I
> would need to find a different language.
wxD comes with both several image formats, and support for sound (0.05)
And drawing on canvases is supported, as well as using OpenGL canvases.
> KISS is a really good motto.
wxD is somewhat huge, but most of the code is rather straight-forward.
(not counting some of the voodoo going on with events and such tricks)
Some complexity comes from the mish-mash of languages used, though...
> Another good feature would be documentation that says exactly which features
> are supposed to be working. I looked over wxD, and found it interesting,
> but the only way to find out what was expected to be working would appear
> to be to install it and try. In this respect a well annotated stress test
> setup would be very useful. (Think of DStress as a checklist of what is
> working in D. It's not good user documentation, but it would be a good
> basis for automatic creation of a status page of user documentation.
> [Maybe it does that...I've been looking at so many options I've rather lost
> track.])
I've been working on such a list for wxD 0.05, but it's a lot of demos
and I'm testing them on three platforms - so it amounts to some work...
I've also started on some minor docs, like http://wxd.sf.net/Hello.html
and with adding some API docs with Doxygen, like http://wxd.sf.net/docs/
In the long run there needs to be a tutorial or longer documentation,
explaining how to get started - with more words than just a Readme...
Also interesting would be a list of all available widgets, like SWT has:
http://www.eclipse.org/swt/widgets/, even if it's the same as wxWidgets.
There are a lot, especially when including all of http://wxcode.sf.net/,
since most of the C++ wxWidgets can be ported over to D if needed to be.
> Also needed is a good way to report bugs. I think the capability for this
> is built into dsource, though I haven't tried to use it, since mainly I've
> been studying and evaluating rather than developing.
If you mean reporting wxD bugs, there should be a link on the home page:
http://sourceforge.net/tracker/?group_id=133831
> I would have liked it a lot if I had been able to choose D, but it looks to
> be too green yet, and this is mainly the libraries, but not entirely.
> E.g., when I tried dmd -o test test.d `gtk-config --libs` the compiler
> complained about the -l files. Not good. I might have checked out gcd,
> but there were other problems that ruled D out of the running, so I didn't
> bother.
The *-config scripts output stuff in GCC format, so you need to use GDC
- or feed it through some kind of preprocessing filter for DMD syntax...
I ended up hardcoding DMs Makefile, and using wx-config for GNUmakefile.
But I had to use "gcc" for the actual linking, not the "dmd" command ?
AFAIK: DMC/DMD doesn't do shared libraries, but for the GNU platforms
at least wxWidgets is possible to link as shared (if wanted), for wxD.
****
I think that wxD could serve as a GUI for D.
At least until something better is ready...
It's just an "alpha" in terms of stability,
but then again so is the D language itself ?
--anders
More information about the Digitalmars-d-dwt
mailing list