{ "type": "class",
  "qname": "mx.controls.ComboBase",
  "baseClassname": "mx.core.UIComponent"
  ,
    "description": "The ComboBase class is the base class for controls that display text in a text field and have a button that causes a drop-down list to appear where the user can choose which text to display. The ComboBase class is not used directly as an MXML tag.   <p>The <code>&lt;mx:ComboBase&gt;</code> tag inherits all the tag attributes of its superclass, and adds the following tag attributes:</p>  <pre>\\n &lt;<i>mx:tagname</i>\\n <b>Properties</b>\\n dataProvider=&quot;null&quot;\\n editable=&quot;false|true&quot;\\n imeMode=&quot;null&quot;\\n restrict=&quot;null&quot;\\n selectedIndex=&quot;-1&quot;\\n selectedItem=&quot;null&quot;\\n text=&quot;&quot;\\n &nbsp;\\n <b>Styles</b>\\n disabledSkin=&quot;<i>Depends on class</i>&quot;\\n downSkin=&quot;<i>Depends on class</i>&quot;\\n editableDisabledSkin=&quot;<i>Depends on class</i>&quot;\\n editableDownSkin=&quot;<i>Depends on class</i>&quot;\\n editableOverSkin=&quot;<i>Depends on class</i>&quot;\\n editableUpSkin=&quot;<i>Depends on class</i>&quot;\\n overSkin=&quot;<i>Depends on class</i>&quot;\\n textInputStyleName=&quot;&quot;\\n upSkin=&quot;<i>Depends on class</i>&quot;\\n \\n /&gt;\\n </pre>",
  "tags": [
  {  "tagName": "see",
         "values": ["mx.controls.Button", "mx.controls.TextInput", "mx.collections.ICollectionView"]},
      {  "tagName": "mxml",
         "values": []},
      {  "tagName": "playerversion",
         "values": ["Flash 9", "AIR 1.1"]},
      {  "tagName": "productversion",
         "values": ["Flex 3"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "mx.controls.ComboBase",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": []}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "uint",
        "qname": "contentBackgroundColor",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "enabled",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {}},
      { "type": "accessor",
        "access": "read-only",
        "return": "Object",
        "qname": "value",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "accessor",
        "access": "read-write",
        "return": "Object",
        "qname": "dataProvider",
        "namespace": "public",
        "bindable": ["collectionChange"],
        "details": [],
        "deprecated": {},
          "description": "The set of items this component displays. This property is of type Object because the derived classes can handle a variety of data types such as Arrays, XML, ICollectionViews, and other classes.  All are converted into an ICollectionView and that ICollectionView is returned if you get the value of this property; you will not get the value you set if it was not an ICollectionView.  <p>Setting this property will adjust the <code>selectedIndex</code> property (and therefore the <code>selectedItem</code> property) if the <code>selectedIndex</code> property has not otherwise been set. If there is no <code>prompt</code> property, the <code>selectedIndex</code> property will be set to 0; otherwise it will remain at -1, the index used for the prompt string. If the <code>selectedIndex</code> property has been set and it is out of range of the new data provider, unexpected behavior is likely to occur.</p>",
        "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": "Boolean",
        "qname": "editable",
        "namespace": "public",
        "bindable": ["editableChanged"],
        "details": [],
        "deprecated": {},
          "description": "A flag that indicates whether the control is editable, which lets the user directly type entries that are not specified in the dataProvider, or not editable, which requires the user select from the items in the dataProvider.  <p>If <code>true</code> keyboard input will be entered in the editable text field; otherwise it will be used as shortcuts to select items in the dataProvider.</p>  This property is ignored by the DateField control.",
        "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": "imeMode",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "default",
               "values": ["null"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "copy",
               "values": ["mx.controls.TextInput#imeMode"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "restrict",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Set of characters that a user can or cannot enter into the text field.",
        "tags": [
        {  "tagName": "default",
               "values": ["null"]},
            {  "tagName": "see",
               "values": ["flash.text.TextField#restrict"]},
            {  "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": "selectedIndex",
        "namespace": "public",
        "bindable": ["change","valueCommit"],
        "details": [],
        "deprecated": {},
          "description": "The index in the data provider of the selected item. If there is a <code>prompt</code> property, the <code>selectedIndex</code> value can be set to -1 to show the prompt. If there is no <code>prompt</code>, property then <code>selectedIndex</code> will be set to 0 once a <code>dataProvider</code> is set.  <p>If the ComboBox control is editable, the <code>selectedIndex</code> property is -1 if the user types any text into the text field.</p>  <p>Unlike many other Flex properties that are invalidating (setting them does not have an immediate effect), the <code>selectedIndex</code> and <code>selectedItem</code> properties are synchronous; setting one immediately affects the other.</p>",
        "tags": [
        {  "tagName": "default",
               "values": ["-1"]},
            {  "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 item in the data provider at the selectedIndex.  <p>If the data is an object or class instance, modifying properties in the object or instance modifies the <code>dataProvider</code> object but may not update the views unless the instance is Bindable or implements IPropertyChangeNotifier or a call to dataProvider.itemUpdated() occurs.</p>  Setting the <code>selectedItem</code> property causes the ComboBox control to select that item (display it in the text field and set the <code>selectedIndex</code>) if it exists in the data provider. If the ComboBox control is editable, the <code>selectedItem</code> property is <code>null</code> if the user types any text into the text field.  <p>Unlike many other Flex properties that are invalidating (setting them does not have an immediate effect), <code>selectedIndex</code> and <code>selectedItem</code> are synchronous; setting one immediately affects the other.</p>",
        "tags": [
        {  "tagName": "default",
               "values": ["null;"]},
            {  "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": "text",
        "namespace": "public",
        "bindable": ["collectionChange","valueCommit"],
        "details": [],
        "deprecated": {},
          "description": "Contents of the text field.  If the control is non-editable setting this property has no effect. If the control is editable, setting this property sets the contents of the text field.",
        "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": "textInput",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The internal TextInput subcomponent that displays the current selection.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "Object",
        "qname": "textInputStyleFilters",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The set of styles to pass from the ComboBase to the text input. These styles are ignored if you set the <code>textInputStyleName</code> style property.",
        "tags": [
        {  "tagName": "see",
               "values": ["mx.styles.StyleProxy"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "addedToParent",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "textInput_changeHandler",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "return": "void",
          "params": [{ "name": "event", "type": "org.apache.royale.events.Event"}]}
      ]
  }
