{ "type": "class",
  "qname": "mx.controls.PopUpMenuButton",
  "baseClassname": "mx.controls.PopUpButton"
  ,
    "description": "The PopUpMenuButton control creates a PopUpButton control with a main sub-button and a secondary sub-button. Clicking on the secondary (right) sub-button drops down a menu that can be popluated through a <code>dataProvider</code> property. Unlike the Menu and MenuBar controls, the PopUpMenuButton control supports only a single-level menu. This means that the menu cannot contain cascading submenus.  <p>The main sub-button of the PopUpMenuButton control can have a text label, an icon, or both on its face. When a user selects an item from the drop-down menu or clicks the main button of the PopUpMenuButton control, the control dispatches an <code>itemClick</code> event. When a user clicks the main button of the control, the control also dispatches a <code>click</code> event. You can customize the look of a PopUpMenuButton control.</p>  <p>The PopUpMenuButton control has the following sizing characteristics:</p> <table class=&quot;innertable&quot;> <tr> <th>Characteristic</th> <th>Description</th> </tr> <tr> <td>Default size</td> <td>Sufficient to accommodate the label and any icon on the main button, and the icon on the pop-up button. The control does not reserve space for the menu.</td> </tr> <tr> <td>Minimum size</td> <td>0 pixels.</td> </tr> <tr> <td>Maximum size</td> <td>10000 by 10000.</td> </tr> </table>   <p>The <code>&lt;mx:PopUpMenuButton&gt;</code> tag inherits all of the tag attributes of its superclass, and adds the following tag attributes:</p>  <pre>\\n &lt;mx:PopUpMenuButton\\n <strong>Properties</strong>\\n dataDescriptor=&quot;<i>instance of DefaultDataDescriptor</i>&quot;\\n dataProvider=&quot;undefined&quot;\\n iconField=&quot;icon&quot;\\n iconFunction=&quot;undefined&quot;\\n labelField=&quot;label&quot;\\n labelFunction=&quot;undefined&quot;\\n showRoot=&quot;false|true&quot;\\n &nbsp;\\n <strong>Event</strong>\\n change=<i>No default</i>\\n /&gt;\\n </pre>",
  "tags": [
  {  "tagName": "includeExample",
         "values": ["examples/PopUpButtonMenuExample.mxml"]},
      {  "tagName": "see",
         "values": ["mx.controls.Menu", "mx.controls.MenuBar"]},
      {  "tagName": "helpid",
         "values": ["3441"]},
      {  "tagName": "tiptext",
         "values": ["Provides ability to pop up a menu and act as a button"]},
      {  "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.PopUpMenuButton",
        "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": "Object",
        "qname": "dataProvider",
        "namespace": "public",
        "bindable": ["collectionChange"],
        "details": [],
        "deprecated": {},
          "description": "DataProvider for popUpMenu.",
        "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": "label",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {}},
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "labelField",
        "namespace": "public",
        "bindable": ["labelFieldChanged"],
        "details": [],
        "deprecated": {},
          "description": "Name of the field in the <code>dataProvider</code> Array that contains the text to show for each menu item. The <code>labelFunction</code> property, if set, overrides this property. If the data provider is an Array of Strings, Flex uses each String value as the label. If the data provider is an E4X XML object, you must set this property explicitly; for example, use &#064;label to specify the <code>label</code> attribute.",
        "tags": [
        {  "tagName": "default",
               "values": [""label""]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "downArrowString",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {}},
      { "type": "method",
        "qname": "addedToParent",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "return": "void",
          "params": []}
      ]
  ,
  "events": [
  { "qname": "itemClick",
        "type": "mx.events.MenuEvent"
      ,
          "description": "Dispatched when a user selects an item from the pop-up menu.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "eventType",
               "values": ["mx.events.MenuEvent.ITEM_CLICK"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]}]
  }
