Everyone knows my affection for the D programming language. The one thing that kept me from using it in some commercial projects already was the lack of a usable platform independent GUI library for D2.
There is one very mature GUI lib called DFL1 for D2 available but it has one big inconvenience: it is not platform independent, it is Win32 only. The first revisions of my CLInfo2 tool are written using it. It made me feel home immediately. It is structured like all the libraries for Win32 I was used to: Delphi VCL, MFC and .Net Win Forms.
Now it is not as if there are no platform independent libraries for D out there in development, like DWT3 , QtD4 or GtkD5 . But the main problem is that most of them are either not ported to D2 or simply still too immature.
Recently I decided to give GtkD another try because it was released in a new version6 . And well what can I say. It works. Well at least I was able to to compile it without any hassle which is nothing natural looking back to all those times I already tried them before.
So nothing was stopping me from messing around on those unknown grounds anymore… I thought…
Well as I said I was used to the Win32 way GUI for my whole life and as it turns out this is a quite different way compared to the open-source gimp Gtk way.
At first I tried to follow some tutorials teaching me how to programmatically set up my UI which evolved to a disaster when the UI got more complex than having a bunch of buttons and a list with a menubar.
Then I learned about the Glade Designer7 which felt quite familiar to what I was used to. But I used the wrong export format, apparently libglade and the glade file format was deprecated and no one told me .
Back to square one. Now I use the gtkBuilder and the according file format. But the code using this still feels quite alien to me.
Anyway I finally got the same UI I had on windows using GtkD and hypothetically my tool should now build and run under Linux too. Guess that is the next journey to come