From 380aa9533e41f8fac807211fad6418ea7d2d0f62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Slav=C3=ADk?= Date: Fri, 18 Oct 2013 15:00:03 +0000 Subject: [PATCH] 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 --- misc/schema/xrc_schema.rnc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/misc/schema/xrc_schema.rnc b/misc/schema/xrc_schema.rnc index 4986ea6efb..cf6f68a656 100644 --- a/misc/schema/xrc_schema.rnc +++ b/misc/schema/xrc_schema.rnc @@ -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 =