| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632 |
- #
- # RELAX NG schema for XRC files.
- #
- # See http://docs.wxwidgets.org/trunk/overview_xrcformat.html for freeform
- # description of the format.
- #
- #
- # Extending the grammar
- # -----------------------
- #
- # The grammar defined below validates all builtin <object> classes. Because the
- # XRC format is extensible, it allows any content in <object> nodes that have
- # non-builtin class.
- #
- # This can be customized by overriding the 'customClasses' rule in the grammar
- # when including it from another custom grammar file.
- #
- # For example, if you wish to validate that only wx's builtin classes are used,
- # you can disallow any custom <object>s (see xrc_schema_builtin_only.rnc):
- #
- # include "xrc_schema.rnc" {
- # customClasses = notAllowed
- # }
- #
- # You can also add validation for custom classes:
- #
- # include "xrc_schema.rnc" {
- # customClasses = myExtensionClasses
- # }
- #
- # myExtensionClasses = (MyFoo | MyBar | ...)
- # MyFoo =
- # element object {
- # attribute class { "MyFoo" },
- # stdObjectNodeAttributes,
- # ...
- # }
- # ...
- #
- default namespace = "http://www.wxwidgets.org/wxxrc"
- namespace xrc = "http://www.wxwidgets.org/wxxrc"
- start =
- element resource {
- # Versions 2.3.0.1 and 2.5.3.0 differ only in how is '\\' interpreted
- # in textual content. That's not even validated here, so we accept
- # both. Additionally, even though the attribute is optional in the
- # spec, we require it here; in other words, the schema cannot be used
- # to validate XRC files from previous millennium.
- attribute version { "2.3.0.1" | "2.5.3.0" },
- toplevelObjectNode*
- }
- # IMPLEMENTATION NOTES:
- #
- # The guiding principle for writing this schema is to validate as much as we
- # possible can, but without introducing false negatives; it is not acceptable
- # to fail validation of a valid (per the human-readable XRC spec) XRC file.
- #
- # Unfortunately, there are some noteworthy complications when describing the
- # XRC format with a formal schema. Working around them results in uglier and
- # overly permissive schema:
- #
- #
- # (1) The biggest issue is with the 'platform' attribute, which may be used on
- # _any_ node in an XRC document. There's no way to specify "universal"
- # attributes that can be placed anywhere in RELAX NG, so we must add the
- # attribute everywhere. The 'platform' grammar rule is used for this and it has
- # an alias, '_', for reduced verbosity. Typical use:
- #
- # element size {_, t_size }? &
- #
- #
- # (2) The other 'platform'-related issue is that it messes up cardinality of
- # properties elements. Properties can only be specified once, so the two forms
- # for describing properties would be
- #
- # 1. element size {_, t_size }? # optional property
- # 2. element size {_, t_size } # required property
- #
- # (Fortunately, all XRC properties are optional, se the second case is a
- # non-issue and can be safely ignored. It is nevertheless briefly mentioned
- # below for explanatory purposes.)
- #
- # But this is problematic with 'platform', because it's reasonable (and,
- # indeed, done in the wild) to set properties differently for different
- # platforms:
- #
- # <object class="wxMenuItem" name="menu_new_from_pot">
- # <label platform="win">New catalog from POT file...</label>
- # <label platform="unix|mac">New Catalog from POT File...</label>
- # </object>
- #
- # But we now have the 'label' property _twice_ and validation fails. The
- # simplest fix is to change the cardinality of properties to allow this [A]:
- #
- # 1. element size {_, t_size }* # optional property (0 or more times)
- # 2. element size {_, t_size }+ # required property (at least once)
- #
- # Of course, this is too lax and allows invalid (but gracefully handled by
- # wxXmlResource) markup like this:
- #
- # <object class="wxMenuItem" name="menu_new_from_pot">
- # <label>Something</label>
- # <label>Else</label>
- # </object>
- #
- # We could make this better by splitting the property declaration into two, one
- # for the case with 'platform' and one for without [B]:
- #
- # (element size { t_size } | element size { attribute platform{string}, t_size }+)
- #
- # But this is verbose and unreadable with the amount of properties present in
- # the schema. Instead, we use the more-forbidding version and annotate
- # properties with 'p' annotation (for "property") to mark these uses of * as
- # special and enable post-processing of the schema.
- #
- # The value of the annotation is normally just "o" (for "optional" -- remember
- # that there are no required properties) to indicate optional properties.
- #
- # Since we have the annotation anyway, we take advantage of it to indicate
- # properties that are strictly speaking optional, but should almost always be
- # specified, even though they don't _have_ to be. A typical example would be
- # wxStaticText's label: it very rarely makes sense to omit it, but usually
- # doesn't. Such properties are indicated with the "important" value of the
- # annotation:
- #
- # [xrc:p="o"] element checked { t_bool }* # optional
- # [xrc:p="important"] element label { t_text }* # should be provided
- #
- # This makes it possible to implement tools that translate this schema into a
- # variant that uses [B].
- #
- toplevelObjectNode = (objectRef | builtinToplevelClasses | customClasses)
- windowNode = (objectRef | builtinWindowClasses | customClasses)
- sizerNode = (objectRef | builtinSizerClasses | customClasses)
- # The following three lists must be updated when a new class is added
- # to this file.
- builtinToplevelClasses =
- ( builtinWindowClasses
- | idsRange
- | wxBitmap_or_wxIcon
- | wxMenuBar
- | wxMenu
- )
- builtinWindowClasses =
- ( unknown
- | wxAnimationCtrl
- | wxAuiNotebook
- | wxBannerWindow
- | wxBitmapButton
- | wxBitmapComboBox
- | wxBitmapToggleButton
- | wxButton
- | wxCalendarCtrl
- | wxCheckBox
- | wxCheckListBox
- | wxChoice
- | wxChoicebook
- | wxCommandLinkButton
- | wxCollapsiblePane
- | wxColourPickerCtrl
- | wxComboBox
- | wxComboCtrl
- | wxDatePickerCtrl
- | wxDialog
- | wxDirPickerCtrl
- | wxEditableListBox
- | wxFileCtrl
- | wxFilePickerCtrl
- | wxFontPickerCtrl
- | wxFrame
- | wxGauge
- | wxGenericDirCtrl
- | wxGrid
- | wxHtmlWindow
- | wxHyperlinkCtrl
- | wxListBox
- | wxListbook
- | wxListCtrl
- | wxMDIParentFrame
- | wxNotebook
- | wxOwnerDrawnComboBox
- | wxPanel
- | wxPropertySheetDialog
- | wxRadioButton
- | wxRadioBox
- | wxRibbonBar
- | wxRibbonButtonBar
- | wxRibbonControl
- | wxRibbonGallery
- | wxRibbonPage
- | wxRibbonPanel
- | wxRichTextCtrl
- | wxScrollBar
- | wxScrolledWindow
- | wxSimpleHtmlListBox
- | wxSimplebook
- | wxSlider
- | wxSpinButton
- | wxSpinCtrl
- | wxSplitterWindow
- | wxSearchCtrl
- | wxStatusBar
- | wxStaticBitmap
- | wxStaticBox
- | wxStaticLine
- | wxStaticText
- | wxTextCtrl
- | wxTimePickerCtrl
- | wxToggleButton
- | wxToolBar
- | wxToolbook
- | wxTreeCtrl
- | wxTreebook
- | wxWizard
- )
- builtinSizerClasses =
- ( wxBoxSizer
- | wxStaticBoxSizer
- | wxGridSizer
- | wxFlexGridSizer
- | wxGridBagSizer
- | wxWrapSizer
- | wxStdDialogButtonSizer
- )
- builtinClassesNames =
- ( "wxBitmap"
- | "wxIcon"
- | "wxMenuBar"
- | "wxMenu"
- | "unknown"
- | "wxAnimationCtrl"
- | "wxAuiNotebook"
- | "wxBannerWindow"
- | "wxBitmapButton"
- | "wxBitmapComboBox"
- | "wxBitmapToggleButton"
- | "wxButton"
- | "wxCalendarCtrl"
- | "wxCheckBox"
- | "wxCheckListBox"
- | "wxChoice"
- | "wxChoicebook"
- | "wxCommandLinkButton"
- | "wxCollapsiblePane"
- | "wxColourPickerCtrl"
- | "wxComboBox"
- | "wxComboCtrl"
- | "wxDatePickerCtrl"
- | "wxDialog"
- | "wxDirPickerCtrl"
- | "wxEditableListBox"
- | "wxFileCtrl"
- | "wxFilePickerCtrl"
- | "wxFontPickerCtrl"
- | "wxFrame"
- | "wxGauge"
- | "wxGenericDirCtrl"
- | "wxGrid"
- | "wxHtmlWindow"
- | "wxHyperlinkCtrl"
- | "wxListBox"
- | "wxListbook"
- | "wxListCtrl"
- | "wxMDIParentFrame"
- | "wxNotebook"
- | "wxOwnerDrawnComboBox"
- | "wxPanel"
- | "wxPropertySheetDialog"
- | "wxRadioButton"
- | "wxRadioBox"
- | "wxRibbonBar"
- | "wxRibbonButtonBar"
- | "wxRibbonControl"
- | "wxRibbonGallery"
- | "wxRibbonPage"
- | "wxRibbonPanel"
- | "wxRichTextCtrl"
- | "wxScrollBar"
- | "wxScrolledWindow"
- | "wxSimpleHtmlListBox"
- | "wxSimplebook"
- | "wxSlider"
- | "wxSpinButton"
- | "wxSpinCtrl"
- | "wxSplitterWindow"
- | "wxSearchCtrl"
- | "wxStatusBar"
- | "wxStaticBitmap"
- | "wxStaticBox"
- | "wxStaticLine"
- | "wxStaticText"
- | "wxTextCtrl"
- | "wxTimePickerCtrl"
- | "wxToggleButton"
- | "wxToolBar"
- | "wxToolbook"
- | "wxTreeCtrl"
- | "wxTreebook"
- | "wxWizard"
- | "wxBoxSizer"
- | "wxStaticBoxSizer"
- | "wxGridSizer"
- | "wxFlexGridSizer"
- | "wxGridBagSizer"
- | "wxWrapSizer"
- | "wxStdDialogButtonSizer"
- )
- # class names not used at toplevel, only within something else
- builtinNestedClassesNames =
- ( "wxMenuItem"
- | "separator"
- | "break"
- | "space"
- | "tool"
- | "panewindow"
- | "notebookpage"
- | "choicebookpage"
- | "listbookpage"
- | "simplebookpage"
- | "treebookpage"
- | "propertysheetpage"
- | "ownerdrawnitem"
- | "listcol"
- | "listitem"
- | "wxMDIChildFrame"
- | "page" | "panel" | "button" | "item" # wxRibbon classes
- | "wxWizardPage"
- | "wxWizardPageSimple"
- )
- allPossibleBuiltinClassNames = (builtinClassesNames | builtinNestedClassesNames)
- # This grammar rule can be used to plug in any extensions used in an
- # application. By default, it allows any content under custom <object>
- # nodes.
- customClasses =
- element object {
- attribute class { string - allPossibleBuiltinClassNames } &
- stdObjectNodeAttributes &
- anyXMLContent*
- }
- # Helper for specifying arbitrary content.
- anyXMLContent =
- element * {
- (attribute * { text }
- | text
- | anyXMLContent)*
- }
- # Annotations used to mark special kinds of content:
- #
- # [xrc:p] marks properties, with two possible values:
- #
- # [xrc:p="o"] for normal/optional properties
- # [xrc:p="important"] for important properties that
- # should almost always be set
- #
- # All <object> nodes (except the pseudo-classes) have these attributes.
- stdObjectNodeAttributes =
- attribute subclass { t_identifier }? &
- attribute name { t_identifier }? &
- platform
- # All (almost) wxWindow-derived objects have these properties.
- stdWindowProperties =
- [xrc:p="o"] element pos {_, t_position }* &
- [xrc:p="o"] element size {_, t_size }* &
- [xrc:p="o"] element style {_, t_style }* &
- [xrc:p="o"] element exstyle {_, t_style }* &
- [xrc:p="o"] element fg {_, t_colour }* &
- [xrc:p="o"] element ownfg {_, t_colour }* &
- [xrc:p="o"] element bg {_, t_colour }* &
- [xrc:p="o"] element ownbg {_, t_colour }* &
- [xrc:p="o"] element enabled {_, t_bool }* &
- [xrc:p="o"] element focused {_, t_bool }* &
- [xrc:p="o"] element hidden {_, t_bool }* &
- [xrc:p="o"] element tooltip {_, t_text }* &
- [xrc:p="o"] element variant {_, t_variant }* &
- [xrc:p="o"] element font {_, t_font }* &
- [xrc:p="o"] element ownfont {_, t_font }* &
- [xrc:p="o"] element help {_, t_text }*
- platform =
- attribute platform {
- xsd:string { pattern = "(win|mac|unix|os2)( *\| *(win|mac|unix|os2))*" }
- }?
- # shorthand alias for 'platform' for use in properties definitions and
- # elsewhere where 'platform' would be too verbose
- _ = platform
- # Basic data types.
- t_identifier = string
- t_text = string
- t_string = string
- t_bool = "1" | "0"
- t_integer = xsd:integer
- t_unsigned = xsd:nonNegativeInteger
- t_float = xsd:float
- t_direction = "wxLEFT" | "wxRIGHT" | "wxTOP" | "wxBOTTOM"
- t_style = xsd:string { pattern = "(wx[A-Z0-9_]+)( *\| *(wx[A-Z0-9_]+))*" }
- t_url = string
- t_colour = xsd:string { pattern = "#[0-9a-zA-Z][0-9a-zA-Z][0-9a-zA-Z][0-9a-zA-Z][0-9a-zA-Z][0-9a-zA-Z]" } |
- xsd:string { pattern = "[^#].*" }
- t_position = t_size
- t_size = xsd:string { pattern = "(-?\d+),(-?\d+)d?" }
- t_dimension = xsd:string { pattern = "(-?\d+)d?" }
- t_bitmap = t_url?,
- (
- attribute stock_id { t_identifier},
- attribute stock_client { t_identifier}?
- )?
- t_font = (
- [xrc:p="o"] element size {_, t_integer }* &
- [xrc:p="o"] element style {_, ("normal" | "italic" | "slant") }* &
- [xrc:p="o"] element weight {_, ("normal" | "bold" | "light") }* &
- [xrc:p="o"] element family {_, ("roman" | "script" | "decorative" | "swiss" |
- "modern" | "teletype") }* &
- [xrc:p="o"] element underlined {_, t_bool }* &
- [xrc:p="o"] element face {_, t_text }* &
- [xrc:p="o"] element encoding {_, t_text }* &
- [xrc:p="o"] element sysfont {_, ("wxSYS_OEM_FIXED_FONT" | "wxSYS_ANSI_FIXED_FONT" |
- "wxSYS_ANSI_VAR_FONT" | "wxSYS_SYSTEM_FONT" |
- "wxSYS_DEVICE_DEFAULT_FONT" | "wxSYS_SYSTEM_FIXED_FONT" |
- "wxSYS_DEFAULT_GUI_FONT") }* &
- [xrc:p="o"] element inherit {_, t_bool }* &
- [xrc:p="o"] element relativesize {_, t_float }*
- )
- t_variant = "normal" | "small" | "mini" | "large"
- t_imagelist = (
- [xrc:p="o"] element mask {_, t_bool }* &
- [xrc:p="o"] element size {_, t_size }* &
- element bitmap {_, t_bitmap }+
- )
- t_list_of_numbers = xsd:string { pattern = "\d+(,\d+)*" }
- #
- # Handlers for non-<object> content:
- #
- idsRange =
- element ids-range {
- attribute name { t_identifier },
- attribute size { t_integer }?,
- attribute start { t_integer }?
- }
- objectRef =
- element object_ref {
- stdObjectNodeAttributes &
- attribute ref { t_identifier } &
- anyXMLContent*
- }
- #
- # Handlers for specific <object> classes follow:
- #
- unknown =
- element object {
- attribute class { "unknown" } &
- attribute name { t_identifier } &
- platform &
- stdWindowProperties
- }
- wxBitmap_or_wxIcon =
- element object {
- attribute class { "wxBitmap" | "wxIcon" } &
- stdObjectNodeAttributes &
- t_bitmap
- }
- wxAnimationCtrl =
- element object {
- attribute class { "wxAnimationCtrl" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element animation {_, t_url }* &
- [xrc:p="o"] element inactive-bitmap {_, t_bitmap }*
- }
- wxAuiNotebook =
- element object {
- attribute class { "wxAuiNotebook" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- (wxAuiNotebook_notebookpage | objectRef)*
- }
- wxAuiNotebook_notebookpage =
- element object {
- attribute class { "notebookpage" } &
- [xrc:p="important"] element label {_, t_text }* &
- [xrc:p="o"] element bitmap {_, t_bitmap }* &
- [xrc:p="o"] element selected {_, t_bool }* &
- windowNode
- }
- wxBannerWindow =
- element object {
- attribute class { "wxBannerWindow" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element direction {_, t_direction }* &
- [xrc:p="o"](
- element bitmap {_, t_bitmap } |
- (
- element gradient-start {_, t_colour} &
- element gradient-end {_, t_colour }
- )
- )* &
- [xrc:p="o"] element title {_, t_text }* &
- [xrc:p="o"] element message {_, t_text }*
- }
- wxBitmapButton =
- element object {
- attribute class { "wxBitmapButton" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element default {_, t_bool }* &
- [xrc:p="important"] element bitmap {_, t_bitmap }* &
- [xrc:p="o"] element selected {_, t_bitmap }* &
- [xrc:p="o"] element focus {_, t_bitmap }* &
- [xrc:p="o"] element disabled {_, t_bitmap }* &
- [xrc:p="o"] element hover {_, t_bitmap }*
- }
- wxBitmapComboBox =
- element object {
- attribute class { "wxBitmapComboBox" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element selection {_, t_integer }* &
- [xrc:p="o"] element value {_, t_text }* &
- (wxBitmapComboBox_ownerdrawnitem | objectRef)*
- }
- wxBitmapComboBox_ownerdrawnitem =
- element object {
- attribute class { "ownerdrawnitem" } &
- platform &
- [xrc:p="important"] element text {_, t_text }* &
- [xrc:p="o"] element bitmap {_, t_bitmap }*
- }
- wxBitmapToggleButton =
- element object {
- attribute class { "wxBitmapToggleButton" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="important"] element bitmap {_, t_bitmap }* &
- [xrc:p="o"] element checked {_, t_bool }*
- }
- wxButton =
- element object {
- attribute class { "wxButton" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element label {_, t_text }* &
- [xrc:p="o"] element bitmap {_, t_bitmap }* &
- [xrc:p="o"] element bitmapposition {_, t_direction }* &
- [xrc:p="o"] element default {_, t_bool }*
- }
- wxCalendarCtrl =
- element object {
- attribute class { "wxCalendarCtrl" } &
- stdObjectNodeAttributes &
- stdWindowProperties
- }
- wxCheckBox =
- element object {
- attribute class { "wxCheckBox" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="important"] element label {_, t_text }* &
- [xrc:p="o"] element checked {_, t_bool }*
- }
- wxCheckListBox =
- element object {
- attribute class { "wxCheckListBox" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- element content {
- platform,
- element item {
- attribute checked { t_bool }?,
- t_text
- }*
- }?
- }
- wxChoice =
- element object {
- attribute class { "wxChoice" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element selection {_, t_integer }* &
- element content {
- platform,
- element item {_, t_text }*
- }?
- }
- wxChoicebook =
- element object {
- attribute class { "wxChoicebook" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element imagelist {_, t_imagelist }* &
- (wxChoicebook_choicebookpage | objectRef)*
- }
- wxChoicebook_choicebookpage =
- element object {
- attribute class { "choicebookpage" } &
- platform &
- [xrc:p="important"] element label {_, t_text }* &
- [xrc:p="o"](
- element bitmap {_, t_bitmap } |
- element image {_, t_integer }
- )* &
- [xrc:p="o"] element selected {_, t_bool }* &
- windowNode
- }
- wxCommandLinkButton =
- element object {
- attribute class { "wxCommandLinkButton" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="important"] element label {_, t_text }* &
- [xrc:p="o"] element note {_, t_text }*
- }
- wxCollapsiblePane =
- element object {
- attribute class { "wxCollapsiblePane" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="important"] element label {_, t_text }* &
- [xrc:p="o"] element collapsed {_, t_bool }* &
- (wxCollapsiblePane_panewindow | objectRef)?
- }
- wxCollapsiblePane_panewindow =
- element object {
- attribute class { "panewindow" } &
- platform &
- (sizerNode | windowNode)
- }
- wxColourPickerCtrl =
- element object {
- attribute class { "wxColourPickerCtrl" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element value {_, t_colour }*
- }
- wxComboBox =
- element object {
- attribute class { "wxComboBox" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element selection {_, t_integer }* &
- [xrc:p="o"] element value {_, t_string }* &
- element content {
- platform,
- element item {_, t_text }*
- }?
- }
- wxComboCtrl =
- element object {
- attribute class { "wxComboCtrl" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element value {_, t_string }*
- }
- wxDatePickerCtrl =
- element object {
- attribute class { "wxDatePickerCtrl" } &
- stdObjectNodeAttributes &
- stdWindowProperties
- }
- wxDialog =
- element object {
- attribute class { "wxDialog" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element title {_, t_text }* &
- [xrc:p="o"] element icon {_, t_bitmap }* &
- [xrc:p="o"] element centered {_, t_bool }* &
- (sizerNode | windowNode* )?
- }
- wxDirPickerCtrl =
- element object {
- attribute class { "wxDirPickerCtrl" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element value {_, t_string }* &
- [xrc:p="important"] element message {_, t_text}*
- }
- wxEditableListBox =
- element object {
- attribute class { "wxEditableListBox" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element label {_, t_text}* &
- element content {
- platform,
- element item {_, t_text }*
- }?
- }
- wxFileCtrl =
- element object {
- attribute class { "wxFileCtrl" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element defaultdirectory {_, t_string }* &
- [xrc:p="o"] element defaultfilename {_, t_string }* &
- [xrc:p="o"] element wildcard {_, t_string }*
- }
- wxFilePickerCtrl =
- element object {
- attribute class { "wxFilePickerCtrl" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element value {_, t_string }* &
- [xrc:p="important"] element message {_, t_text }* &
- [xrc:p="o"] element wildcard {_, t_string }*
- }
- wxFontPickerCtrl =
- element object {
- attribute class { "wxFontPickerCtrl" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element value {_, t_font }*
- }
- wxFrame =
- element object {
- attribute class { "wxFrame" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element title {_, t_text }* &
- [xrc:p="o"] element icon {_, t_bitmap }* &
- [xrc:p="o"] element centered {_, t_bool }* &
- (sizerNode | windowNode* )?
- }
- wxGauge =
- element object {
- attribute class { "wxGauge" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element range {_, t_integer }* &
- [xrc:p="o"] element value {_, t_integer }* &
- [xrc:p="o"] element shadow {_, t_dimension }* &
- [xrc:p="o"] element bezel {_, t_dimension }*
- }
- wxGenericDirCtrl =
- element object {
- attribute class { "wxGenericDirCtrl" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element defaultfolder {_, t_string }* &
- [xrc:p="o"] element filter {_, t_text }* &
- [xrc:p="o"] element defaultfilter {_, t_integer }*
- }
- wxGrid =
- element object {
- attribute class { "wxGrid" } &
- stdObjectNodeAttributes &
- stdWindowProperties
- }
- wxHtmlWindow =
- element object {
- attribute class { "wxHtmlWindow" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"](
- element url {_, t_url } |
- element htmlcode {_, t_text }
- )* &
- [xrc:p="o"] element borders {_, t_dimension }*
- }
- wxHyperlinkCtrl =
- element object {
- attribute class { "wxHyperlinkCtrl" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="important"] element label {_, t_text }* &
- [xrc:p="important"] element url {_, t_url }*
- }
- wxListBox =
- element object {
- attribute class { "wxListBox" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element selection {_, t_integer }* &
- element content {
- platform,
- element item {_, t_text }*
- }?
- }
- wxListbook =
- element object {
- attribute class { "wxListbook" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element imagelist {_, t_imagelist }* &
- (wxListbook_listbookpage | objectRef)*
- }
- wxListbook_listbookpage =
- element object {
- attribute class { "listbookpage" } &
- [xrc:p="important"] element label {_, t_text }* &
- [xrc:p="o"](
- element bitmap {_, t_bitmap } |
- element image {_, t_integer }
- )* &
- [xrc:p="o"] element selected {_, t_bool }* &
- windowNode
- }
- wxListCtrl =
- element object {
- attribute class { "wxListCtrl" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element imagelist {_, t_imagelist }* &
- [xrc:p="o"] element imagelist-small {_, t_imagelist }* &
- (wxListCtrl_listcol | wxListCtrl_listitem | objectRef)*
- }
- wxListCtrl_listcol =
- element object {
- attribute class { "listcol" } &
- platform &
- [xrc:p="o"] element align {_, ("wxLIST_FORMAT_LEFT" | "wxLIST_FORMAT_RIGHT" |
- "wxLIST_FORMAT_CENTRE") }* &
- [xrc:p="o"] element text {_, t_text }* &
- [xrc:p="o"] element width {_, t_integer }* &
- [xrc:p="o"] element image {_, t_integer }*
- }
- wxListCtrl_listitem =
- element object {
- attribute class { "listitem" } &
- platform &
- [xrc:p="o"] element align {_, ("wxLIST_FORMAT_LEFT" | "wxLIST_FORMAT_RIGHT" |
- "wxLIST_FORMAT_CENTRE") }* &
- [xrc:p="o"] element bg {_, t_colour }* &
- [xrc:p="o"] element col {_, t_integer }* &
- [xrc:p="o"] element data {_, t_integer }* &
- [xrc:p="o"] element font {_, t_font }* &
- [xrc:p="o"] element state {_, ("wxLIST_STATE_FOCUSED" | "wxLIST_STATE_SELECTED") }* &
- [xrc:p="o"] element text {_, t_text }* &
- [xrc:p="o"] element textcolour {_, t_colour }* &
- [xrc:p="o"](
- element bitmap {_, t_bitmap } |
- element image {_, t_integer }
- )* &
- [xrc:p="o"](
- element bitmap-small {_, t_bitmap } |
- element image-small {_, t_integer }
- )*
- }
- wxMDIParentFrame =
- element object {
- attribute class { "wxMDIParentFrame" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element title {_, t_text }* &
- [xrc:p="o"] element icon {_, t_bitmap }* &
- [xrc:p="o"] element centered {_, t_bool }* &
- (wxMDIChildFrame | objectRef)*
- }
- wxMDIChildFrame =
- element object {
- attribute class { "wxMDIChildFrame" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element title {_, t_text }* &
- [xrc:p="o"] element icon {_, t_bitmap }* &
- [xrc:p="o"] element centered {_, t_bool }* &
- (sizerNode | windowNode* )?
- }
- wxMenuBar =
- element object {
- attribute class { "wxMenuBar" } &
- stdObjectNodeAttributes &
- [xrc:p="o"] element style {_, t_style }* &
- (wxMenu | objectRef)*
- }
- wxMenu =
- element object {
- attribute class { "wxMenu" } &
- stdObjectNodeAttributes &
- [xrc:p="o"] element label {_, t_text }* &
- [xrc:p="o"] element style {_, t_style }* &
- [xrc:p="o"] element help {_, t_text }* &
- [xrc:p="o"] element enabled {_, t_bool }* &
- (
- wxMenuItem |
- wxMenu |
- objectRef |
- element object { attribute class { "separator" }, platform } |
- element object { attribute class { "break" }, platform }
- )*
- }
- wxMenuItem =
- element object {
- attribute class { "wxMenuItem" } &
- stdObjectNodeAttributes &
- [xrc:p="o"] element label {_, t_text }* &
- [xrc:p="o"] element accel {_, t_text }* &
- [xrc:p="o"] element radio {_, t_bool }* &
- [xrc:p="o"] element checkable {_, t_bool }* &
- [xrc:p="o"] element bitmap {_, t_bitmap }* &
- [xrc:p="o"] element bitmap2 {_, t_bitmap }* &
- [xrc:p="o"] element help {_, t_text }* &
- [xrc:p="o"] element enabled {_, t_bool }* &
- [xrc:p="o"] element checked {_, t_bool }*
- }
- wxNotebook =
- element object {
- attribute class { "wxNotebook" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element imagelist {_, t_imagelist }* &
- (wxNotebook_notebookpage | objectRef)*
- }
- wxNotebook_notebookpage =
- element object {
- attribute class { "notebookpage" } &
- platform &
- [xrc:p="important"] element label {_, t_text }* &
- (
- element bitmap {_, t_bitmap } |
- element image {_, t_integer }
- )? &
- [xrc:p="o"] element selected {_, t_bool }* &
- windowNode
- }
- wxOwnerDrawnComboBox =
- element object {
- attribute class { "wxOwnerDrawnComboBox" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element selection {_, t_integer }* &
- [xrc:p="o"] element value {_, t_string }* &
- [xrc:p="o"] element buttonsize {_, t_size }* &
- element content {
- platform,
- element item {_, t_text }*
- }?
- }
- wxPanel =
- element object {
- attribute class { "wxPanel" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- (sizerNode | windowNode* )?
- }
- wxPropertySheetDialog =
- element object {
- attribute class { "wxPropertySheetDialog" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element title {_, t_text }* &
- [xrc:p="o"] element icon {_, t_bitmap }* &
- [xrc:p="o"] element centered {_, t_bool }* &
- [xrc:p="o"] element buttons {_, t_style }* &
- (wxNotebook_notebookpage | objectRef)*
- }
- wxPropertySheetDialog_propertysheetpage =
- element object {
- attribute class { "propertysheetpage" } &
- platform &
- [xrc:p="important"] element label {_, t_text }* &
- [xrc:p="o"] element bitmap {_, t_bitmap }* &
- [xrc:p="o"] element selected {_, t_bool }* &
- windowNode
- }
- wxRadioButton =
- element object {
- attribute class { "wxRadioButton" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="important"] element label {_, t_text }* &
- [xrc:p="o"] element value {_, t_bool }*
- }
- wxRadioBox =
- element object {
- attribute class { "wxRadioBox" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="important"] element label {_, t_text }* &
- [xrc:p="o"] element dimension {_, t_integer }* &
- [xrc:p="o"] element selection {_, t_integer }* &
- element content {
- platform,
- element item {
- platform,
- attribute tooltip { t_string }?,
- attribute helptext { t_string }?,
- attribute enabled { t_bool }?,
- attribute hidden { t_bool }?,
- t_text
- }*
- }?
- }
- wxRibbonBar =
- element object {
- attribute class { "wxRibbonBar" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element art-provider {_, ("default" | "aui" | "msw") }* &
- (wxRibbonPage | objectRef)*
- }
- wxRibbonButtonBar =
- element object {
- attribute class { "wxRibbonButtonBar" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- (wxRibbonButtonBar_button | objectRef)*
- }
- wxRibbonButtonBar_button =
- element object {
- attribute class { "button" } &
- stdObjectNodeAttributes &
- [xrc:p="o"] element hybrid {_, t_bool }* &
- [xrc:p="o"] element disabled {_, t_bool }* &
- [xrc:p="important"] element label {_, t_text }* &
- [xrc:p="important"] element bitmap {_, t_bitmap }* &
- [xrc:p="o"] element small-bitmap {_, t_bitmap }* &
- [xrc:p="o"] element disabled-bitmap {_, t_bitmap }* &
- [xrc:p="o"] element small-disabled-bitmap {_, t_bitmap }* &
- [xrc:p="o"] element help {_, t_text }*
- }
- wxRibbonControl =
- element object {
- attribute class { "wxRibbonControl" } &
- attribute subclass { t_identifier } & # must be subclassed
- attribute name { t_identifier }? &
- platform
- }
- wxRibbonGallery =
- element object {
- attribute class { "wxRibbonGallery" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- (wxRibbonGallery_item | objectRef)*
- }
- wxRibbonGallery_item =
- element object {
- attribute class { "item" } &
- stdObjectNodeAttributes &
- [xrc:p="o"] element bitmap {_, t_bitmap }*
- }
- wxRibbonPage =
- element object {
- # unfortunately, wxRibbonXmlHandler supports "page" alias
- attribute class { "wxRibbonPage" | "page" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element label {_, t_text }* &
- [xrc:p="o"] element icon {_, t_bitmap }* &
- (wxRibbon_anyControl | objectRef)*
- }
- wxRibbonPanel =
- element object {
- # unfortunately, wxRibbonXmlHandler supports "panel" alias
- attribute class { "wxRibbonPanel" | "panel" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element label {_, t_text }* &
- [xrc:p="o"] element icon {_, t_bitmap }* &
- (sizerNode | wxRibbon_anyControl | objectRef)*
- }
- wxRibbon_anyControl = wxRibbonBar | wxRibbonButtonBar | wxRibbonControl |
- wxRibbonGallery | wxRibbonPanel
- wxRichTextCtrl =
- element object {
- attribute class { "wxRichTextCtrl" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element value {_, t_text }* &
- [xrc:p="o"] element maxlength {_, t_integer }*
- }
- wxScrollBar =
- element object {
- attribute class { "wxScrollBar" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element value {_, t_integer }* &
- [xrc:p="o"] element range {_, t_integer }* &
- [xrc:p="o"] element thumbsize {_, t_integer }* &
- [xrc:p="o"] element pagesize {_, t_integer }*
- }
- wxScrolledWindow =
- element object {
- attribute class { "wxScrolledWindow" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element scrollrate {_, t_size }* &
- (sizerNode | windowNode* )?
- }
- wxSimpleHtmlListBox =
- element object {
- attribute class { "wxSimpleHtmlListBox" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element selection {_, t_integer }* &
- element content {
- platform,
- element item {_, t_text }*
- }?
- }
- wxSimplebook =
- element object {
- attribute class { "wxSimplebook" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- (wxSimplebook_simplebookpage | objectRef)*
- }
- wxSimplebook_simplebookpage =
- element object {
- attribute class { "simplebookpage" } &
- platform &
- element label {_, t_text }* &
- [xrc:p="o"] element selected {_, t_bool }* &
- windowNode
- }
- wxSlider =
- element object {
- attribute class { "wxSlider" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element value {_, t_integer }* &
- [xrc:p="o"] element min {_, t_integer }* &
- [xrc:p="o"] element max {_, t_integer }* &
- [xrc:p="o"] element pagesize {_, t_integer }* &
- [xrc:p="o"] element linesize {_, t_integer }* &
- [xrc:p="o"] element tickfreq {_, t_integer }* &
- [xrc:p="o"] element tick {_, t_integer }* &
- [xrc:p="o"] element thumb {_, t_integer }* &
- [xrc:p="o"] element selmin {_, t_integer }* &
- [xrc:p="o"] element selmax {_, t_integer }*
- }
- wxSpinButton =
- element object {
- attribute class { "wxSpinButton" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element value {_, t_integer }* &
- [xrc:p="o"] element min {_, t_integer }* &
- [xrc:p="o"] element max {_, t_integer }*
- }
- wxSpinCtrl =
- element object {
- attribute class { "wxSpinCtrl" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element value {_, t_integer }* &
- [xrc:p="o"] element min {_, t_integer }* &
- [xrc:p="o"] element max {_, t_integer }* &
- [xrc:p="o"] element base {_, ("10" | "16") }*
- }
- wxSplitterWindow =
- element object {
- attribute class { "wxSplitterWindow" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element orientation {_, ("vertical" | "horizontal") }* &
- [xrc:p="o"] element sashpos {_, t_dimension }* &
- [xrc:p="o"] element minsize {_, t_dimension }* &
- [xrc:p="o"] element gravity {_, t_float }* &
- (windowNode, windowNode?) # 1 or 2 child windows
- }
- wxSearchCtrl =
- element object {
- attribute class { "wxSearchCtrl" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element value {_, t_text }*
- }
- wxStatusBar =
- element object {
- attribute class { "wxStatusBar" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element fields {_, t_integer }* &
- [xrc:p="o"] element widths {_, t_list_of_numbers }* &
- [xrc:p="o"] element styles {_, xsd:string { pattern = "wxSB_(NORMAL|FLAT|RAISED|SUNKEN)(,wxSB_(NORMAL|FLAT|RAISED|SUNKEN))*" } }*
- }
- wxStaticBitmap =
- element object {
- attribute class { "wxStaticBitmap" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- element bitmap {_, t_bitmap }
- }
- wxStaticBox =
- element object {
- attribute class { "wxStaticBox" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="important"] element label {_, t_text }*
- }
- wxStaticLine =
- element object {
- attribute class { "wxStaticLine" } &
- stdObjectNodeAttributes &
- stdWindowProperties
- }
- wxStaticText =
- element object {
- attribute class { "wxStaticText" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="important"] element label {_, t_text }* &
- [xrc:p="o"] element wrap {_, t_dimension }*
- }
- wxTextCtrl =
- element object {
- attribute class { "wxTextCtrl" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element value {_, t_text }* &
- [xrc:p="o"] element maxlength {_, t_integer }* &
- [xrc:p="o"] element hint {_, t_text }*
- }
- wxTimePickerCtrl =
- element object {
- attribute class { "wxTimePickerCtrl" } &
- stdObjectNodeAttributes &
- stdWindowProperties
- }
- wxToggleButton =
- element object {
- attribute class { "wxToggleButton" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="important"] element label {_, t_text }* &
- [xrc:p="o"] element checked {_, t_bool }*
- }
- wxToolBar =
- element object {
- attribute class { "wxToolBar" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element bitmapsize {_, t_size }* &
- [xrc:p="o"] element margins {_, t_size }* &
- [xrc:p="o"] element packing {_, t_integer }* &
- [xrc:p="o"] element separation {_, t_integer }* &
- [xrc:p="o"] element dontattachtoframe {_, t_bool }* &
- (
- windowNode |
- wxToolBar_tool |
- element object { attribute class { "separator" }, platform } |
- element object { attribute class { "space" }, platform }
- )*
- }
- wxToolBar_tool =
- element object {
- attribute class { "tool" } &
- stdObjectNodeAttributes &
- [xrc:p="important"] element bitmap {_, t_bitmap }* &
- [xrc:p="o"] element bitmap2 {_, t_bitmap }* &
- [xrc:p="o"] element label {_, t_text }* &
- [xrc:p="o"] element tooltip {_, t_text }* &
- [xrc:p="o"] element longhelp {_, t_text }* &
- [xrc:p="o"] element disabled {_, t_bool }* &
- [xrc:p="o"] element checked {_, t_bool }* &
- [xrc:p="o"](
- element radio {_, t_bool } |
- element toggle {_, t_bool } |
- element dropdown {_, wxMenu? }
- )*
- }
- wxToolbook =
- element object {
- attribute class { "wxToolbook" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element imagelist {_, t_imagelist }* &
- (wxToolbook_toolbookpage | objectRef)*
- }
- wxToolbook_toolbookpage =
- element object {
- attribute class { "toolbookpage" } &
- platform &
- [xrc:p="important"] element label {_, t_text }* &
- [xrc:p="o"](
- element bitmap {_, t_bitmap } |
- element image {_, t_integer }
- )* &
- [xrc:p="o"] element selected {_, t_bool }* &
- windowNode
- }
- wxTreeCtrl =
- element object {
- attribute class { "wxTreeCtrl" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element imagelist {_, t_imagelist }*
- }
- wxTreebook =
- element object {
- attribute class { "wxTreebook" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element imagelist {_, t_imagelist }* &
- (wxTreebook_treebookpage | objectRef)*
- }
- wxTreebook_treebookpage =
- element object {
- attribute class { "treebookpage" } &
- platform &
- [xrc:p="important"] element depth {_, t_integer }* &
- [xrc:p="important"] element label {_, t_text }* &
- [xrc:p="o"](
- element bitmap {_, t_bitmap } |
- element image {_, t_integer }
- )* &
- [xrc:p="o"] element selected {_, t_bool }* &
- [xrc:p="o"] element expanded {_, t_bool }* &
- windowNode
- }
- wxWizard =
- element object {
- attribute class { "wxWizard" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element title {_, t_text }* &
- [xrc:p="o"] element bitmap {_, t_bitmap }* &
- (wxWizardPage_any | objectRef)*
- }
- wxWizardPage_any =
- element object {
- attribute class { "wxWizardPage" | "wxWizardPageSimple" } &
- stdObjectNodeAttributes &
- stdWindowProperties &
- [xrc:p="o"] element bitmap {_, t_bitmap }* &
- (sizerNode | windowNode* )?
- }
- wxSizer_item =
- element object {
- (
- (
- attribute class { "spacer" } &
- [xrc:p="o"] element size {_, t_size }*
- )
- |
- (
- attribute class { "sizeritem" } &
- (windowNode | sizerNode)
- )
- ) &
- stdObjectNodeAttributes &
- [xrc:p="o"] element option {_, t_integer }* &
- [xrc:p="o"] element border {_, t_dimension }* &
- [xrc:p="o"] element minsize {_, t_size }* &
- [xrc:p="o"] element ratio {_, t_size }* &
- # TODO: cell{pos,span} are wxGridBagSizer-only and required in it, this is too lax
- [xrc:p="o"] element cellpos {_, t_position }* &
- [xrc:p="o"] element cellspan {_, t_size }* &
- [xrc:p="o"] element flag {_,
- xsd:string {
- pattern = "(wxLEFT|wxRIGHT|wxTOP|wxBOTTOM|wxNORTH|wxSOUTH|wxEAST|wxWEST|wxALL|wxGROW|wxEXPAND|wxSHAPED|wxSTRETCH_NOT|wxALIGN_CENTER|wxALIGN_CENTRE|wxALIGN_LEFT|wxALIGN_RIGHT|wxALIGN_TOP|wxALIGN_BOTTOM|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTRE_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTRE_VERTICAL)( *\| *(wxLEFT|wxRIGHT|wxTOP|wxBOTTOM|wxNORTH|wxSOUTH|wxEAST|wxWEST|wxALL|wxGROW|wxEXPAND|wxSHAPED|wxSTRETCH_NOT|wxALIGN_CENTER|wxALIGN_CENTRE|wxALIGN_LEFT|wxALIGN_RIGHT|wxALIGN_TOP|wxALIGN_BOTTOM|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTRE_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTRE_VERTICAL))*"
- }
- }*
- }
- wxBoxSizer =
- element object {
- attribute class { "wxBoxSizer" } &
- stdObjectNodeAttributes &
- [xrc:p="o"] element minsize {_, t_size }* &
- [xrc:p="o"] element orient {_, ("wxHORIZONTAL" | "wxVERTICAL") }* &
- (wxSizer_item | objectRef)*
- }
- wxStaticBoxSizer =
- element object {
- attribute class { "wxStaticBoxSizer" } &
- stdObjectNodeAttributes &
- [xrc:p="o"] element minsize {_, t_size }* &
- [xrc:p="important"] element label {_, t_text }* &
- [xrc:p="o"] element orient {_, ("wxHORIZONTAL" | "wxVERTICAL") }* &
- (wxSizer_item | objectRef)*
- }
- wxGridSizer =
- element object {
- attribute class { "wxGridSizer" } &
- stdObjectNodeAttributes &
- [xrc:p="o"] element minsize {_, t_size }* &
- [xrc:p="o"] element rows {_, t_unsigned }* &
- [xrc:p="o"] element cols {_, t_unsigned }* &
- [xrc:p="o"] element vgap {_, t_dimension }* &
- [xrc:p="o"] element hgap {_, t_dimension }* &
- (wxSizer_item | objectRef)*
- }
- wxFlexGridSizer =
- element object {
- attribute class { "wxFlexGridSizer" } &
- stdObjectNodeAttributes &
- [xrc:p="o"] element minsize {_, t_size }* &
- [xrc:p="o"] element rows {_, t_unsigned }* &
- [xrc:p="o"] element cols {_, t_unsigned }* &
- [xrc:p="o"] element vgap {_, t_dimension }* &
- [xrc:p="o"] element hgap {_, t_dimension }* &
- [xrc:p="o"] element flexibledirection {_, ("wxVERTICAL" | "wxHORIZONTAL" | "wxBOTH") }* &
- [xrc:p="o"] element nonflexiblegrowmode {_, ("wxFLEX_GROWMODE_NONE" |
- "wxFLEX_GROWMODE_SPECIFIED" |
- "wxFLEX_GROWMODE_ALL") }* &
- [xrc:p="o"] element growablerows {_, t_list_of_numbers }* &
- [xrc:p="o"] element growablecols {_, t_list_of_numbers }* &
- (wxSizer_item | objectRef)*
- }
- wxGridBagSizer =
- element object {
- attribute class { "wxGridBagSizer" } &
- stdObjectNodeAttributes &
- [xrc:p="o"] element minsize {_, t_size }* &
- [xrc:p="o"] element vgap {_, t_dimension }* &
- [xrc:p="o"] element hgap {_, t_dimension }* &
- [xrc:p="o"] element flexibledirection {_, ("wxVERTICAL" | "wxHORIZONTAL" | "wxBOTH") }* &
- [xrc:p="o"] element nonflexiblegrowmode {_, ("wxFLEX_GROWMODE_NONE" |
- "wxFLEX_GROWMODE_SPECIFIED" |
- "wxFLEX_GROWMODE_ALL") }* &
- [xrc:p="o"] element growablerows {_, t_list_of_numbers }* &
- [xrc:p="o"] element growablecols {_, t_list_of_numbers }* &
- (wxSizer_item | objectRef)*
- }
- wxWrapSizer =
- element object {
- attribute class { "wxWrapSizer" } &
- stdObjectNodeAttributes &
- [xrc:p="o"] element minsize {_, t_size }* &
- [xrc:p="important"] element orient {_, ("wxHORIZONTAL" | "wxVERTICAL") }* &
- [xrc:p="o"] element flag {_, t_style }* &
- (wxSizer_item | objectRef)*
- }
- wxStdDialogButtonSizer =
- element object {
- attribute class { "wxStdDialogButtonSizer" } &
- stdObjectNodeAttributes &
- element object {
- attribute class { "button" },
- platform,
- (wxButton | customClasses | objectRef)
- }+
- }
|