Thread overview
A new lame UI toolkit for D
Apr 18, 2006
Roberto Alsina
Apr 18, 2006
Roberto Alsina
Apr 18, 2006
Roberto Alsina
Apr 18, 2006
Lars Ivar Igesund
Apr 19, 2006
Dejan Lekic
Apr 19, 2006
Kyle Furlong
April 18, 2006
Hello, I am a newbie with D, and I wrote a little binding for the IUP free multiplatform (windows/unix) toolkit.

More details here:

http://cablemodem.fibertel.com.ar/lateral/weblog/2006/04/18.html#P359

Not very D-ist (you write pretty much in C ;-) but it seems to be working.


April 18, 2006
Roberto Alsina wrote:

> Hello, I am a newbie with D, and I wrote a little binding for the IUP free multiplatform (windows/unix) toolkit.

Looks good, only problems (like you noted) with IUP from the Lua guys
is it uses Motif on Unix, and that the Mac port is old and abandoned.

Then again DWT only works on the Windows platform at the moment, so...
wxWidgets works on all, but like you mentioned it's a lot bigger too.


However, IUP does "work" on the Mac - if you accept using X11 that is:
http://www.algonet.se/~afb/d/iup-motif.png (using Lesstif, think I did)

But IUP having a GTK+ driver for Linux and a Carbon driver for Macintosh
would be awesome. When coupled with Lua, it's a nice small UI toolkit...

--anders
April 18, 2006
In article <e22j3d$2khg$1@digitaldaemon.com>, =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= says...
>
>Roberto Alsina wrote:
>
>> Hello, I am a newbie with D, and I wrote a little binding for the IUP free multiplatform (windows/unix) toolkit.
>
>Looks good, only problems (like you noted) with IUP from the Lua guys is it uses Motif on Unix, and that the Mac port is old and abandoned.
>
>Then again DWT only works on the Windows platform at the moment, so... wxWidgets works on all, but like you mentioned it's a lot bigger too.
>
>
>However, IUP does "work" on the Mac - if you accept using X11 that is: http://www.algonet.se/~afb/d/iup-motif.png (using Lesstif, think I did)

I can imagine how the average Mac user would feel when faced with that image :-)

>But IUP having a GTK+ driver for Linux and a Carbon driver for Macintosh would be awesome. When coupled with Lua, it's a nice small UI toolkit...

Well, I am starting to hack a Qt4 backend for IUP so that should make it work on Mac/Win/Linux with a decent L&F.

Of course it's a much larger task, so it's not like it's going to be ready tomorrow.


April 18, 2006
Roberto Alsina wrote:

>>But IUP having a GTK+ driver for Linux and a Carbon driver for Macintosh
>>would be awesome. When coupled with Lua, it's a nice small UI toolkit...
> 
> Well, I am starting to hack a Qt4 backend for IUP so that should make it work on
> Mac/Win/Linux with a decent L&F.

You mean for "DIUP", or a generic version that would be written in C ?

For QtD, I looked at http://qtcsharp.sourceforge.net but it looked like a lot of classes - so a driver for IUP is probably a more doable task...

> Of course it's a much larger task, so it's not like it's going to be ready
> tomorrow.

Know that others expressed interest in a Qt-using GUI library, earlier.

I would prefer GTK+, like MinWin uses, but Qt does *look* good at least.
But it has some licensing issues, in that it's either GPL or Commercial

--anders


PS. I did some feeble Carbon hacks on both IUP and MinWin, but got bored
    since it also involved translating all of the old framework headers:
    "CarbonHeaders" - http://dsource.org/forums/viewforum.php?f=68

    For IUP it would mean both writing a "CD" driver for Quartz 2D, as
    well as writing a "IUP" driver using the new HIToolbox functions...
    (the old abandoned Mac versions used QuickDraw and the old Toolbox)
