{ "type": "class",
  "qname": "spark.layouts.VerticalLayout",
  "baseClassname": "spark.layouts.supportClasses.LayoutBase"
  ,
    "description": "The VerticalLayout class arranges the layout elements in a vertical sequence, top to bottom, with optional gaps between the elements and optional padding around the sequence of elements.  <p>The vertical position of the elements is determined by arranging them in a vertical sequence, top to bottom, taking into account the padding before the first element and the gaps between the elements.</p>  <p>The horizontal position of the elements is determined by the layout's <code>horizontalAlign</code> property.</p>  <p>During the execution of the <code>measure()</code> method, the default size of the container is calculated by accumulating the preferred sizes of the elements, including gaps and padding. When <code>requestedRowCount</code> is set, only the space for that many elements is measured, starting from the first element.</p>  <p>During the execution of the <code>updateDisplayList()</code> method, the height of each element is calculated according to the following rules, listed in their respective order of precedence (element's minimum height and maximum height are always respected):</p> <ul> <li>If <code>variableRowHeight</code> is <code>false</code>, then set the element's height to the value of the <code>rowHeight</code> property.</li>  <li>If the element's <code>percentHeight</code> is set, then calculate the element's height by distributing the available container height between all elements with a <code>percentHeight</code> setting. The available container height is equal to the container height minus the gaps, the padding and the space occupied by the rest of the elements. The element's <code>precentHeight</code> property is ignored when the layout is virtualized.</li>  <li>Set the element's height to its preferred height.</li> </ul>  <p>The width of each element is calculated according to the following rules, listed in their respective order of precedence (element's minimum width and maximum width are always respected):</p> <ul> <li>If <code>horizontalAlign</code> is <code>&quot;justify&quot;</code>, then set the element's width to the container width.</li>  <li>If <code>horizontalAlign</code> is <code>&quot;contentJustify&quot;</code>, then set the element's width to the maximum between the container's width and all elements' preferred width.</li>  <li>If the element's <code>percentWidth</code> is set, then calculate the element's width as a percentage of the container's width.</li>  <li>Set the element's width to its preferred width.</li> </ul>  <p>The <code>&lt;s:VerticalLayout&gt;</code> tag inherits all of the tag attributes of its superclass and adds the following tag attributes:</p>  <pre>\\n &lt;s:VerticalLayout\\n <strong>Properties</strong>\\n gap=&quot;6&quot;\\n horizontalAlign=&quot;left&quot;\\n padding=&quot;0&quot;\\n paddingBottom=&quot;0&quot;\\n paddingLeft=&quot;0&quot;\\n paddingRight=&quot;0&quot;\\n paddingTop=&quot;0&quot;\\n requestedMaxRowCount=&quot;-1&quot;\\n requestedMinRowCount=&quot;-1&quot;\\n requestedRowCount=&quot;-1&quot;\\n rowHeight=&quot;<i>calculated</i>&quot;\\n variableRowHeight=&quot;true&quot;\\n verticalAlign=&quot;top&quot;\\n /&gt;\\n </pre>",
  "tags": [
  {  "tagName": "mxml",
         "values": [""]},
      {  "tagName": "playerversion",
         "values": ["Flash 10", "AIR 1.5"]},
      {  "tagName": "productversion",
         "values": ["Flex 4"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "spark.layouts.VerticalLayout",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "gap",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The vertical space between layout elements, in pixels.  Note that the gap is only applied between layout elements, so if there's just one element, the gap has no effect on the layout.",
        "tags": [
        {  "tagName": "default",
               "values": ["6"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "int",
        "qname": "rowCount",
        "namespace": "public",
        "bindable": ["propertyChange"],
        "details": [],
        "deprecated": {},
          "description": "The current number of visible elements.",
        "tags": [
        {  "tagName": "default",
               "values": ["-1"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "horizontalAlign",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The horizontal alignment of layout elements. If the value is <code>&quot;left&quot;</code>, <code>&quot;right&quot;</code>, or <code>&quot;center&quot;</code> then the layout element is aligned relative to the container's <code>contentWidth</code> property.  <p>If the value is <code>&quot;contentJustify&quot;</code>, then the layout element's actual width is set to the <code>contentWidth</code> of the container. The <code>contentWidth</code> of the container is the width of the largest layout element. If all layout elements are smaller than the width of the container, then set the width of all layout elements to the width of the container.</p>  <p>If the value is <code>&quot;justify&quot;</code> then the layout element's actual width is set to the container's width.</p>  <p>This property does not affect the layout's measured size.</p>",
        "tags": [
        {  "tagName": "default",
               "values": [""left""]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "verticalAlign",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The vertical alignment of the content relative to the container's height.  <p>If the value is <code>&quot;bottom&quot;</code>, <code>&quot;middle&quot;</code>, or <code>&quot;top&quot;</code> then the layout elements are aligned relative to the container's <code>contentHeight</code> property.</p>  <p>This property has no effect when <code>clipAndEnableScrolling</code> is true and the <code>contentHeight</code> is greater than the container's height.</p>  <p>This property does not affect the layout's measured size.</p>",
        "tags": [
        {  "tagName": "default",
               "values": [""top""]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Number",
        "qname": "padding",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The minimum number of pixels between the container's edges and the edges of the layout element.",
        "tags": [
        {  "tagName": "default",
               "values": ["0"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Number",
        "qname": "paddingLeft",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The minimum number of pixels between the container's left edge and the left edge of the layout element.",
        "tags": [
        {  "tagName": "default",
               "values": ["0"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Number",
        "qname": "paddingRight",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The minimum number of pixels between the container's right edge and the right edge of the layout element.",
        "tags": [
        {  "tagName": "default",
               "values": ["0"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Number",
        "qname": "paddingTop",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Number of pixels between the container's top edge and the top edge of the first layout element.",
        "tags": [
        {  "tagName": "default",
               "values": ["0"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Number",
        "qname": "paddingBottom",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Number of pixels between the container's bottom edge and the bottom edge of the last layout element.",
        "tags": [
        {  "tagName": "default",
               "values": ["0"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "requestedMaxRowCount",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The measured height of this layout is large enough to display at most <code>requestedMaxRowCount</code> layout elements.  <p>If <code>requestedRowCount</code> is set, then this property has no effect.</p>  <p>If the actual size of the container has been explicitly set, then this property has no effect.</p>",
        "tags": [
        {  "tagName": "default",
               "values": ["-1"]},
            {  "tagName": "see",
               "values": ["#requestedRowCount", "#requestedMinRowCount"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "requestedMinRowCount",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The measured height of this layout is large enough to display at least <code>requestedMinRowCount</code> layout elements.  <p>If <code>requestedRowCount</code> is set, then this property has no effect.</p>  <p>If the actual size of the container has been explicitly set, then this property has no effect.</p>",
        "tags": [
        {  "tagName": "default",
               "values": ["-1"]},
            {  "tagName": "see",
               "values": ["#requestedRowCount", "#requestedMaxRowCount"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "requestedRowCount",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The measured size of this layout is tall enough to display the first <code>requestedRowCount</code> layout elements.  <p>If <code>requestedRowCount</code> is -1, then the measured size will be big enough for all of the layout elements.</p>  <p>If the actual size of the container has been explicitly set, then this property has no effect.</p>",
        "tags": [
        {  "tagName": "default",
               "values": ["-1"]},
            {  "tagName": "see",
               "values": ["#requestedMinRowCount", "#requestedMaxRowCount"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Number",
        "qname": "rowHeight",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "If <code>variableRowHeight</code> is <code>false</code>, then this property specifies the actual height of each child, in pixels.  <p>If <code>variableRowHeight</code> is <code>true</code>, the default, then this property has no effect.</p>  <p>The default value of this property is the preferred height of the <code>typicalLayoutElement</code>.</p>",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "variableRowHeight",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Specifies whether layout elements are allocated their preferred height. Setting this property to <code>false</code> specifies fixed height rows.  <p>If <code>false</code>, the actual height of each layout element is the value of <code>rowHeight</code>. Setting this property to <code>false</code> causes the layout to ignore the layout elements' <code>percentHeight</code> property.</p>",
        "tags": [
        {  "tagName": "default",
               "values": ["true"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "int",
        "qname": "firstIndexInView",
        "namespace": "public",
        "bindable": ["indexInViewChanged"],
        "details": [],
        "deprecated": {},
          "description": "The index of the first layout element that is part of the layout and within the layout target's scroll rectangle, or -1 if nothing has been displayed yet.  <p>&quot;Part of the layout&quot; means that the element is non-null and that its <code>includeInLayout</code> property is <code>true</code>.</p>  <p>Note that the layout element may only be partially in view.</p>",
        "tags": [
        {  "tagName": "see",
               "values": ["fractionOfElementInView()"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "int",
        "qname": "lastIndexInView",
        "namespace": "public",
        "bindable": ["indexInViewChanged"],
        "details": [],
        "deprecated": {},
          "description": "The index of the last row that's part of the layout and within the container's scroll rectangle, or -1 if nothing has been displayed yet.  <p>&quot;Part of the layout&quot; means that the child is non-null and that its <code>includeInLayout</code> property is <code>true</code>.</p>  <p>Note that the row may only be partially in view.</p>",
        "tags": [
        {  "tagName": "see",
               "values": ["firstIndexInView", "fractionOfElementInView"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "clipAndEnableScrolling",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "default",
               "values": ["false", "false"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5", "Flash 10", "AIR 1.5"]},
            {  "tagName": "copy",
               "values": ["spark.core.IViewport#clipAndEnableScrolling", "spark.core.IViewport#clipAndEnableScrolling"]},
            {  "tagName": "productversion",
               "values": ["Flex 4", "Flex 4"]},
            {  "tagName": "langversion",
               "values": ["3.0", "3.0"]}  ]},
      { "type": "method",
        "qname": "fractionOfElementInView",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Returns 1.0 if the specified index is completely in view, 0.0 if it's not, or a value between 0.0 and 1.0 that represents the percentage of the if the index that is partially in view.  <p>An index is &quot;in view&quot; if the corresponding non-null layout element is within the vertical limits of the container's <code>scrollRect</code> and included in the layout.</p>  <p>If the specified index is partially within the view, the returned value is the percentage of the corresponding layout element that's visible.</p>   Returns 0.0 if the specified index is invalid or if it corresponds to null element, or a ILayoutElement for which the <code>includeInLayout</code> property is <code>false</code>.",
        "tags": [
        {  "tagName": "param",
               "values": ["index The index of the row."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4"]},
            {  "tagName": "return",
               "values": ["The percentage of the specified element that's in view."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Number",
          "params": [{ "name": "index", "type": "int"}]}
      ]
  }






