Re: getting started with GUI
- Posted by jimcbrown (admin) Aug 04, 2013
- 1822 views
I think I'll probably stick with EuWinGUI because I don't need anything too sophisticated. Pity there isn't a Linux version (EuLinGUI?) because that's my OS of choice these days, but it runs fine using Wine.
Thanks again.
Well, if you are using Linux, then why not use EuGTK?
AFAIK, it is the most complete package, up to date with GTK 3.8 or perhaps 3.10, when distros start shipping with 3.10.
When you use GTK, you don't need a designer. GTK handles the layout and sizing for you.
The newest 2 versions are posted here: https://sites.google.com/site/euphoriagtk/Home
I re-wrote the library in July to clean up a lot of messy code, and as far as my tests can tell, everything works.
Edit: BTW: it comes with documentation and over demo programs.
It's not too difficult to wrap EuWinGUI around EuGTK, in fact.
I've set up a basic proof-of-concept here: http://openeuphoria.org/eubins/misc/eulingui.zip
I haven't finished porting everything over, but enough functionality is implemented to run most of the simple demos, like TwoButtons or TwoWindows.
Some caveats:
I did this very q&d. There are some hacks that could have been done much better (such as using pushbuttons for clickable labels, when a label inside of a GtkBin or a GtkFrame would have looked better).
I did this on a box that happened to only have GTK 2 on it, so I used an older version of EuGTK (included) instead of the latest. (I also had to make a couple of bugfixes to that version of EuGTK itself.) If someone was interested, making this work with the latest EuGTK and GTK 3 should be a trivial task. (I could have just installed GTK 3, but that's not fitting with the q&d mindset IMVHO.)
I have no intention of implementing any of the printer routines. GTK supports them, but I simply can't be bothered.
A few routines (mainly the ones related to Message) are probably too specific to the Windoze implementation to be worth porting. (Getting this to work is probably approaching the level of implementing the innards of Wine itself.)
Although I coded it so on Windoze this would still run using the original code and dll, I haven't tested it (nor am I much interested in reports or bugfixes for this).
If you're writing something from scratch (as opposed to porting an existing and very large codebase built on top of EuWinGUI), you're better using EuGTK directly. The design philosophies of the two libraries are very different, but EuWinGUI can only do a subset of what EuGTK does (as demonstrated by the fact that EuGTK can be used to emulate it).