{ "type": "class",
  "qname": "mx.managers.SystemManager",
  "baseClassname": "mx.managers.SystemManagerBase"
  ,
    "description": "The SystemManager class manages an application window. Every application that runs on the desktop or in a browser has an area where the visuals of the application are displayed. It may be a window in the operating system or an area within the browser.  That area is an application window and different from an instance of <code>mx.core.Application</code>, which is the main, or top-level, window within an application.  <p>Every application has a SystemManager. The SystemManager sends an event if the size of the application window changes (you cannot change it from within the application, but only through interaction with the operating system window or browser).  It parents all displayable things within the application like the main mx.core.Application instance and all popups, tooltips, cursors, and so on.  Any object parented by the SystemManager is considered to be a top-level window, even tooltips and cursors.</p>  <p>The SystemManager also switches focus between top-level windows if there are more than one IFocusManagerContainer displayed and users are interacting with components within the IFocusManagerContainers.  </p>  <p>All keyboard and mouse activity that is not expressly trapped is seen by the SystemManager, making it a good place to monitor activity should you need to do so.</p>  <p>If an application is loaded into another application, a SystemManager will still be created, but will not manage an application window, depending on security and domain rules. Instead, it will be the <code>content</code> of the <code>Loader</code> that loaded it and simply serve as the parent of the sub-application</p>  <p>The SystemManager maintains multiple lists of children, one each for tooltips, cursors, popup windows.  This is how it ensures that popup windows &quot;float&quot; above the main application windows and that tooltips &quot;float&quot; above that and cursors above that. If you simply examine the <code>numChildren</code> property or call the <code>getChildAt()</code> method on the SystemManager, you are accessing the main application window and any other windows that aren't popped up.  To get the list of all windows, including popups, tooltips and cursors, use the <code>rawChildren</code> property.</p>  <p>The SystemManager is the first display class created within an application. It is responsible for creating an <code>mx.preloaders.Preloader</code> that displays and <code>mx.preloaders.SparkDownloadProgressBar</code> while the application finishes loading, then creates the <code>mx.core.Application</code> instance.</p>",
  "tags": [
  {  "tagName": "playerversion",
         "values": ["Flash 9", "AIR 1.1"]},
      {  "tagName": "productversion",
         "values": ["Royale 0.9.4"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "mx.managers.SystemManager",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor.  <p>This is the starting point for all Flex applications. This class is set to be the root class of a Flex SWF file. Flash Player instantiates an instance of this class, causing this constructor to be called.</p> <p>In Royale Emulation, this class is not the starting point. It is created by the Application's starting point and wraps delegates work to the Application.</p>",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": []}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "Object",
        "qname": "mxmlDocument",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "inheritDoc",
               "values": []},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "numModalWindows",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The number of modal windows.  Modal windows don't allow clicking in another windows which would normally activate the FocusManager in that window.  The PopUpManager modifies this count as it creates and destroys modal windows.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "mx.core.IChildList",
        "qname": "rawChildren",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "inheritDoc",
               "values": []},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "org.apache.royale.geom.Rectangle",
        "qname": "screen",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "inheritDoc",
               "values": []},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "addElement",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "return": "void",
          "params": [{ "name": "c", "type": "org.apache.royale.core.IChild"},
        { "name": "dispatchEvent", "type": "Boolean"}]}
      ,
      { "type": "method",
        "qname": "addElementAt",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "return": "void",
          "params": [{ "name": "c", "type": "org.apache.royale.core.IChild"},
        { "name": "index", "type": "int"},
        { "name": "dispatchEvent", "type": "Boolean"}]}
      ,
      { "type": "method",
        "qname": "removeElement",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "return": "void",
          "params": [{ "name": "c", "type": "org.apache.royale.core.IChild"},
        { "name": "dispatchEvent", "type": "Boolean"}]}
      ,
      { "type": "method",
        "qname": "getElementIndex",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "return": "int",
          "params": [{ "name": "c", "type": "org.apache.royale.core.IChild"}]}
      ,
      { "type": "accessor",
        "access": "read-only",
        "return": "int",
        "qname": "numElements",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "method",
        "qname": "getElementAt",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "return": "org.apache.royale.core.IChild",
          "params": [{ "name": "index", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "create",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "A factory method that requests an instance of a definition known to the module.  You can provide an optional set of parameters to let building factories change what they create based on the input. Passing null indicates that the default definition is created, if possible.  This method is overridden in the autogenerated subclass.  any number of arguments, which are then stored in an Array called <code>parameters</code>.",
        "tags": [
        {  "tagName": "param",
               "values": ["params An optional list of arguments. You can pass"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "return",
               "values": ["An instance of the module, or <code>null</code>."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Object",
          "params": [{ "name": "params", "type": "Array"}]}
      ,
      { "type": "method",
        "qname": "getDefinitionByName",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "inheritDoc",
               "values": []},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Object",
          "params": [{ "name": "name", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "getSandboxRoot",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Go up the parent chain to get the top level system manager in this SecurityDomain.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "return",
               "values": ["The root system manager in this SecurityDomain."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Object",
          "params": []}
      ,
      { "type": "accessor",
        "access": "read-only",
        "return": "org.apache.royale.core.IPopUpHost",
        "qname": "popUpHost",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "royaleignorecoercion",
               "values": ["org.apache.royale.core.IPopUpHost;"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "org.apache.royale.core.IPopUpHostParent",
        "qname": "popUpParent",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {}}]
  }
