Re: Cross-Platform GUI
I've looked into this extensively and one of these days will finish up my blog writeup on it. For now: There are plusses and minuses for each - make a list of the most important things you need and see how they compare. Fltk - pretty simple to use. Nice small, static compiles. Dialogs are easy to code but not the best looking. There is no layout manager, just a awkward resizable command. Awkward, static callbacks instead of signal, slots. No major backers or major projects using it. Most examples and documentation are C style. I never really understood Fluid as a dialog editor. wxWidgets - didn't explore too much after looking at code - I guess if you are coming from Visual C++ it might look more familar. I've read some comments against it, other comments that say it works great - I believe Audacity uses it. Seems to be a viable option. There's also Fox toolkit - seems to have excellent Ruby bindings. No Mac support. Seemed pretty ugly. Supported mostly by 1 person (though he is very responsive). No dialog editor. Gtkmm - gtk is being backed by most major Linux players (Red Hat, Novell, Sun ) And of course Gnome, XFCE, all the Gtk apps. Gtkmm is very c++ like. Uses the excellent libsigc for signal/slots. Has a very good layout manager. Confusing library dependencies but uses Pkg-Config to make compiling easy. Use XFC documentation, it's much better. (XFC is a great library too, but only for Linux). Gtk apps certainly being used on Windows. Mac ?? not too sure - maybe others can comment. Depending on your situation - you might want to look at Qt - it's a good, easy to use toolkit. Very cross-platform, excellent documentation. Good looking. Very C++ oriented. The moc signal stuff is non C++ but works well. Moc causes Qt to be slow to compile. Well supported. As someone who has to sign the checks, I think it is way too expensive for our use but it's your call. Don't forget java SWT - the advances of gcj may bring native compilation of Swing. And the next version is supposed to support native widgets. Bottom Line: We chose gtkmm based mostly on the industry support for gtk, the free license, the layout manager abilities, the availability of glade (though we're not using it yet), and libsigc. If XFC becomes cross-platform we will strongly consider it (both use mostly the same gtk wrapper commands). hope this helps. John On Sunday 08 May 2005 08:56 pm, Fabian Arocena wrote: Hi everybody, I''ve explored a bit about Cross-Platform GUI and have found 3 options that are quite attractive: - GTKmm - wx Widgets - FLTK Has anybody worked with some of these ? Is one of them better than the others ? Thanks, Fabian. ___ gtkmm-list mailing list gtkmm-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtkmm-list ___ gtkmm-list mailing list gtkmm-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtkmm-list
Re: Cross-Platform GUI
Overall, I think gtkmm would be a good choice. wxWidgets and FLTK are quite cumbersome, and they don't offer you the flexibility that is found in gtkmm and/or C++. there is one important consideration that nobody has mentioned so far. portability to Aqua rather than X11.app on OS X. GTK has seen two efforts to port it to Aqua, using different approaches. Both projects appear to be essentially dead. This means that you cannot use GTK (and by implication, gtkmm) to write native apps for OS X - your users are forced to use X11.app and your applications will have X-styled appearances, not Aqua-like ones. several people have offered to invest some amounts of money in my digital audio workstation software ardour to do a native OS X port, and i have told them find someone you can pay to port GDK to Aqua - this will benefit a large number of applications rather than just ardour. unfortunately, nobody has taken the suggestion up, and the projects remain silent and stationary AFAICT. by contrast, wxWidgets is native on Aqua. --p ___ gtkmm-list mailing list gtkmm-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtkmm-list
Cross-Platform GUI
Hi everybody, I''ve explored a bit about Cross-Platform GUI and have found 3 options that are quite attractive: - GTKmm - wx Widgets - FLTK Has anybody worked with some of these ? Is one of them better than the others ? Thanks, Fabian. ___ gtkmm-list mailing list gtkmm-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtkmm-list
Re: Cross-Platform GUI
wxWidgets is not a very C++ toolkit. Even though it uses classes, it uses a ton of macros and doesn't use templates for its data structures, and yes, you guessed it, macros are riddled everywhere for data structures. Aside from that, it's quite ok, with quite a native look on other platforms. UI designers are hard to come by, but i guess wxGlade should do the trick. It also takes quite a bit of code for GUI. FLTK is more C++ than wxWidgets, but it uses function pointers directly, and u connect them through a callback function, and I don't know how you can track other events like just a plan press or a mouse release, without using event handling directly. Also, it doesn't look native on the other platforms, rather looking quite FLTK-ish all the way. UI designer only 1: FLUID, but my last experience with it was horrible, so i hoped it has improved. The code needed is lesser than wxWidgets, but still...very C-ish gtkmm is more C++, and if you love STL and Standard C++ libraries, use gtkmm. Very complete, and the UI designer glade is quite nicely done, but make sure you plot your UI beforehand. The usage of Macros or unsafe function pointers are non existent, and the signal and slots system is quite simple to learn. Also, the native look is roughly there, except maybe for Macintosh, but I don't really know how the X11 runtime on tier side works. The code isn't that much, and with the gtkmm documentation and a keen eye for searching, programs can be written quite fast. Overall, I think gtkmm would be a good choice. wxWidgets and FLTK are quite cumbersome, and they don't offer you the flexibility that is found in gtkmm and/or C++. Benjamin Lau --- Fabian Arocena [EMAIL PROTECTED] wrote: Hi everybody, I''ve explored a bit about Cross-Platform GUI and have found 3 options that are quite attractive: - GTKmm - wx Widgets - FLTK Has anybody worked with some of these ? Is one of them better than the others ? Thanks, Fabian. ___ gtkmm-list mailing list gtkmm-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtkmm-list __ Do You Yahoo!? Download the latest ringtones, games, and more! http://sg.mobile.yahoo.com ___ gtkmm-list mailing list gtkmm-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtkmm-list