Re: Cross-Platform GUI

2005-05-09 Thread John Taber
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

2005-05-09 Thread Fabian Arocena
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

2005-05-09 Thread Paul Davis
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?

2005-05-09 Thread Denis Leroy
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

2005-05-09 Thread Nil Gradisnik
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 ?

2005-05-09 Thread ztl_post
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 ?

2005-05-09 Thread Paul Davis
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 ?

2005-05-09 Thread ztl_post
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

2005-05-09 Thread Enrico Zini
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