Abbildung von GUI Qt-Objektstrukturen mit DOM
Verfasst: 15. August 2005 17:43
Hi allerseits!
Ich möchte es schaffen, bestehende Widget-Object-Hirarchien (also z.B. ein Fenster mit deren Elementen) mit Hilfe von DOM in einer XML Datei abzulegen. Natürlich ist der Rückweg ebensowichtig - also eine GUI oder zumindest teile davon aus einer XML Datein laden und die Objekte zu laufzeit erzeugen. Das ganze will ich mit Qt 4 realisieren, das heißt mit der Qt DOM Implementierung und Qt Widgets.
So weit ich weiß sind die Qt Objekte nicht dafür ausgelegt als XML abgelegt und daraus konstruiert zu werden. Darum frage ich mich, wie man sowas am effizientesten angeht.
Das größte Problem scheint mir zu sein, daß die DOM-Objekthirarchie und die Qt-Widget-Hirarchie zwei völlig unterschiedliche Konstrukte sind. Das heißt es gibt eine Objekt-Hirarchie mit Widgets (Fenster, Buttons usw.) die vom Framework verwaltet wird und eine Hirarchie von DOM-Objekten die getrennt erzeugt und verwaltet wird.
Ich müßte also vor dem Speichern (oder auch während der gesamten Programmlaufzeit) die Widget-hirarchie auf die DOM-hirarchie umständlich abbilden.
Beim laden dagegen müßte ich aus der DOM-Hirarchie ebenso umständlich widget-Objekte erzeugen und mit den geladenen Attributen ausstatten.
Im Augenblick scheint mir eine Lösung mit DOM wegen dieser getrennten Daten-Hirarchien in der Praxis fast so komliziert wie die Verwendung eines 'primitiven' SAX Parsers und eines handgeschriebenen XML-generators. Es muß doch irgendwie möglich sein, aus der objektorientierung und der Mächtigkeit DOM's zu profitieren?
Hat jemand Ideen, oder sogar Erfahrung damit, wie man sowas elegant lösen kann?
Ich möchte es schaffen, bestehende Widget-Object-Hirarchien (also z.B. ein Fenster mit deren Elementen) mit Hilfe von DOM in einer XML Datei abzulegen. Natürlich ist der Rückweg ebensowichtig - also eine GUI oder zumindest teile davon aus einer XML Datein laden und die Objekte zu laufzeit erzeugen. Das ganze will ich mit Qt 4 realisieren, das heißt mit der Qt DOM Implementierung und Qt Widgets.
So weit ich weiß sind die Qt Objekte nicht dafür ausgelegt als XML abgelegt und daraus konstruiert zu werden. Darum frage ich mich, wie man sowas am effizientesten angeht.
Das größte Problem scheint mir zu sein, daß die DOM-Objekthirarchie und die Qt-Widget-Hirarchie zwei völlig unterschiedliche Konstrukte sind. Das heißt es gibt eine Objekt-Hirarchie mit Widgets (Fenster, Buttons usw.) die vom Framework verwaltet wird und eine Hirarchie von DOM-Objekten die getrennt erzeugt und verwaltet wird.
Ich müßte also vor dem Speichern (oder auch während der gesamten Programmlaufzeit) die Widget-hirarchie auf die DOM-hirarchie umständlich abbilden.
Beim laden dagegen müßte ich aus der DOM-Hirarchie ebenso umständlich widget-Objekte erzeugen und mit den geladenen Attributen ausstatten.
Im Augenblick scheint mir eine Lösung mit DOM wegen dieser getrennten Daten-Hirarchien in der Praxis fast so komliziert wie die Verwendung eines 'primitiven' SAX Parsers und eines handgeschriebenen XML-generators. Es muß doch irgendwie möglich sein, aus der objektorientierung und der Mächtigkeit DOM's zu profitieren?
Hat jemand Ideen, oder sogar Erfahrung damit, wie man sowas elegant lösen kann?