www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - A new lame UI toolkit for D

reply Roberto Alsina <ralsina kde.org> writes:
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.
Apr 17 2006
parent reply =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
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
Apr 18 2006
parent reply Roberto Alsina <Roberto_member pathlink.com> writes:
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.
Apr 18 2006
parent reply =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
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)
Apr 18 2006
parent reply Roberto Alsina <Roberto_member pathlink.com> writes:
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.
Apr 18 2006
parent reply =?ISO-8859-1?Q?Jari-Matti_M=E4kel=E4?= <jmjmak utu.fi.invalid> writes:
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.

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
Apr 18 2006
parent reply Lars Ivar Igesund <larsivar igesund.net> writes:
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.
Apr 18 2006
parent reply Dejan Lekic <dejan nu6.org> writes:
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
Apr 19 2006
parent Kyle Furlong <kylefurlong gmail.com> writes:
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.
Apr 19 2006