{ "type": "class",
  "qname": "spark.components.gridClasses.GridViewLayout",
  "baseClassname": "spark.layouts.supportClasses.LayoutBase"
  ,
    "description": "A virtual two dimensional layout for the Grid class.   This is not a general purpose layout, it's only intended to be use with GridView.",
  "tags": [
  {  "tagName": "private",
         "values": []}  ],
  "members": [
  { "type": "method",
        "qname": "spark.components.gridClasses.GridViewLayout",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.4"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": []}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "spark.collections.SubListView",
        "qname": "columnsView",
        "namespace": "public",
        "bindable": ["columnsViewChanged"],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "default",
               "values": ["null"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "spark.collections.SubListView",
        "qname": "dataProviderView",
        "namespace": "public",
        "bindable": ["dataProviderViewChanged"],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "default",
               "values": ["null"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "spark.components.Grid",
        "qname": "grid",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The Grid parent of this layout's target.   This property is set by the Grid when the target GridView is added/removed from the Grid."},
      { "type": "accessor",
        "access": "read-write",
        "return": "spark.components.gridClasses.GridDimensionsView",
        "qname": "gridDimensionsView",
        "namespace": "public",
        "bindable": ["gridDimensionsViewChanged"],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "default",
               "values": ["null"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "horizontalScrollingLocked",
        "namespace": "public",
        "bindable": ["horizontalScrollingLockedChanged"],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "default",
               "values": ["false"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "requestedColumnCount",
        "namespace": "public",
        "bindable": ["requestedColumnCountChanged"],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "default",
               "values": ["0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "requestedRowCount",
        "namespace": "public",
        "bindable": ["requestedRowCountChanged"],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "default",
               "values": ["0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "useVirtualLayout",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "GridLayout only supports virtual layout, the value of this property can not be changed.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.0"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "return",
               "values": ["true."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "verticalScrollingLocked",
        "namespace": "public",
        "bindable": ["verticalScrollingLockedChanged"],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "default",
               "values": ["false"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "viewColumnCount",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The number of columns displayed by the target GridView.",
        "tags": [
        {  "tagName": "default",
               "values": ["-1"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "viewColumnIndex",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The column index origin of the grid region displayed by the target GridView.",
        "tags": [
        {  "tagName": "default",
               "values": ["0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "viewRowCount",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The number of rows displayed by the target GridView.",
        "tags": [
        {  "tagName": "default",
               "values": ["-1"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "viewRowIndex",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The row index origin of the grid region displayed by the target GridView.",
        "tags": [
        {  "tagName": "default",
               "values": ["0"]}  ]},
      { "type": "method",
        "qname": "calculateDropIndex",
        "namespace": "protected",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "Returns the index where a new item should be inserted if the user releases the mouse at the specified coordinates while completing a drag and drop gesture.  Called by the <code>calculatedDropLocation()</code> method.  local coordinates.  the drop target's local coordinates.  at the specified coordinates.",
        "tags": [
        {  "tagName": "see",
               "values": ["#calculateDropLocation()"]},
            {  "tagName": "param",
               "values": ["x The x coordinate of the drag and drop gesture, in", "y The y coordinate of the drag and drop gesture, in"]},
            {  "tagName": "playerversion",
               "values": ["Flash 11", "AIR 3.0"]},
            {  "tagName": "productversion",
               "values": ["Flex 5.0"]},
            {  "tagName": "return",
               "values": ["The drop index or -1 if the drop operation is not available"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "int",
          "params": [{ "name": "x", "type": "Number"},
        { "name": "y", "type": "Number"}]}
      ,
      { "type": "method",
        "qname": "calculateDropIndicatorBounds",
        "namespace": "protected",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "Calculates the bounds for the drop indicator that provides visual feedback to the user of where the items will be inserted at the end of a drag and drop gesture.  Called by the <code>showDropIndicator()</code> method.  by the <code>calculateDropLocation()</code> method.",
        "tags": [
        {  "tagName": "see",
               "values": ["spark.layouts.supportClasses.DropLocation", "#calculateDropIndex()", "#calculateDragScrollDelta()"]},
            {  "tagName": "param",
               "values": ["dropLocation A valid DropLocation object previously returned"]},
            {  "tagName": "playerversion",
               "values": ["Flash 11", "AIR 3.0"]},
            {  "tagName": "productversion",
               "values": ["Flex 5.0"]},
            {  "tagName": "return",
               "values": ["The bounds for the drop indicator or null."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "org.apache.royale.geom.Rectangle",
          "params": [{ "name": "dropLocation", "type": "spark.layouts.supportClasses.DropLocation"}]}
      ,
      { "type": "method",
        "qname": "invalidateCell",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Reinitialize and layout the visible renderer at rowIndex, columnIndex.  If the cell's preferred height changes and the Grid has been configured with variableRowHeight=true, the entire grid is invalidated.  <p>If row,columnIndex do not correspond to a visible cell, nothing is done.</p>",
        "tags": [
        {  "tagName": "param",
               "values": ["rowIndex The 0-based row index of the cell that changed.", "columnIndex The 0-based column index of the cell that changed."]}  ],
          "return": "void",
          "params": [{ "name": "rowIndex", "type": "int"},
        { "name": "columnIndex", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "getVisibleItemRenderer",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Return the visible item renderer at the specified GridView row,columnIndex.",
          "return": "spark.components.gridClasses.IGridItemRenderer",
          "params": [{ "name": "rowIndex", "type": "int"},
        { "name": "columnIndex", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "dataProviderCollectionChanged",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "return": "void",
          "params": [{ "name": "event", "type": "mx.events.CollectionEvent"}]}
      ,
      { "type": "method",
        "qname": "getVisibleBounds",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Returns the Grid-relative bounds of the visible part of the target GridView.",
          "return": "org.apache.royale.geom.Rectangle",
          "params": []}
      ,
      { "type": "method",
        "qname": "getVisibleRowIndices",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.0"]},
            {  "tagName": "copy",
               "values": ["spark.components.Grid#getVisibleRowIndices()"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Vector.<int>",
          "params": []}
      ,
      { "type": "method",
        "qname": "getVisibleColumnIndices",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.0"]},
            {  "tagName": "copy",
               "values": ["spark.components.Grid#getVisibleColumnIndices()"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Vector.<int>",
          "params": []}
      ,
      { "type": "method",
        "qname": "getFirstFullyVisibleRowIndex",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Return the Grid-relative index of the first fully visible row: if the first rowIndex element of visibleRowIndices hasn't been completely scrolled into view, then return the second element.  If no rows are visible, return -1.  If only one row is visible, return its index.",
          "return": "int",
          "params": []}
      ,
      { "type": "method",
        "qname": "getLastFullyVisibleRowIndex",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Return the Grid-relative index of the last fully visible row: if the last rowIndex element of visibleRowIndices hasn't been completely scrolled into view, then return the second to last element.  If no rows are visible, return -1.  If only one row is visible, return its index.",
          "return": "int",
          "params": []}
      ,
      { "type": "method",
        "qname": "getItemRendererAt",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.0"]},
            {  "tagName": "copy",
               "values": ["spark.components.Grid#getItemRendererAt()"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "spark.components.gridClasses.IGridItemRenderer",
          "params": [{ "name": "rowIndex", "type": "int"},
        { "name": "columnIndex", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "isCellVisible",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.0"]},
            {  "tagName": "copy",
               "values": ["spark.components.Grid#isCellVisible()"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Boolean",
          "params": [{ "name": "rowIndex", "type": "int"},
        { "name": "columnIndex", "type": "int"}]}
      ]
  }



