On Tue, 23 Oct 2001 18:36:07 +0200 Fons Rademakers <Fons.Rademakers@cern.ch> wrote concerning "Re: More on Graphics abstraction (was Re: [ROOT] Qt ROOT)": > Hi Christian, > > this kind of factory approach is exatcly what we use for the > higher level GUI components like TCanvas, TBrowser, etc., see > TGuiFactory and the TRootGuiFactory which creates the browser and > canvas with TG look and feel (TRootCanvas, TRootBrowser, etc). Why not extend that factory approach, and have the factory create buttons, frames, ladida too? The complete widgets are fine for the ROOT native widgets like the browser, canvas, inspector, control bar, and context menu, but not very nice for user GUIs, since then you'd have to overload the factory and add interfaces _not_ in the ABC. > Using the high level QtROOT interface of GSI somebody can then > provide a TQtGuiFactory which will create TQtCanvas, TQtBrowser, > etc. This would be more effective then to provide a low level > interface like you describe You mean low, since it's dealing with elements rather than complete widgets? > (besides the most difficult thing in such an interface is to > properly abstract the layout management classes in a portable way). Portable as in OS dependent or as in Graphics library dependent? I guess you mean the later. Well, that's what I said - that the task of abstracting from the interfaces of the various libraries is difficult. However, since most modern Graphics libraries uses signals and slots, and ROOT has that too, I guess what one could do is to connect the Qt/Gtk--/... signals into slots in the wrapper, which would then transform that into a ROOT signal. Then ofcourse, there's the issue of parents and children, and how different libraries deals with that. Most, I believe, do it like ROOT does it, so that should not be too complicated. Hmm, I'm just babling away anyway. Yours, Christian Holm Christensen ------------------------------------------- Address: Sankt Hansgade 23, 1. th. Phone: (+45) 35 35 96 91 DK-2200 Copenhagen N Cell: (+45) 28 82 16 23 Denmark Office: (+45) 353 25 305 Email: cholm@nbi.dk Web: www.nbi.dk/~cholm
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:51:04 MET