From: Conrad Schneiker Date: 2001-01-06T15:40:02+09:00 Subject: [ruby-talk:8726] Re: Praise for Ruby/GTK FYI--More GTK info from: http://mail.gnome.org/archives/gtk-list/2000-November/msg00175.html ================================================= Re: Future of GTK ---------------------------------------------------------------------------- ---- From: Havoc Pennington To: dsh8290 rit edu Cc: gtk-list Subject: Re: Future of GTK Date: 15 Nov 2000 00:20:32 -0500 ---------------------------------------------------------------------------- ---- D-Man writes: > Currently GTK is primarily for Unix and Unix-like operating systems. > Is it the intention that GTK (and libglade of course) will be > cross-platform? Yes. The most important difference between GTK and wxWindows in this respect is that GTK will always be an "emulating" toolkit (meaning it draws its own widgets that may look like native widgets given the right theme, but it doesn't use native widgets). AFAIK wxWindows is a "wrapper" toolkit (meaning it uses native widgets underneath). A "wrapper" toolkit is going to be less flexible/powerful than a native toolkit like GTK, in general. This is why Java moved away from that (AWT) and Swing has a more GTK-like approach. But of course a wrapper toolkit has more native L&F. On the other hand, GTK _is_ the native L&F on at least one platform, unlike Swing. > How easy/feasible is it to bind various languages to C++? For language bindings the issue isn't C vs. C++. The issue is that GTK has an object system designed to facilitate language bindings. You could write such an object system in C or in C++ (in fact Microsoft has done so as part of their .NET framework). The "object system" that C++ has by default though isn't very good for this, you need a more powerful object system on top. And of course pretty much all large C++ systems have a more powerful object system on top - QObject in Qt for example. Though QObject is not designed to address the language binding issue. Havoc ================================================= Conrad