{ "type": "class",
  "qname": "org.apache.royale.html.beads.layouts.DataGridLayout",
  "baseClassname": "org.apache.royale.core.Bead"
  ,
    "description": "DataGridLayout is a class that handles the size and positioning of the elements of a DataGrid. This includes the ButtonBar used for the column headers and the Lists that are the columns.",
  "tags": [
  {  "tagName": "playerversion",
         "values": ["Flash 10.2", "AIR 2.6"]},
      {  "tagName": "productversion",
         "values": ["Royale 0.9"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "org.apache.royale.html.beads.layouts.DataGridLayout",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "constructor",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": []}
      ,
      { "type": "accessor",
        "access": "write-only",
        "return": "org.apache.royale.core.IStrand",
        "qname": "strand",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {}},
      { "type": "accessor",
        "access": "read-only",
        "return": "org.apache.royale.core.UIBase",
        "qname": "uiHost",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "royaleignorecoercion",
               "values": ["org.apache.royale.core.UIBase"]}  ]},
      { "type": "method",
        "qname": "getColumnsForLayout",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "royaleignorecoercion",
               "values": ["org.apache.royale.html.beads.IDataGridView", "org.apache.royale.html.beads.models.ButtonBarModel", "Array"]}  ],
          "return": "Array",
          "params": []}
      ,
      { "type": "method",
        "qname": "setHeaderWidths",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "royaleignorecoercion",
               "values": ["org.apache.royale.html.beads.IDataGridView", "org.apache.royale.html.beads.models.ButtonBarModel"]}  ],
          "return": "void",
          "params": [{ "name": "columnWidths", "type": "Array"}]}
      ,
      { "type": "method",
        "qname": "layout",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "copy",
               "values": ["org.apache.royale.core.IBeadLayout#layout"]},
            {  "tagName": "royaleignorecoercion",
               "values": ["org.apache.royale.core.IBorderPaddingMarginValuesImpl", "org.apache.royale.core.IDataGridModel", "org.apache.royale.core.ILayoutHost", "org.apache.royale.core.IUIBase", "org.apache.royale.core.UIBase", "org.apache.royale.html.beads.IDataGridView", "org.apache.royale.html.beads.models.ButtonBarModel", "org.apache.royale.html.supportClasses.IDataGridColumn"]}  ],
          "return": "Boolean",
          "params": []}
      ]
  }
