{ "type": "class",
  "qname": "org.apache.royale.jewel.ApplicationMainContent",
  "baseClassname": "org.apache.royale.jewel.Container"
  ,
    "description": "The ApplicationMainContent class is a Container component capable of parenting the other organized content that implements ISelectableContent interface (i.e, a SectionContent)",
  "tags": [
  {  "tagName": "playerversion",
         "values": ["Flash 10.2", "AIR 2.6"]},
      {  "tagName": "productversion",
         "values": ["Royale 0.9.4"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "org.apache.royale.jewel.ApplicationMainContent",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "constructor.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": []}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "hasTopAppBar",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "a boolean flag to indicate if the container needs to make some room for a TopAppBar so content doesn't be hide",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "hasFooterBar",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "a boolean flag to indicate if the container needs to make some room for a FooterBar so content doesn't be hide",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.6"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "selectedContent",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "shows a concrete content and hides the rest",
        "tags": [
        {  "tagName": "param",
               "values": ["name, the name of the container to show"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "selectContent",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "createElement",
        "namespace": "protected",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "royaleignorecoercion",
               "values": ["org.apache.royale.core.WrappedHTMLElement"]}  ],
          "return": "org.apache.royale.core.WrappedHTMLElement",
          "params": []}
      ,
      { "type": "method",
        "qname": "addedToParent",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "The method called when added to a parent.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.6"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ]
  }
