+====================
+
+Attributes are listed in tables in the following format:
+attribute name attribute type default value, if any
+ [(optional remarks....................
+ ...................................)]
+
+Common attributes
+-----------------
+These attributes are supported by all windows:
+
+exstyle Int
+bg Colour
+fg Colour
+enabled Boolean true
+focused Boolean false
+hidden Boolean false
+tooltip I18nString
+font Font
+help I18nString
+
+wxBitmap
+--------
+This is a special case, because it does not create a wxWindow instance but
+creates wxBitmap instead. Another exceptional thing is that it does not have
+any attributes. Instead, the node itself is interpreted as if it were attribute
+of type Bitmap.
+
+Example: <object class="wxBitmap">bitmaps/foo.gif</object>
+
+
+wxIcon
+------
+Identical to wxBitmap class, except that it creates wxIcon instead of wxBitmap.
+
+
+wxButton
+--------
+pos Position -1,-1
+size Size -1,-1
+style Style[wxButton]
+
+label I18nString
+default Boolean false
+ (Is the button default button?)
+
+
+wxCalendarCtrl
+--------------
+pos Position -1,-1
+size Size -1,-1
+style Style[wxCalendarCtrl]
+
+
+wxCheckBox
+----------
+pos Position -1,-1
+size Size -1,-1
+style Style[wxCheckBox]
+checked Boolean false
+
+
+wxCheckList
+-----------
+pos Position -1,-1
+size Size -1,-1
+style Style[wxCheckList]
+content (see below) (empty)
+
+Optional "content" attribute does not have attribute value. Instead,
+arbitrary number of <item> nodes may be rooted under it (the control
+is filled with strings contained in these nodes). Each <item>
+node must contain I18nString value and may have "checked" property
+with possible values "0" or "1" indicating the the item is initially
+checked.
+
+Example:
+<object class="wxCheckList">
+ <content>
+ <item>One</item>
+ <item checked="1">Two</item>
+ <item checked="1">Three</item>
+ <item>Four</item>
+ </content>
+</object>
+
+
+wxDatePickerCtrl
+----------------
+pos Position -1,-1
+size Size -1,-1
+style Style[wxDatePickerCtrl]
+
+
+wxDialog
+--------
+pos Position -1,-1
+size Size -1,-1
+style Style[wxDialog] wxDEFAULT_DIALOG_STYLE
+title I18nString ""
+icon Bitmap (empty)
+centered Boolean false
+
+wxDialog may have children objects.
+
+
+wxFrame
+--------
+pos Position -1,-1
+size Size -1,-1
+style Style[wxDialog] wxDEFAULT_FRAME_STYLE
+title I18nString ""
+icon Bitmap (empty)
+centered Boolean false
+
+wxFrame may have children objects. There can be at most one wxToolBar,
+wxMenuBar and wxStatusBar children; objects of these types are automatically
+set as frame's tool-, menu- and statusbar respectively.
+
+
+wxMDIParentFrame
+----------------
+
+Supports same attributes and children nodes as wxFrame. Additionally, children
+may be of the wxMDIChildFrame type.
+
+
+wxMDIChildFrame
+---------------
+
+Supports same attributes and children nodes as wxFrame.
+
+
+wxRadioBox
+----------
+
+This control may have "dimension" (major dimension) and (initial) "selection"
+Integer subelements and a composite "content" element similar to wxCheckList.
+The only difference is that the "item" subelements can have an optional
+"tooltip=I18nString" and "helptext=I18nString" attributes to specify
+the per-item tooltip and helptext.
+
+
+wxScrolledWindow
+----------------
+pos Position -1,-1
+size Size -1,-1
+style Style[wxScrolledWindow] wxHSCROLL | wxVSCROLL
+
+wxScolledWindow may have children objects.
+
+
+wxSplitterWindow
+----------------
+pos Position -1,-1
+size Size -1,-1
+style Style[wxSplitterWindow] wxSP_3D
+sashpos Integer 0
+ (Initial sash position)
+minsize Integer -1
+ (Minimal panel size)
+orientation "horizontal"|"vertical" horizontal
+
+wxSplitterWindow must have at least one and at most two children objects.
+If there's only one child object, it is passed to wxSplitterWindow::Initialize
+and the splitter is created unsplit. If there are two children, the
+splitter is created split, either horizontally or vertically depending
+on the value of "orientation" attribute.
+
+
+wxStatusBar
+-----------
+fields Integer number of fields
+widths Width1, Width2, Width3, ...
+
+
+wxToolBar
+---------
+pos Position -1,-1
+size Size -1,-1
+style Style[wxToolBar] wxNO_BORDER|wxTB_HORIZONTAL
+bitmapsize Size -1,-1
+ (Size of contained bitmaps)
+margins Size -1,-1
+packing Integer -1
+separation Integer -1
+bg Background colour None
+dontattachtoframe Boolean False
+
+wxToolBar node may have children <object> and <object_ref> nodes. Their class
+may be either "tool", "separator" or any wxWidgets class derived from
+wxControl. "tool" and "separator" are special pseudo-classes that may only
+appear within wxToolBar node. Their attributes are as follows:
+
+ separator
+ ---------
+ (doesn't have any attributes)
+
+ tool
+ ----
+ bitmap Bitmap
+ bitmap2 Bitmap wxNullBitmap
+ toggle Boolean 0
+ radio Boolean 0
+ disabled Boolean 0
+ label I18nString ""
+ tooltip I18nString ""
+ longhelp I18nString ""
+ pos Position -1,-1
+
+ Constraints:
+ At most one of "toggle" and "radio" attributes may be 1.
+ Attribute "pos" may not appear if "label" or "radio" attributes
+ are used or if parent wxToolBar's style contains wxTB_TEXT.
+
+ Note:
+ Use of "pos" attribute is strongly discouraged, it is deprecated
+ usage of wxToolBar and it is not supported by MSW and GTK
+ implementations.
+
+Children objects are added to the toolbar using AddTool for "tool" class,
+AddSeparator for "separator" and AddControl for other classes.
+
+
+
+5. More features
+================
+
+FIXME -- "platform" property handling