slowly documenting XRC...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@17471 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -20,6 +20,7 @@ The XRC format is based on XML 1.0 (please consult W3C's specification). There
|
||||
is no DTD available since it is not possible to fully describe the format with
|
||||
the limited expressive power of DTDs.
|
||||
|
||||
|
||||
1. Terminology
|
||||
--------------
|
||||
|
||||
@@ -43,6 +44,7 @@ of an <object> or <object_ref> node. In the example bellow, <pos>, <label> and
|
||||
</object>
|
||||
</resource>
|
||||
|
||||
|
||||
2. Elementary description
|
||||
-------------------------
|
||||
|
||||
@@ -70,9 +72,58 @@ The <resource> node contains namespace declaration, too:
|
||||
The <resource> node is only allowed to have <object> and <object_ref>
|
||||
subnodes, all of which must have the "name" property.
|
||||
|
||||
<object> - TODO (name, class, subclass)
|
||||
The <object> node represents a single object (GUI element) and it usually maps
|
||||
directly to a wxWindows class instance. It three properties: "name", "class"
|
||||
and "subclass". "class" must always be present, it tells XRC what wxWindows
|
||||
object should be created in this place. The other two are optional.
|
||||
"name" is ID used to identify the object. It is the value passed to the XRCID() macro
|
||||
and is also used to construct wxWindow's id and name attributes and must be unique
|
||||
among all children of the neareset container object (wxDialog, wxFrame, wxPanel,
|
||||
wxNotebook) upside from the object in XML nodes hiearchy (two distinct containers
|
||||
may contain objects with same "name", though). "subclass" is
|
||||
optional name of class whose constructor will be called instead of the constructor
|
||||
for "class". Subclass must be available in the program that loads the resource,
|
||||
must be derived from "class" and must be registered within wxWindows' RTTI system.
|
||||
|
||||
<object_ref> - TODO (name, ref, subclass)
|
||||
Example:
|
||||
|
||||
<object name="MyList1" class="wxListCtrl" subclass="MyListCtrlClass">
|
||||
...
|
||||
</object>
|
||||
|
||||
<object> node may have arbitrary child nodes. What child nodes and their semantics
|
||||
are class-dependent and are defined later in this document. The user is allowed
|
||||
to register new object handlers within XRC and extend it to accept new <object>
|
||||
classes (and therefore different <object>'s child nodes).
|
||||
|
||||
<object_ref> node is identical to <object>, except that it does _not_ have "class"
|
||||
property and has additonal required property "ref". It's concept is similar to Unix
|
||||
symlinks: value of the "ref" property is equal to the value of "name" property of
|
||||
some existing node (called referred node) in the resources (not neccessary top-level).
|
||||
Referred node's "class" property and all subnodes are copied in place of the referee
|
||||
<object_ref> node which is then processed as regular <object> node. If the <object_ref>
|
||||
node itself has child nodes, then these nodes _override_ any nodes from the referred node.
|
||||
|
||||
Example:
|
||||
|
||||
<object name="foo" class="wxTextCtrl">
|
||||
<value>hello</value>
|
||||
<size>100,-1d</size>
|
||||
</object>
|
||||
<object_ref name="bar" ref="foo">
|
||||
<value>bar</value> <!-- override! -->
|
||||
</object>
|
||||
|
||||
is identical to:
|
||||
|
||||
<object name="foo" class="wxTextCtrl">
|
||||
<value>hello</value>
|
||||
<size>100,-1d</size>
|
||||
</object>
|
||||
<object name="bar" class="wxTextCtrl">
|
||||
<value>bar</value>
|
||||
<size>100,-1d</size>
|
||||
</object>
|
||||
|
||||
|
||||
3. Common attributes
|
||||
|
Reference in New Issue
Block a user