[ot] D and graphics on Linux

John Demme me at teqdruid.com
Wed Apr 12 16:54:37 PDT 2006


Georg Wrede wrote:

> Slightly off-topic, but:
> 
> I may be in a position to make the first Processing Plant Production
> Line Control Software in D. To my knowledge, at least. :-)
> 
> That would include, among other things, a display of some of the vital
> parameters of the process as real-time graphs. (Temperatures, wattages,
> production speed, etc.)
> 
> The choice of language and operating system is mine, and being a D
> bigot, I really would like to do the stuff in D. And Windows is excluded
> because the plant can't afford an unstable OS for 24/7 operation. Since
> D is (more or less) a Win/Lin language, it'll be Linux.
> 
> 
> Now, being a pay-project, I need to find a productive choice of
> libraries and tools to maximise Productivity. (Specified as man-hours to
> delivery.)
> 
> The graphs will be on X (as opposed to Linux console graphics), so that
> they can be viewed off-shopfloor too.
> 
> Does anybody have experience on this kind of stuff?

There's Ant's D OO frontend for GTK, but I've found it to be pretty
incomplete.

I ported the GTK headers to D some time ago (they're close to correct) and
they're on dsource.org... I'd recommend using GTK and the GTK headers, this
way you can use all the existing GTK stuff.  I also posted headers for
Glade, which allows you to design the UI graphically, save it to an XML
format, and load the UI from the XML when the program loads.  It's pretty
cool, but it's another library you need.  Alternatively, Glade can generate
C code to create your interface, and since D works with C....  I haven't
made any attempts as using Qt since Qt is c++ based, whereas GTK is pure C.

There's also a D header for ncurses, but I haven't used it.

Personally, I don't like GUI programming in D (it's only slightly better in
Java.)  I'm waiting for full shared object support so we can integrate D
with python and I can write the GUI stuff in python and everything else in
D.

$.02

~John Demme



More information about the Digitalmars-d-learn mailing list