XRC schema: Validate wxSizerItem flag property rigorously.

Validating all style flags strictly would be unmaintainable mess of
verbose regular expressions that would quickly get out of sync.  But we
can validate at least wxSizerItem flags, which are both stable and so
frequently used that it is worth the effort.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75042 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2013-10-18 15:00:03 +00:00
parent e2a8850cc4
commit 380aa9533e

View File

@@ -1492,13 +1492,17 @@ wxSizer_item =
) &
stdObjectNodeAttributes &
[xrc:p="o"] element option {_, t_integer }* &
[xrc:p="o"] element flag {_, t_style }* &
[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 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 =