{ "type": "class",
  "qname": "mx.controls.listClasses.DataGridListBase",
  "baseClassname": "mx.controls.listClasses.ListBase"
  ,
    "description": "The AdvancedListBase class is the base class for controls, such as the AdvancedDataGrid and OLAPDataGrid controls, that represent lists of items that can have one or more selected items and can scroll through the items.  Items are supplied using the <code>dataProvider</code> property and displayed via item renderers.  <p>In a model/view architecture, the AdvancedListBase subclass represent the view, and the data provider represents the model.</p>   <p>The AdvancedListBase class inherits all of the tag properties of its superclasses, and adds the following tag properties:</p>  <pre>\\n &lt;mx:<i>tagname</i>\\n <b>Properties</b>\\n allowDragSelection=&quot;false|true&quot;\\n allowMultipleSelection=&quot;false|true&quot;\\n columnCount=&quot;4&quot;\\n columnWidth=&quot;NaN&quot;\\n dataProvider=&quot;null&quot;\\n dataTipField=&quot;label&quot;\\n dataTipFunction=&quot;null&quot;\\n dragEnabled=&quot;false|true&quot;\\n dragMoveEnabled=&quot;false|true&quot;\\n dropEnabled=&quot;false|true&quot;\\n iconField=&quot;null&quot;\\n iconFunction=&quot;null&quot;\\n itemRenderer=&quot;null&quot;\\n labelField=&quot;label&quot;\\n labelFunction=&quot;null&quot;\\n lockedColumnCount=0\\n lockedRowCount=0\\n menuSelectionMode=&quot;false|true&quot;\\n rowCount=&quot;-1&quot;\\n rowHeight=&quot;NaN&quot;\\n selectable=&quot;true|false&quot;\\n selectedIndex=&quot;-1&quot;\\n selectedIndices=&quot;null&quot;\\n selectedItem=&quot;null&quot;\\n selectedItems=&quot;null&quot;\\n showDataTips=&quot;false|true&quot;\\n variableRowHeight=&quot;false|true&quot;\\n wordWrap=&quot;false|true&quot;\\n \\n <b>Styles</b>\\n alternatingItemColors=&quot;undefined&quot;\\n dataChangeEffect=&quot;undefined&quot;\\n dropIndicatorSkin=&quot;ListDropIndicator&quot;\\n focusAlpha=&quot;0.5&quot;\\n focusRoundedCorners=&quot;tl tr bl br&quot;\\n paddingBottom=&quot;2&quot;\\n paddingLeft=&quot;2&quot;\\n paddingRight=&quot;0&quot;\\n paddingTop=&quot;2&quot;\\n rollOverColor=&quot;0xEEFEE6&quot;\\n selectionColor=&quot;0x7FCEFF&quot;\\n selectionDisabledColor=&quot;0xDDDDDD&quot;\\n selectionDuration=&quot;250&quot;\\n selectionEasingFunction=&quot;undefined&quot;\\n textRollOverColor=&quot;0x2B333C&quot;\\n textSelectedColor=&quot;0x2B333C&quot;\\n useRollOver=&quot;true|false&quot;\\n verticalAlign=&quot;top|middle|bottom&quot;\\n \\n <b>Events</b>\\n change=&quot;<i>No default</i>&quot;\\n dataChange=&quot;<i>No default</i>&quot;\\n itemClick=&quot;<i>No default</i>&quot;\\n itemDoubleClick=&quot;<i>No default</i>&quot;\\n itemRollOut=&quot;<i>No default</i>&quot;\\n itemRollOver=&quot;<i>No default</i>&quot;\\n itemClick=&quot;<i>No default</i>&quot;\\n /&gt;\\n </pre>",
  "tags": [
  {  "tagName": "see",
         "values": ["mx.collections.ICollectionView", "mx.controls.AdvancedDataGrid", "mx.controls.OLAPDataGrid"]},
      {  "tagName": "mxml",
         "values": []},
      {  "tagName": "playerversion",
         "values": ["Flash 9", "AIR 1.1"]},
      {  "tagName": "productversion",
         "values": ["Royale 0.9.4"]},
      {  "tagName": "langversion",
         "values": ["3.0"]},
      {  "tagName": "royalesuppresspublicvarwarning",
         "values": []}  ],
  "members": [
  { "type": "method",
        "qname": "mx.controls.listClasses.DataGridListBase",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor.",
        "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": "dataProvider",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "Set of data to be viewed. This property lets you use most types of objects as data providers. If you set the <code>dataProvider</code> property to an Array, it will be converted to an ArrayCollection. If you set the property to an XML object, it will be converted into an XMLListCollection with only one item. If you set the property to an XMLList, it will be converted to an XMLListCollection. If you set the property to an object that implements the IList or ICollectionView interface, the object will be used directly.  <p>As a consequence of the conversions, when you get the <code>dataProvider</code> property, it will always be an ICollectionView, and therefore not necessarily be the type of object you used to  you set the property. This behavior is important to understand if you want to modify the data in the data provider: changes to the original data may not be detected, but changes to the ICollectionView object that you get back from the <code>dataProvider</code> property will be detected.</p>",
        "tags": [
        {  "tagName": "default",
               "values": ["null", "null", "null", "null"]},
            {  "tagName": "see",
               "values": ["mx.collections.ICollectionView", "mx.collections.ICollectionView", "mx.collections.ICollectionView", "mx.collections.ICollectionView"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1", "Flash 9", "AIR 1.1", "Flash 9", "AIR 1.1", "Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3", "Flex 3", "Flex 3", "Flex 3"]},
            {  "tagName": "royaleignorecoercion",
               "values": ["org.apache.royale.core.ISelectionModel", "org.apache.royale.core.ISelectionModel", "org.apache.royale.core.ISelectionModel", "org.apache.royale.core.ISelectionModel"]},
            {  "tagName": "langversion",
               "values": ["3.0", "3.0", "3.0", "3.0"]}  ]},
      { "type": "method",
        "qname": "addedToParent",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "return": "void",
          "params": []}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "org.apache.royale.core.IDataProviderNotifier",
        "qname": "dataNotifier",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The IDataProviderNotifier that will watch for data provider changes.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.6"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "collection",
        "return": "mx.collections.ICollectionView",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "An ICollectionView that represents the data provider. When you set the <code>dataProvider</code> property, Flex wraps the data provider as necessary to support the ICollectionView interface and sets this property to the result. The AdvancedListBase class then uses this property to access data in the provider. When you  get the <code>dataProvider</code> property, Flex returns this value.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "iterator",
        "return": "mx.collections.IViewCursor",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The main IViewCursor instance used to fetch items from the data provider and pass the items to the renderers. At the end of any sequence of code, it must always be positioned at the topmost visible item being displayed.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "iteratorValid",
        "return": "Boolean",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "A flag that indicates that a page fault as occurred and that the iterator's position is not valid (not positioned at the topmost item being displayed). If the component gets a page fault (an ItemPending error), it sets <code>iteratorValid</code> to <code>false</code>.  Code that normally handles the rendering of items checks this flag and does not run until the page of data comes in from the server.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "highlightUID",
        "return": "String",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The UID of the item that is current rolled over or under the caret.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "highlightItemRenderer",
        "return": "mx.controls.listClasses.IListItemRenderer",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The renderer that is currently rolled over or under the caret.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "caretUID",
        "return": "String",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The UID of the item under the caret.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "selectedData",
        "return": "Object",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "A hash table of ListBaseSelectionData objects that track which items are currently selected.  The table is indexed by the UID of the items.",
        "tags": [
        {  "tagName": "see",
               "values": ["mx.controls.listClasses.ListBaseSelectionData"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "selectionIndicators",
        "return": "Object",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "A hash table of selection indicators.  This table allows the component to quickly find and remove the indicators when the set of selected items is cleared.  The table is indexed by the item's UID.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "caretBookmark",
        "return": "mx.collections.CursorBookmark",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "A bookmark to the item under the caret.  A bookmark allows the component to quickly seek to a position in the collection of items.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "anchorBookmark",
        "return": "mx.collections.CursorBookmark",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "A bookmark to the item that is the anchor.  A bookmark allows the component to quickly seek to a position in the collection of items. This property is used when selecting a set of items between the anchor and the caret or highlighted item, and when finding the selected item after a Sort or Filter is applied.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "showCaret",
        "return": "Boolean",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "A flag that indicates whether to show caret. This property is usually set to <code>false</code> when mouse activity is detected and set back to <code>true</code> when the keyboard is used for selection.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "keySelectionPending",
        "return": "Boolean",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "A flag that indicates if keyboard selection was interrupted by a page fault.  The component responds by suspending the rendering of items until the page of data arrives. The <code>finishKeySelection()</code> method will be called when the paged data arrives",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "anchorIndex",
        "return": "int",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The offset of the item in the data provider that is the selection anchor point.",
        "tags": [
        {  "tagName": "see",
               "values": ["mx.controls.listClasses.ListBase#caretItemRenderer"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "caretIndex",
        "return": "int",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The offset of the item in the data provider that is at the selection caret point.",
        "tags": [
        {  "tagName": "see",
               "values": ["mx.controls.listClasses.ListBase#caretItemRenderer"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "bSelectOnRelease",
        "return": "Boolean",
        "namespace": "mx_internal",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "field",
        "qname": "bSelectionChanged",
        "return": "Boolean",
        "namespace": "mx_internal",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "field",
        "qname": "bSelectedIndexChanged",
        "return": "Boolean",
        "namespace": "mx_internal",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "field",
        "qname": "collectionIterator",
        "return": "mx.collections.IViewCursor",
        "namespace": "mx_internal",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "A separate IViewCursor used to find indices of items and other things.  The collectionIterator can be at any place within the set of items.",
        "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-write",
        "return": "String",
        "qname": "headerStyleName",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "private",
               "values": []}  ]},
      { "type": "field",
        "qname": "allowDragSelection",
        "return": "Boolean",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "A flag that indicates whether drag-selection is enabled. Drag-selection is the ability to select an item by dragging into it as opposed to normal selection where you can't have the mouse button down when you mouse over the item you want to select.  This feature is used in ComboBox dropdowns to support pressing the mouse button when the mouse is over the dropdown button, and then dragging the mouse into the dropdown to select an item.",
        "tags": [
        {  "tagName": "default",
               "values": ["false"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]},
            {  "tagName": "royalesuppresspublicvarwarning",
               "values": [""]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Function",
        "qname": "styleFunction",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "columnCount",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The number of columns to be displayed in a TileList control or items in a HorizontalList control. For the data grids, specifies the number of visible columns.  <p><b>Note</b>: Setting this property has no effect on a DataGrid control, which bases the number of columns on the control width and the individual column widths.</p>",
        "tags": [
        {  "tagName": "default",
               "values": ["4"]},
            {  "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": "Function",
        "qname": "dataTipFunction",
        "namespace": "public",
        "bindable": ["dataTipFunctionChanged"],
        "details": [],
        "deprecated": {},
          "description": "User-supplied function to run on each item to determine its dataTip. By default, the list looks for a property named <code>label</code> on each data provider item and displays it. However, some items do not have a <code>label</code> property nor do they have another property that can be used for displaying in the rows. An example is a data set that has lastName and firstName fields, but you want to display full names. You can supply a <code>dataTipFunction</code> that finds the appropriate fields and return a displayable string. The <code>dataTipFunction</code> is also good for handling formatting and localization.  <p>The dataTipFunction takes a single argument which is the item in the data provider and returns a String:</p>  <blockquote> <code>myDataTipFunction(item:Object):String</code> </blockquote>",
        "tags": [
        {  "tagName": "default",
               "values": ["null"]},
            {  "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": "String",
        "qname": "verticalAlign",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "lockedRowCount",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The index of the first row in the control that scrolls, where the first row is at an index of 0. Rows above this one remain fixed in view.",
        "tags": [
        {  "tagName": "default",
               "values": ["0"]},
            {  "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": "Boolean",
        "qname": "selectable",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "A flag that indicates whether the list shows selected items as selected. If <code>true</code>, the control supports selection.",
        "tags": [
        {  "tagName": "default",
               "values": ["true"]},
            {  "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": "selectedIndex",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "The index in the data provider of the selected item.  <p>The default value is -1 (no selected item).</p>",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1", "Flash 9", "AIR 1.1", "Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3", "Flex 3", "Flex 3"]},
            {  "tagName": "royaleignorecoercion",
               "values": ["org.apache.royale.core.ISelectionModel", "org.apache.royale.core.ISelectionModel", "org.apache.royale.core.ISelectionModel"]},
            {  "tagName": "langversion",
               "values": ["3.0", "3.0", "3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "wordWrap",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "A flag that indicates whether text in the row should be word wrapped. If <code>true</code>, enables word wrapping for text in the rows. Only takes effect if <code>variableRowHeight</code> is also <code>true</code>",
        "tags": [
        {  "tagName": "default",
               "values": ["false"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "itemRendererToIndices",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Returns a Point instance containing the column index and row index of an item renderer. Since item renderers are only created for items within the set of viewable rows you cannot use this method to get the indices for items that are not visible. Also note that item renderers are recycled so the indices you get for an item may change if that item renderer is reused to display a different item. Usually, this method is called during mouse and keyboard handling when the set of data displayed by the item renderers hasn't yet changed.   and the <code>y</code> property contains the row index.",
        "tags": [
        {  "tagName": "param",
               "values": ["item An item renderer."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "return",
               "values": ["A Point instance. The <code>x</code> property contains the column index"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "org.apache.royale.geom.Point",
          "params": [{ "name": "item", "type": "mx.controls.listClasses.IListItemRenderer"}]}
      ,
      { "type": "method",
        "qname": "mouseEventToItemRenderer",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Determines which item renderer is under the mouse.  Item renderers can be made of multiple mouse targets, or have visible areas that are not mouse targets.  This method checks both targets and position to determine which item renderer the mouse is over from the user's perspective, which can differ from the information provided by the mouse event.  the mouse and the object it is over.  <code>null</code> if none.",
        "tags": [
        {  "tagName": "param",
               "values": ["event A MouseEvent that contains the position of"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "return",
               "values": ["The item renderer the mouse is over or"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "org.apache.royale.core.IItemRenderer",
          "params": [{ "name": "event", "type": "org.apache.royale.events.MouseEvent"}]}
      ,
      { "type": "method",
        "qname": "drawItem",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Draws the renderer with indicators that it is highlighted, selected, or the caret.  its selected state. its highlighted state. it is the selection caret. via an effect.",
        "tags": [
        {  "tagName": "param",
               "values": ["item The renderer.", "selected <code>true</code> if the renderer should be drawn in", "highlighted <code>true</code> if the renderer should be drawn in", "caret <code>true</code> if the renderer should be drawn as if", "transition <code>true</code> if the selection state should fade in"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "index", "type": "int"},
        { "name": "selected", "type": "Boolean"},
        { "name": "highlighted", "type": "Boolean"},
        { "name": "caret", "type": "Boolean"},
        { "name": "transition", "type": "Boolean"}]}
      ,
      { "type": "method",
        "qname": "clearIndicators",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Removes all selection and highlight and caret indicators.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "invalidateList",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Refresh all rows on next update.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "updateList",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Refreshes all rows now.  Calling this method can require substantial processing, because can be expensive at it completely redraws all renderers in the list and won't return until complete.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "isItemSelected",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Determines if the item renderer for a data provider item is selected.",
        "tags": [
        {  "tagName": "param",
               "values": ["data The data provider item."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "return",
               "values": ["<code>true</code> if the item is highlighted."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Boolean",
          "params": [{ "name": "data", "type": "Object"}]}
      ,
      { "type": "method",
        "qname": "isItemSelectable",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Determines if the item renderer for a data provider item is selectable.",
        "tags": [
        {  "tagName": "param",
               "values": ["data The data provider item"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "return",
               "values": ["<code>true</code> if the item is selectable"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Boolean",
          "params": [{ "name": "data", "type": "Object"}]}
      ,
      { "type": "method",
        "qname": "selectItem",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Updates the set of selected items given that the item renderer provided was clicked by the mouse and the keyboard modifiers are in the given state.  This method also updates the display of the item renderers based on their updated selected state.  the mouse was clicked. the mouse was clicked. state should be faded in using an effect.  Clicking on an already-selected item doesn't always change the set of selected items.",
        "tags": [
        {  "tagName": "param",
               "values": ["item The item renderer that was clicked.", "shiftKey <code>true</code> if the shift key was held down when", "ctrlKey <code>true</code> if the ctrl key was held down when", "transition <code>true</code> if the graphics for the selected"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "return",
               "values": ["<code>true</code> if the set of selected items changed."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Boolean",
          "params": [{ "name": "data", "type": "Object"},
        { "name": "index", "type": "int"},
        { "name": "shiftKey", "type": "Boolean"},
        { "name": "ctrlKey", "type": "Boolean"},
        { "name": "transition", "type": "Boolean"}]}
      ,
      { "type": "method",
        "qname": "clearSelected",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Clears the set of selected items and removes all graphics depicting the selected state of those items.  have a fadeout effect.",
        "tags": [
        {  "tagName": "param",
               "values": ["transition <code>true</code> if the graphics should"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "transition", "type": "Boolean"}]}
      ,
      { "type": "method",
        "qname": "moveSelectionHorizontally",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Moves the selection in a horizontal direction in response to the user selecting items using the left-arrow or right-arrow keys and modifiers such as  the Shift and Ctrl keys.  This method might change the <code>horizontalScrollPosition</code>, <code>verticalScrollPosition</code>, and <code>caretIndex</code> properties, and call the <code>finishKeySelection()</code>method to update the selection.  <p>Not implemented in AdvancedListBase because the default list is single column and therefore doesn't scroll horizontally.</p>  the keyboard key was pressed. the keyboard key was pressed",
        "tags": [
        {  "tagName": "param",
               "values": ["code The key that was pressed (e.g. Keyboard.LEFT)", "shiftKey <code>true</code> if the shift key was held down when", "ctrlKey <code>true</code> if the ctrl key was held down when"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "code", "type": "uint"},
        { "name": "shiftKey", "type": "Boolean"},
        { "name": "ctrlKey", "type": "Boolean"}]}
      ,
      { "type": "method",
        "qname": "moveSelectionVertically",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Moves the selection in a vertical direction in response to the user selecting items using the up-arrow or down-arrow Keys and modifiers such as the Shift and Ctrl keys.  This method might change the <code>horizontalScrollPosition</code>, <code>verticalScrollPosition</code>, and <code>caretIndex</code> properties, and call the <code>finishKeySelection()</code>method to update the selection  the keyboard key was pressed. the keyboard key was pressed",
        "tags": [
        {  "tagName": "param",
               "values": ["code The key that was pressed (e.g. Keyboard.DOWN)", "shiftKey <code>true</code> if the shift key was held down when", "ctrlKey <code>true</code> if the ctrl key was held down when"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "code", "type": "uint"},
        { "name": "shiftKey", "type": "Boolean"},
        { "name": "ctrlKey", "type": "Boolean"}]}
      ,
      { "type": "method",
        "qname": "finishKeySelection",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Sets selected items based on the <code>caretIndex</code> and <code>anchorIndex</code> properties. Called by the keyboard selection handlers and by the <code>updateDisplayList()</code> method in case the keyboard selection handler got a page fault while scrolling to get more items.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "Array",
        "qname": "selectedIndices",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "private",
               "values": []}  ]},
      { "type": "method",
        "qname": "copySelectedItems",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Makes a copy of the selected items in the order they were selected.  be filled with the actual items or <code>false</code> if the array should be filled with the indexes of the items.",
        "tags": [
        {  "tagName": "param",
               "values": ["useDataField <code>true</code> if the array should"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "return",
               "values": ["Array of selected items."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Array",
          "params": [{ "name": "useDataField", "type": "Boolean"}]}
      ,
      { "type": "method",
        "qname": "scrollToIndex",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "Ensures that the data provider item at the given index is visible. If the item is visible, the <code>verticalScrollPosition</code> property is left unchanged even if the item is not the first visible item. If the item is not currently visible, the <code>verticalScrollPosition</code> property is changed make the item the first visible item, unless there aren't enough rows to do so because the <code>verticalScrollPosition</code> value is limited by the <code>maxVerticalScrollPosition</code> property.",
        "tags": [
        {  "tagName": "param",
               "values": ["index The index of the item in the data provider."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "return",
               "values": ["<code>true</code> if <code>verticalScrollPosition</code> changed."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Boolean",
          "params": [{ "name": "index", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "collectionChangeHandler",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Handles CollectionEvents dispatched from the data provider as the data changes. Updates the renderers, selected indices and scrollbars as needed.",
        "tags": [
        {  "tagName": "param",
               "values": ["event The CollectionEvent."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "event", "type": "org.apache.royale.events.Event"}]}
      ,
      { "type": "method",
        "qname": "mouseDownHandler",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Handles <code>MouseEvent.MOUSE_DOWN</code> events from any mouse targets contained in the list including the renderers.  This method finds the renderer that was pressed and prepares to receive a <code>MouseEvent.MOUSE_UP</code> event.",
        "tags": [
        {  "tagName": "param",
               "values": ["event The MouseEvent object."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "event", "type": "org.apache.royale.events.MouseEvent"}]}
      ,
      { "type": "method",
        "qname": "mouseUpHandler",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Handles <code>MouseEvent.MOUSE_DOWN</code> events from any mouse targets contained in the list including the renderers.  This method finds the renderer that was pressed and prepares to receive a <code>MouseEvent.MOUSE_UP</code> event.",
        "tags": [
        {  "tagName": "param",
               "values": ["event The MouseEvent object."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "event", "type": "org.apache.royale.events.MouseEvent"}]}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "Array",
        "qname": "selectedItems",
        "namespace": "public",
        "bindable": ["change","valueCommit"],
        "details": ["override"],
        "deprecated": {},
          "description": "An Array of references to the selected items in the data provider.  The items are in the reverse order that the user selected the items.",
        "tags": [
        {  "tagName": "default",
               "values": ["[ ]"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]}]
  ,
  "events": [
  { "qname": "change",
        "type": "mx.events.ListEvent"
      ,
          "description": "Dispatched when the <code>selectedIndex</code> or <code>selectedItem</code> property changes as a result of user interaction.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "eventType",
               "values": ["mx.events.ListEvent.CHANGE"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "qname": "dataChange",
        "type": "mx.events.FlexEvent"
      ,
          "description": "Dispatched when the <code>data</code> property changes.  <p>When you use a component as an item renderer, the <code>data</code> property contains the data to display. You can listen for this event and update the component when the <code>data</code> property changes.</p>",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "eventType",
               "values": ["mx.events.FlexEvent.DATA_CHANGE"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "qname": "itemClick",
        "type": "mx.events.ListEvent"
      ,
          "description": "Dispatched when the user clicks on an item in the control.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "eventType",
               "values": ["mx.events.ListEvent.ITEM_CLICK"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "qname": "itemDoubleClick",
        "type": "mx.events.ListEvent"
      ,
          "description": "Dispatched when the user double-clicks on an item in the control.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "eventType",
               "values": ["mx.events.ListEvent.ITEM_DOUBLE_CLICK"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]}]
  }
