<?xml version="1.0" encoding="utf-8"?>
<!--

  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

-->


<!--The buttons on the ButtonBar component
	use the ButtonBarLastButtonSkin, ButtonBarFirstButtonSkin and ButtonBarMiddleButtonSkin classes. -->
<s:Skin 
	xmlns:fx="http://ns.adobe.com/mxml/2009" 
	xmlns:s="library://ns.adobe.com/flex/spark"
	alpha.disabled="0.5">
	
	 <fx:Metadata>
        [HostComponent("spark.components.ButtonBar")]
    </fx:Metadata> 
    
    <s:states>
    	<s:State name="normal" />
    	<s:State name="disabled" />
    </s:states>
    
	<fx:Declarations>
		<!--- 
			Specifies the skin class for the first button on the ButtonBar.
			@default spark.skins.default.ButtonBarFirstButtonSkin
		-->
		 <!-- custom theme - set path to theme's skin MXML files: arcade.skins.xxxSkin -->
		<fx:Component id="firstButton">
			<s:ButtonBarButton skinClass="arcade.skins.ButtonBarFirstButtonSkin"/>
		</fx:Component>

		<!--- 
			Specifies the skin class for the middle button(s) on the ButtonBar.
			@default spark.skins.default.ButtonBarMiddleButtonSkin
		-->
		  <!-- custom theme - set path to theme's skin MXML files: arcade.skins.xxxSkin -->
		<fx:Component id="middleButton" >
			<s:ButtonBarButton skinClass="arcade.skins.ButtonBarMiddleButtonSkin" />
		</fx:Component>

		<!--- 
			Specifies the skin class for the last button on the ButtonBar.
			@default spark.skins.default.ButtonBarLastButtonSkin
		-->
		  <!-- custom theme - set path to theme's skin MXML files: arcade.skins.xxxSkin -->
		<fx:Component id="lastButton" >
			<s:ButtonBarButton skinClass="arcade.skins.ButtonBarLastButtonSkin" />
		</fx:Component>

	</fx:Declarations>

	<!--- 
		@copy spark.components.SkinnableDataContainer#dataGroup
	-->
	<s:DataGroup id="dataGroup" width="100%" height="100%">
	    <s:layout>
	    	<s:ButtonBarHorizontalLayout gap="-1"/>
	    </s:layout>
    </s:DataGroup>

</s:Skin>