XRCed Data Model
Data model used by XRCed is using a set of classes providing interface to the DOM objects. This allows easy manipulation of arbitrary fragments of the XRC file while caching only the editable data in the interface objects.
XRC file has the following structure:
<?xml version="1.0" ?> <resource> <object class="class_name" name="XRC_id"> <property_name>property_value</property_name> ... </object> </resource>
Where property_name stands for property name tags such as 'label', 'orientation', etc.
After parsing XRC into DOM (using xml.dom.minidom module) one 'xxx' object is generated for each <object> element, instantiating a class derived from xxx.Object base class (in module 'xxx'). For properties there is a base class class xxx.Property and specific derived classes such as xxx.FontProperty.
Module 'components' contains classes derived from xxxObject, which provide specific interface to various interface elements. This module is populated at run-time from the installed 'xxx-plugins' by the plugin manager subsystem.
(to be continued)