public interface IMXMLDesignLayerNode extends IMXMLInstanceNode
<fx:DesignLayer>
tag.
<fx:DesignLayer>
is scoped to the 2009 language namespace.id
, visible
and alpha
are legal properties.visible
and alpha
properties can have states.DesignLayer
tag without any attribute is a "no-op". It will be
skipped during code generation.
Although <fx:DesignLayer>
tag is a MXML 2009 Language tag, it does
have a corresponding ActionScript class definition -
mx.core.DesignLayer
.
The implementation of this AST node extends IMXMLInstanceNode
so that
it can take advantage of the property definitions in the backing ActionScript
class. However, the generated code can not treat a <fx:DesignLayer>
tag as an instance of some sort of component container. Instead, all the
children components under the DesignLayer
tag will be hoisted to be
the direct children of the DesignLayer
's closest non-DesignLayer
parent.
For example, given the MXML AST like the following:
HGroup { Label l1 DesignLayer { Button b1 Button b2 } Label l2 }The MXML code generator will make Button "b1" and "b2" children of the HGroup, which means despite the AST shape, "b1" and "b2" will actually become siblings of "l1" and "l2" at runtime.
UNKNOWN
Modifier and Type | Method and Description |
---|---|
int |
getHoistedChildCount()
Flatten
<fx:DesignLayer> tags by hoisting direct children of a
"DesignLayer" tag. |
boolean |
skipCodeGeneration()
If a
<fx:DesignLayer> tag has no attributes or property child
nodes, it will be ignored during code generation. |
getEffectiveID, getExcludeFrom, getID, getIncludeIn, getItemCreationPolicy, getItemDestructionPolicy, isEqual, resolveID
getClassReference, getEventSpecifierNode, getEventSpecifierNodes, getPropertySpecifierNode, getPropertySpecifierNodes, getSpecifierNodesWithSuffix, isContainer, isDeferredInstantiationUIComponent, isMXMLObject, isVisualElementContainer, needsDescriptor, needsDocumentDescriptor
getClassDefinitionNode, getDocumentNode, getFileNode, getName, isValidForCodeGen
contains, getAncestorOfType, getChild, getChildCount, getContainingNode, getContainingScope, getFileSpecification, getNodeID, getPackageName, getParent, getSpanningStart, getSucceedingNode, isTerminal
getAbsoluteEnd, getAbsoluteStart, getColumn, getEnd, getEndColumn, getEndLine, getLine, getSourcePath, getStart
int getHoistedChildCount()
<fx:DesignLayer>
tags by hoisting direct children of a
"DesignLayer" tag. For example:
Group Button #1 DesignLayer #1 Label #1 Label #2 Button #2
DesignLayer #1
's hoisted child count is 2.
Group DesignLayer #1 Label #1 DesignLayer #2 Label #2 Label #3 Label #4 DesignLayer #3 HGroup Label #5
DesignLayer #1
's hoisted child count is 5. They are:
Label #1 Label #2 Label #3 Label #4 HGroupNote that
Label #5
is a child of HGroup
. It is not
hoisted up to the Group
level.boolean skipCodeGeneration()
<fx:DesignLayer>
tag has no attributes or property child
nodes, it will be ignored during code generation.<fx:DesignLayer>
node will be included in
the code generation.Copyright © 2016 The Apache Software Foundation. All rights reserved.