Hi Daniele,
Daniele Nicolodi wrote:
> Hello, i have seen on the mailing list archive some discussion about
> introducing an alternative gui and render based on Gtk-- back in 2001.
> There was any progres in this topic ?
no.
>
> I saw Qt work but but i think GTK is a more promising toolkit
This is a "holy war" question "Qt vs GTK", let's skip it. I'd like to mention few "minuses" for both of them
> (see for
> example the recent cairo integration).
In fact there is rising activity recently in "the whole X world" in
development of new "painting engines".
Cairo is one of them oficially supported by X.org (freedesktop.org) and Gnome.
Others - new QT4 painter http://doc.trolltech.com/4.0/qt4-arthur.html,
antigrain library - http://antigrain.com/ which I'm trying to "put into ROOT"
All of them provide "next genereration" graphics quality with antialiasing,
alternative beckends, "svg, pdf complient" etc.
It's difficult to compare "who is the best", but cairo is certainly
a mainstream.
> If there is any work with Gtk
There are few ways for integration:
1. one is QtRoot. Let's Valeri Faine to say how easy to "walk this way".
2. another is making possible to use GTKmm (whatever else: Qt, fox-tookit, vxWorks clasess etc.)
from interpreter with "common" event loop.
Here is prelimenary roadmap how it can be done :
libBFD is GNU library. It's "basement" for all GNU binutils (nm, objdump etc.) and for GDB, ld, libtool etc. That provides all information for GNU debugger and linux DLL loader (ld): demanlging, functions memory entry addresses etc. In general, it's possible to write "plugin" to CINT which will "generate"&"fill" CINT internal dictionaries based on information provided by libBFD. That will allow to load external library without any preprocessing (no rootcint, no linkdefs) in a way how it is done by gdb, e.g. gdb qt3/lib/libqt.so (gdb) info functions compare to root [0] .functions root [1] .classes - the second step is providing mechanism for running "external" GUI event processing loop inside ROOT's event loop. I think it's not difficult to implement, few examples already here i.e. QtRoot, running ROOT GUI widgets inside MFC event loop.
Having both steps done will allow to use GTK-- classes from inside ROOT interpreter.
3. another way for "integration" is implementing XEmbed protocol for ROOT GUI http://freedesktop.org/wiki/Standards_2fxembed_2dspec
That will allow to embed external widgets (Qt, GTK, whatever ..) into ROOT application and vice versa. Currently XEmbed is used for writing mozilla plugins http://www.mozilla.org/projects/plugins/xembed-plugin-extension.html To do "the same" under m$ windows we need to "resurect" ActiveRoot approach (ole, MFC way) http://d0.phys.washington.edu/~haas/winroot/
>
> i'll be glad to help testing and coding.
Of cause, there are a lot of work here. Any help and voluntears are welcome (!!)
Regards. Valeriy
>
>
> Ciao
> --
> Daniele
>
> Physics is like sex. Sure, it may give some practical results, but
> that's not why we do it. -- Richard P. Feynman
Received on Tue Mar 22 2005 - 16:58:28 MET
This archive was generated by hypermail 2.2.0 : Tue Jan 02 2007 - 14:45:06 MET