View mode: basic / threaded / horizontal-split · Log in · Help
April 18, 2006
A new lame UI toolkit for D
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
Re: A new lame UI toolkit for D
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
Re: A new lame UI toolkit for D
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
Re: A new lame UI toolkit for D
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
Re: A new lame UI toolkit for D
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
Re: A new lame UI toolkit for D
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
Re: A new lame UI toolkit for D
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
Re: A new lame UI toolkit for D
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
Re: A new lame UI toolkit for D
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.
Top | Discussion index | About this forum | D home