Choices with nested compositors (sequences or choices) are now recognized as choices
This commit is contained in:
parent
d86bfbb276
commit
eca77e1246
@ -790,13 +790,23 @@ end;
|
|||||||
function TXMLDataBindingGenerator.IsChoice(AElement: IXMLElementDef): Boolean;
|
function TXMLDataBindingGenerator.IsChoice(AElement: IXMLElementDef): Boolean;
|
||||||
var
|
var
|
||||||
compositor: IXMLElementCompositor;
|
compositor: IXMLElementCompositor;
|
||||||
|
parent: IXMLNode;
|
||||||
begin
|
begin
|
||||||
Result := False;
|
Result := False;
|
||||||
|
|
||||||
if Supports(AElement.ParentNode, IXMLElementCompositor, compositor) then
|
parent := AElement.ParentNode;
|
||||||
|
while Supports(parent, IXMLElementCompositor, compositor) do
|
||||||
|
begin
|
||||||
|
if compositor.CompositorType = ctSequence then
|
||||||
|
begin
|
||||||
|
parent := compositor.ParentNode;
|
||||||
|
end else
|
||||||
|
begin
|
||||||
Result := (compositor.CompositorType = ctChoice) and
|
Result := (compositor.CompositorType = ctChoice) and
|
||||||
(compositor.ElementDefs.Count > 1);
|
(compositor.ElementDefs.Count + compositor.Compositors.Count > 1);
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user