{ "type": "class",
  "qname": "mx.controls.listClasses.ListBase",
  "baseClassname": "mx.core.ScrollControlBase"
  ,
    "description": "",
  "tags": [
  {  "tagName": "playerversion",
         "values": ["Flash 10.2", "AIR 2.6"]},
      {  "tagName": "productversion",
         "values": ["Royale 0.0"]},
      {  "tagName": "langversion",
         "values": ["3.0"]},
      {  "tagName": "royalesuppresspublicvarwarning",
         "values": []}  ],
  "members": [
  { "type": "accessor",
        "access": "read-only",
        "return": "Object",
        "qname": "value",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "dragEnabled",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "A flag that indicates whether you can drag items out of this control and drop them on other controls. If <code>true</code>, dragging is enabled for the control. If the <code>dropEnabled</code> property is also <code>true</code>, you can drag items and drop them within this control to reorder the items.",
        "tags": [
        {  "tagName": "default",
               "values": ["false"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "dragMoveEnabled",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "A flag that indicates whether items can be moved instead of just copied from the control as part of a drag-and-drop operation. If <code>true</code>, and the <code>dragEnabled</code> property is <code>true</code>, items can be moved. Often the data provider cannot or should not have items removed from it, so a MOVE operation should not be allowed during drag-and-drop.",
        "tags": [
        {  "tagName": "default",
               "values": ["false"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Object",
        "qname": "dataProvider",
        "namespace": "public",
        "bindable": ["collectionChange"],
        "details": [],
        "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"]},
            {  "tagName": "see",
               "values": ["mx.collections.ICollectionView"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "royaleignorecoercion",
               "values": ["org.apache.royale.core.ISelectionModel"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "dropEnabled",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "A flag that indicates whether dragged items can be dropped onto the control.  <p>If you set this property to <code>true</code>, the control accepts all data formats, and assumes that the dragged data matches the format of the data in the data provider. If you want to explicitly check the data format of the data being dragged, you must handle one or more of the drag events, such as <code>dragOver</code>, and call the DragEvent's <code>preventDefault()</code> method to customize the way the list class accepts dropped data.</p>  <p>When you set <code>dropEnabled</code> to <code>true</code>, Flex automatically calls the <code>showDropFeedback()</code> and <code>hideDropFeedback()</code> methods to display the drop indicator.</p>",
        "tags": [
        {  "tagName": "default",
               "values": ["false"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "labelField",
        "namespace": "public",
        "bindable": ["labelFieldChanged"],
        "details": [],
        "deprecated": {},
          "description": "The name of the field in the data provider items to display as the label. By default the list looks for a property named <code>label</code> on each item and displays it. However, if the data objects do not contain a <code>label</code> property, you can set the <code>labelField</code> property to use a different property in the data object. An example would be &quot;FullName&quot; when viewing a set of people names fetched from a database.",
        "tags": [
        {  "tagName": "default",
               "values": [""label""]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "royaleignorecoercion",
               "values": ["org.apache.royale.core.ISelectionModel"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Function",
        "qname": "labelFunction",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The name of the field in the data provider items to display as the label. By default the list looks for a property named <code>label</code> on each item and displays it. However, if the data objects do not contain a <code>label</code> property, you can set the <code>labelField</code> property to use a different property in the data object. An example would be &quot;FullName&quot; when viewing a set of people names fetched from a database.",
        "tags": [
        {  "tagName": "default",
               "values": [""label""]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "royaleignorecoercion",
               "values": ["org.apache.royale.core.ISelectionModel"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "selectedIndex",
        "namespace": "public",
        "bindable": ["change","valueCommit"],
        "details": [],
        "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"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "royaleignorecoercion",
               "values": ["org.apache.royale.core.ISelectionModel"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Array",
        "qname": "selectedIndices",
        "namespace": "public",
        "bindable": ["change","valueCommit"],
        "details": [],
        "deprecated": {},
          "description": "An array of indices in the data provider of the selected items. 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"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Object",
        "qname": "selectedItem",
        "namespace": "public",
        "bindable": ["change","valueCommit"],
        "details": [],
        "deprecated": {},
          "description": "The selected item in the data provider.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Array",
        "qname": "selectedItems",
        "namespace": "public",
        "bindable": ["change","valueCommit"],
        "details": [],
        "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"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "variableRowHeight",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "A flag that indicates whether the individual rows can have different height. This property is ignored by TileList and HorizontalList. If <code>true</code>, individual rows can have different height values.",
        "tags": [
        {  "tagName": "default",
               "values": ["false"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "allowMultipleSelection",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "A flag that indicates whether you can allow more than one item to be selected at the same time. If <code>true</code>, users can select multiple items. There is no option to disallow discontiguous selection. Standard complex selection options are always in effect (Shift-click, Ctrl-click).",
        "tags": [
        {  "tagName": "default",
               "values": ["false"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "showDataTips",
        "namespace": "public",
        "bindable": ["showDataTipsChanged"],
        "details": [],
        "deprecated": {},
          "description": "A flag that indicates whether dataTips are displayed for text in the rows. If <code>true</code>, dataTips are displayed. DataTips are tooltips designed to show the text that is too long for the row. If you set a dataTipFunction, dataTips are shown regardless of whether the text is too long for the row.",
        "tags": [
        {  "tagName": "default",
               "values": ["false"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "rowCount",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Number of rows to be displayed. If the height of the component has been explicitly set, this property might not have any effect.  <p>For a DataGrid control, the <code>rowCount</code> property does not include the header row. </p>",
        "tags": [
        {  "tagName": "default",
               "values": ["4"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "setRowCount",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Sets the <code>rowCount</code> property without causing invalidation or setting the <code>explicitRowCount</code> property, which permanently locks in the number of rows.",
        "tags": [
        {  "tagName": "param",
               "values": ["v The row count."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "v", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "mx.controls.listClasses.ListBase",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.0"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": []}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "org.apache.royale.core.IFactory",
        "qname": "itemRenderer",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The class or factory used to display each item.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.0"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "org.apache.royale.core.IParent",
        "qname": "strandChildren",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "private",
               "values": []}  ]},
      { "type": "method",
        "qname": "scrollToIndex",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "return": "Boolean",
          "params": [{ "name": "index", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "getLayoutHost",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Returns the ILayoutHost which is its view. From ILayoutParent.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.8"]},
            {  "tagName": "royaleignorecoercion",
               "values": ["org.apache.royale.core.ILayoutHost"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "org.apache.royale.core.ILayoutHost",
          "params": []}
      ,
      { "type": "accessor",
        "access": "read-only",
        "return": "org.apache.royale.core.IBead",
        "qname": "presentationModel",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The DataGrid's presentation model",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9"]},
            {  "tagName": "royaleignorecoercion",
               "values": ["org.apache.royale.core.IListPresentationModel", "org.apache.royale.core.IBead"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "int",
        "qname": "numElements",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "private",
               "values": []}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "int",
        "qname": "$numElements",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Support strandChildren.",
        "tags": [
        {  "tagName": "private",
               "values": []},
            {  "tagName": "suppress",
               "values": ["{undefinedNames}"]}  ]},
      { "type": "field",
        "qname": "explicitColumnCount",
        "return": "int",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The column count requested by explicitly setting the <code>columnCount</code> property.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "explicitColumnWidth",
        "return": "Number",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The column width requested by explicitly setting the <code>columnWidth</code>.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "explicitRowHeight",
        "return": "Number",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The row height requested by explicitly setting <code>rowHeight</code>.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "explicitRowCount",
        "return": "int",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The row count requested by explicitly setting <code>rowCount</code>.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "defaultColumnCount",
        "return": "int",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The default number of columns to display.  This value is used if the calculation for the number of columns results in a value less than 1 when trying to calculate the columnCount based on size or content.",
        "tags": [
        {  "tagName": "default",
               "values": ["4"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "defaultRowCount",
        "return": "int",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The default number of rows to display.  This value is used  if the calculation for the number of columns results in a value less than 1 when trying to calculate the rowCount based on size or content.",
        "tags": [
        {  "tagName": "default",
               "values": ["4"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Number",
        "qname": "rowHeight",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The height of the rows in pixels. Unless the <code>variableRowHeight</code> property is <code>true</code>, all rows are the same height. If not specified, the row height is based on the font size and other properties of the renderer.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Number",
        "qname": "columnWidth",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The width of the control's columns. This property is used by TileList and HorizontalList controls; It has no effect on DataGrid controls, where you set the individual DataGridColumn widths.",
        "tags": [
        {  "tagName": "default",
               "values": ["50"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "measure",
        "namespace": "protected",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "royaleignorecoercion",
               "values": ["org.apache.royale.core.ILayoutChild"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "itemToUID",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Determines the UID for a data provider item.  All items in a data provider must either have a unique ID (UID) or one will be generated and associated with it.  This means that you cannot have an object or scalar value appear twice in a data provider.  <p>For example, the following data provider is not supported because the value &quot;foo&quot; appears twice and the UID for a string is the string itself:</p>  <pre>var sampleDP:Array = [&quot;foo&quot;, &quot;bar&quot;, &quot;foo&quot;]</pre>  <p>Simple dynamic objects can appear twice if they are two separate instances. The following is supported because each of the instances will be given a different UID because they are different objects:</p>  <pre>var sampleDP:Array = [{label: &quot;foo&quot;}, {label: &quot;foo&quot;}]</pre>  <p>Note that the following is not supported because the same instance appears twice.</p>  <pre>\\n var foo:Object = {label: &quot;foo&quot;};\\n sampleDP:Array = [foo, foo];</pre>",
        "tags": [
        {  "tagName": "param",
               "values": ["data The data provider item."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "return",
               "values": ["The UID as a string."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "String",
          "params": [{ "name": "data", "type": "Object"}]}
      ,
      { "type": "method",
        "qname": "itemToLabel",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Returns the string the renderer would display for the given data object based on the labelField and labelFunction properties. If the method cannot convert the parameter to a string, it returns a single space.",
        "tags": [
        {  "tagName": "param",
               "values": ["data Object to be rendered."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "return",
               "values": ["The string to be displayed based on the data."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "String",
          "params": [{ "name": "data", "type": "Object"}]}
      ]
  ,
  "events": [
  { "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": ["Flex 3"]},
            {  "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": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]}]
  }
