{ "type": "class",
  "qname": "spark.components.ButtonBar",
  "baseClassname": "spark.components.supportClasses.ButtonBarBase"
  ,
    "description": "The ButtonBar control defines a horizontal group of logically related buttons with a common look and navigation.  <p>The typical use for a button bar is for grouping a set of related buttons together, which gives them a common look and navigation, and handling the logic for the <code>change</code> event in a single place. </p>  <p>The ButtonBar control creates Button controls based on the value of its <code>dataProvider</code> property. Use methods such as <code>addItem()</code> and <code>removeItem()</code> to manipulate the <code>dataProvider</code> property to add and remove data items. The ButtonBar control automatically adds or removes the necessary children based on changes to the <code>dataProvider</code> property.</p>  <p>To use this component in a list-based component, such as a List or DataGrid, create an item renderer. For information about creating an item renderer, see <a href=&quot;http://help.adobe.com/en_US/flex/using/WS4bebcd66a74275c3-fc6548e124e49b51c4-8000.html&quot;> Custom Spark item renderers</a>. </p>  <p>For non-mobile projects, you can use the ButtonBar control to set the active child of a ViewStack container, as the following example shows:</p>  <p><b>Note: </b>The Spark list-based controls (the Spark ListBase class and its subclasses such as ButtonBar, ComboBox, DropDownList, List, and TabBar) do not support the BasicLayout class as the value of the <code>layout</code> property. Do not use BasicLayout with the Spark list-based controls.</p>  <pre>\\n &lt;s:ButtonBar dataProvider=&quot;{myViewStack}&quot; requireSelection=&quot;true&quot; /&gt;\\n \\n &lt;mx:ViewStack id=&quot;myViewStack&quot;\\n borderStyle=&quot;solid&quot;&gt;\\n \\n &lt;s:NavigatorContent id=&quot;search&quot; label=&quot;Search&quot;&gt;\\n &lt;s:Label text=&quot;Search Screen&quot;/&gt;\\n &lt;/s:NavigatorContent&gt;\\n \\n &lt;s:NavigatorContent id=&quot;custInfo&quot; label=&quot;Customer Info&quot;&gt;\\n &lt;s:Label text=&quot;Customer Info&quot;/&gt;\\n &lt;/s:NavigatorContent&gt;\\n \\n &lt;s:NavigatorContent id=&quot;accountInfo&quot; label=&quot;Account Info&quot;&gt;\\n &lt;s:Label text=&quot;Account Info&quot;/&gt;\\n &lt;/s:NavigatorContent&gt;\\n &lt;/mx:ViewStack&gt; </pre>  <p>The ButtonBar 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>Large enough to display all buttons</td></tr> <tr><td>Minimum size</td><td>0 pixels</td></tr> <tr><td>Maximum size</td><td>No limit</td></tr> <tr><td>Default skin class</td><td>spark.skins.spark.ButtonBarSkin</td></tr> </table>  attributes of its superclass and adds the following tag attributes:</p>  <pre>\\n &lt;s:ButtonBar\\n \\n /&gt;\\n </pre>",
  "tags": [
  {  "tagName": "includeExample",
         "values": ["examples/ButtonBarExample.mxml"]},
      {  "tagName": "see",
         "values": ["mx.containers.ViewStack", "spark.components.ButtonBarButton", "spark.skins.spark.ButtonBarSkin"]},
      {  "tagName": "mxml",
         "values": ["<p>The <code>&lt;s:ButtonBar&gt;</code> tag inherits all of the tag"]},
      {  "tagName": "playerversion",
         "values": ["Flash 10", "AIR 1.5"]},
      {  "tagName": "productversion",
         "values": ["Flex 4"]},
      {  "tagName": "langversion",
         "values": ["3.0"]},
      {  "tagName": "royalesuppresspublicvarwarning",
         "values": []}  ],
  "members": [
  { "type": "method",
        "qname": "spark.components.ButtonBar",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": []}
      ,
      { "type": "field",
        "qname": "firstButton",
        "return": "mx.core.IFactory",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "A skin part that defines the first button.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "lastButton",
        "return": "mx.core.IFactory",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "A skin part that defines the last button.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "middleButton",
        "return": "mx.core.IFactory",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "A skin part that defines the middle button(s).",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]}]
  }
