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: GTK on Linux and Windows
Great. That's what I supposed too... Now it all depends on what my teacher meant when he wanted the GUI to be portable... Any way, thanks again. On 5/8/05, Benjamin Lau Wei Yii [EMAIL PROTECTED] wrote: Basically, cross-platform in this case means write once compile everywhere. Since you are using MinGW, the compile commands should be no hassle at all on other platforms, seeing that GCC is universal. Have fun on gtkmm! Benjamin Lau P/s It'd be nice if you could also send the mail to the gtkmm-list, or at least CC it to them, in case anyone else needs to find out about stuff. Thanks --- Fabian Arocena [EMAIL PROTECTED] wrote: THANKS !! I've managed to make gtkmm work with the MinGW. Now, what exactly does the cross-platform feature mean ? I create the program, compile it and it should be executed without problems in any platform ? Or should I compile with a different compiler in each dif. platform ? On 5/5/05, Benjamin Lau Wei Yii [EMAIL PROTECTED] wrote: The problem lies only with Microsoft Visual C++ compilers. If you use the developer installers for Windows from Cedric Gustin's site alongside with MinGW, there will not be any problems. Benjamin Lau __ Do You Yahoo!? Log on to Messenger with your mobile phone! http://sg.messenger.yahoo.com __ 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
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
Re: vers 2.6 in Fedora?
Well, they were pushed to the public yum repository as of this morning. See http://download.fedora.redhat.com/pub/fedora/linux/extras/development/i386/gtkmm24-2.6.2-2.i386.rpm and al (libsigc++20-2.0.11-1.i386.rpm, libgnomeuimm26-2.10.0-1.i386.rpm, etc...). -denis Denis Leroy wrote: It means the packages are not yet available on the Fedora Extras yum repository, but it's a matter of days. I'll upload the RPMs and put them on my website later today. -denis John Taber wrote: I'm ready to try Fedora 4 test 2 - you say they are built but not signed and pushed - I do not know what that means but if they are available on your website somewhere, it would be much easier than trying to build them myself. thks. On Sunday 08 May 2005 10:53 am, Denis Leroy wrote: ___ gtkmm-list mailing list gtkmm-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtkmm-list
My project to gtkmm.org
Can you add my project Sysinfo to www.gtkmm.org under Additional Resources - Using gtkmm 2.4: ? I'd really appreciate this. The project page is located at: http://sysinfo.r8.org Thanks Nil Gradisnik from Slovenia ___ gtkmm-list mailing list gtkmm-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtkmm-list
How to update display in another thread ?
Hi All, I want to display a plane on the screen based on the position information given by remote machine. So I create a thread waitting for the position information. When this thread got the information, it should update the display position in the window. How can I reach this ? I tried this: thread_function() { ... wait_for_information(position); window-set_plane_position(position); window-on_expose_event(); ... } But it got an error when running: Xlib: unexpected async reply (sequence 0x708)! Any suggestion will be apprecieate! -- ___ gtkmm-list mailing list gtkmm-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtkmm-list
Re: How to update display in another thread ?
read the FAQ for gtk, which has an entry on threads. and google for gtkmm dispatcher threads ___ gtkmm-list mailing list gtkmm-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtkmm-list
Re: How to update display in another thread ?
On Mon, May 09, 2005 at 11:02:10AM -0400, Paul Davis wrote: read the FAQ for gtk, which has an entry on threads. and google for gtkmm dispatcher threads - I search the mailing list and the reference documentation. And find the solution. I'm sorry that I didn't do this earlier. The following is my solution: 1) In the GUI thread ---window.h--- class MainWindow { public: ... void on_dispatcher_notify() { on_expose_event(NULL); } void update_display() { dispatcher.emit(); } private: Glib::Dispatcher dispatcher; ... }; ---window.cpp--- MainWindow::MainWindow() { ... dispatcher.connect(sigc::mem_fun(*this, MainWindow::on_dispatcher_notify)); ... } 2) In the other thread thread_function() { ... wait_for_information(position); window-set_position(position); window-update_display(); ... } -- No one so thoroughly appreciates the value of constructive criticism as the one who's giving it. -- Hal Chadwick ___ gtkmm-list mailing list gtkmm-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtkmm-list
Preserving window geometry and position between invocations
Hello, I'd like to preserve window position and size between invocations. I can restore the size nicely using: Gtk::Window::set_default_size(width, height) but I cannot seem to restore the position that nicely. The only thing I could get so far is this ugly hack: void BuffyWindow::on_show() { Gtk::Window::on_show(); // Retrieve x and y from the configuration move(x, y); } However, this shows the window where the WM says it, then moves it where I want it. Besides not looking nice, I understand one should be more cooperative with the WM. What is the right way of doing this? Ciao, Enrico -- GPG key: 1024D/797EBFAB 2000-12-05 Enrico Zini [EMAIL PROTECTED] signature.asc Description: Digital signature ___ gtkmm-list mailing list gtkmm-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtkmm-list