April 18, 2006
In article <e22tu3$3jm$1@digitaldaemon.com>, =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= says...
>
>Roberto Alsina wrote:
>
>>>But IUP having a GTK+ driver for Linux and a Carbon driver for Macintosh would be awesome. When coupled with Lua, it's a nice small UI toolkit...
>> 
>> Well, I am starting to hack a Qt4 backend for IUP so that should make it work on Mac/Win/Linux with a decent L&F.
>
>You mean for "DIUP", or a generic version that would be written in C ?

There is a generic C wrapper for Qt, but it's only usable for bindings because it's just too large and unmanageable.

>For QtD, I looked at http://qtcsharp.sourceforge.net but it looked like a lot of classes - so a driver for IUP is probably a more doable task...

If D has some way to dynamically figure out what methods the user is calling and then dispatch to a generic function there is libsmoke which can be used to build much smaller qt bindings.

But I don't expect D to be dynamic enough for that, right?

>> Of course it's a much larger task, so it's not like it's going to be ready tomorrow.
>
>Know that others expressed interest in a Qt-using GUI library, earlier.
>
>I would prefer GTK+, like MinWin uses, but Qt does *look* good at least. But it has some licensing issues, in that it's either GPL or Commercial

Not a problem for me, but I can see how it can be a problem for others.

>PS. I did some feeble Carbon hacks on both IUP and MinWin, but got bored
>     since it also involved translating all of the old framework headers:
>     "CarbonHeaders" - http://dsource.org/forums/viewforum.php?f=68
>
>     For IUP it would mean both writing a "CD" driver for Quartz 2D, as
>     well as writing a "IUP" driver using the new HIToolbox functions...
>     (the old abandoned Mac versions used QuickDraw and the old Toolbox)

Right. I am playing with doing the exact same thing using Qt and its canvas class.

IUP itself is tiny, at least.


April 18, 2006
Roberto Alsina wrote:
> =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= says...
>> Roberto Alsina wrote:
> 
>>> Of course it's a much larger task, so it's not like it's going to be ready tomorrow.
>> Know that others expressed interest in a Qt-using GUI library, earlier.
>>
>> I would prefer GTK+, like MinWin uses, but Qt does *look* good at least. But it has some licensing issues, in that it's either GPL or Commercial
> 
> Not a problem for me, but I can see how it can be a problem for others.

I guess it's not a problem for most of us. Qt is a modern and portable GUI library. It's certainly worth the extra money it costs for proprietary commercial purposes. It's practically free for everything else. Of course a lgpl-licensed alternative would be more free (for the implementers).

I find it a bit funny that there are at least five "big" D GUI libraries and many small ones on development now, but none of them is actually portable enough and probably won't be for a long time. The "best" (technically) ones seem to be Harmonia and possible QT ports. Many toolkits use GTK+ internally, but IMO gtk+ has a tendency of being a bit bloatware.

Now that D desperately needs some killer apps to become the next best thing since sliced bread, would it be a lot better for the community to concentrate on 2-3 best toolkits and make them as good as possible?


Jari-Matti
April 18, 2006
Jari-Matti Mäkelä wrote:
> 
> Now that D desperately needs some killer apps to become the next best thing since sliced bread, would it be a lot better for the community to concentrate on 2-3 best toolkits and make them as good as possible?

It would probably be better, yes, but I guess it would have already happened if the D community agreed about which to decide on. DWT was chosen to be the official toolkit by Walter, but even that hasn't helped it.
April 19, 2006
Sure it did not, because DWT is NOT (similar to Swt in Java world), a choice
of huge population.
D programmers like much more DFL project, and it is a question of time when
cross-platform DFL will appear.

Kind regards

Dejan
April 19, 2006
Dejan Lekic wrote:
> Sure it did not, because DWT is NOT (similar to Swt in Java world), a choice
> of huge population.
> D programmers like much more DFL project, and it is a question of time when
> cross-platform DFL will appear.
> 
> Kind regards
> 
> Dejan

I am of the same mind. The only problem is that dfl was not designed from the beginning to be cross platform.