{ "type": "class",
  "qname": "spark.components.NavigatorContent",
  "baseClassname": "spark.components.SkinnableContainer"
  ,
    "description": "The NavigatorContent class defines a Spark container that can be used in an MX navigator container, such as the ViewStack, TabNavigator and Accordion containers.  <p>Do not use a NavigatorContent container outside of an MX navigator container.</p>  <p>The creation policy of the NavigatorContent container is based on the creation policy of its parent navigator container: </p>  <ul> <li>If the creation policy of the parent is none, then the creation policy of the NavigatorContent is none.</li> <li>If the creation policy of the parent is all, then the creation policy of the NavigatorContent is all.</li> <li>If the creation policy of the parent is auto, then the creation policy of the NavigatorContent is none.</li> </ul>  <p>The NavigatorContent container does not support the queued creation policy.</p>  <p>The NavigatorContent container has the following default characteristics:</p> <table class=&quot;innertable&quot;> <tr><th>Characteristic</th><th>Description</th></tr> <tr><td>Default size</td><td>Large enough to display its children</td></tr> <tr><td>Minimum size</td><td>0 pixels</td></tr> <tr><td>Maximum size</td><td>10000 pixels wide and 10000 pixels high</td></tr> </table>   <p>The <code>&lt;s:NavigatorContent&gt;</code> tag inherits all of the tag attributes of its superclass and adds the following tag attributes:</p>  <pre>\\n &lt;s:NavigatorContent\\n <strong>Properties</strong>\\n icon=&quot;null&quot;\\n label=&quot;&quot;\\n \\n /&gt;\\n </pre>",
  "tags": [
  {  "tagName": "includeExample",
         "values": ["examples/NavigatorContentExample.mxml"]},
      {  "tagName": "see",
         "values": ["mx.containers.Accordion", "mx.containers.TabNavigator", "mx.containers.ViewStack"]},
      {  "tagName": "playerversion",
         "values": ["Flash 10", "AIR 1.5"]},
      {  "tagName": "mxml",
         "values": []},
      {  "tagName": "productversion",
         "values": ["Royale 0.9.4"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "spark.components.NavigatorContent",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": []}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "Class",
        "qname": "icon",
        "namespace": "public",
        "bindable": ["iconChanged"],
        "details": [],
        "deprecated": {},
          "description": "The Class of the icon displayed by some navigator containers to represent this Container.  <p>For example, if this Container is a child of a TabNavigator, this icon appears in the corresponding tab. If this Container is a child of an Accordion, this icon appears in the corresponding header.</p>  <p>To embed the icon in the SWF file, use the &#64;Embed() MXML compiler directive:</p>  <pre>\\n icon=&quot;&#64;Embed('filepath')&quot;\\n </pre>  <p>The image can be a JPEG, GIF, PNG, SVG, or SWF file.</p>",
        "tags": [
        {  "tagName": "default",
               "values": ["null"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "label",
        "namespace": "public",
        "bindable": ["labelChanged"],
        "details": [],
        "deprecated": {},
          "description": "The text displayed by some navigator containers to represent this Container.  <p>For example, if this Container is a child of a TabNavigator, this string appears in the corresponding tab. If this Container is a child of an Accordion, this string appears in the corresponding header.</p>",
        "tags": [
        {  "tagName": "default",
               "values": [""""]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]}]
  }
