{ "type": "class",
  "qname": "mx.controls.PopUpButton",
  "baseClassname": "mx.controls.Button"
  ,
    "description": "The PopUpButton control adds a flexible pop-up control interface  to a Button control. It contains a main button and a secondary button, called the pop-up button, which pops up any UIComponent object when a user clicks the pop-up button.  <p>A PopUpButton control can have a text label, an icon, or both on its face. When a user clicks the main part of the PopUpButton control, it dispatches a <code>click</code> event.</p>  <p>One common use for the PopUpButton control is to have the pop-up button open a List control or a Menu control that changes  the function and label of the main button.</p>  <p>The PopUpButton control has the following default characteristics:</p> <table class=&quot;innertable&quot;> <tr> <th>Characteristic</th> <th>Description</th> </tr> <tr> <td>Default size</td> <td>Sufficient width to accommodate the label and icon on the main button and the icon on the pop-up button</td> </tr> <tr> <td>Minimum size</td> <td>0 pixels</td> </tr> <tr> <td>Maximum size</td> <td>Undefined</td> </tr> </table>   <p>The <code>&lt;mx:PopUpButton&gt;</code> tag inherits all of the tag attributes of its superclass and adds the following tag attributes:</p>  <pre>\\n &lt;mx:PopUpButton\\n <strong>Properties</strong>\\n openAlways=&quot;false|true\\n popUp=&quot;No default&quot;\\n \\n <strong>Styles</strong>\\n arrowButtonWidth=&quot;16&quot;\\n closeDuration=&quot;250&quot;\\n closeEasingFunction=&quot;No default&quot;\\n disabledIconColor=&quot;0x999999&quot;\\n iconColor=&quot;0x111111&quot;\\n openDuration=&quot;250&quot;\\n openEasingFunction=&quot;No default&quot;\\n popUpDownSkin=&quot;popUpDownSkin&quot;\\n popUpGap=&quot;0&quot;\\n popUpIcon=&quot;PopUpIcon&quot;\\n popUpOverSkin=&quot;popUpOverSkin&quot;\\n \\n <strong>Events</strong>\\n close=&quot;No default&quot;\\n open=&quot;No default&quot;\\n /&gt;\\n </pre>",
  "tags": [
  {  "tagName": "includeExample",
         "values": ["examples/PopUpButtonExample.mxml"]},
      {  "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.PopUpButton",
        "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": "method",
        "qname": "open",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Opens the UIComponent object specified by the <code>popUp</code> property.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "close",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Closes the UIComponent object opened by the PopUpButton control.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "mx.core.IUIComponent",
        "qname": "popUp",
        "namespace": "public",
        "bindable": ["popUpChanged"],
        "details": [],
        "deprecated": {},
          "description": "Specifies the UIComponent object, or object defined by a subclass of UIComponent, to pop up. For example, you can specify a Menu, TileList, or Tree control.",
        "tags": [
        {  "tagName": "default",
               "values": ["null"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]}]
  }
