Added more spark examples

Project: http://git-wip-us.apache.org/repos/asf/flex-utilities/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-utilities/commit/d4e368dc
Tree: http://git-wip-us.apache.org/repos/asf/flex-utilities/tree/d4e368dc
Diff: http://git-wip-us.apache.org/repos/asf/flex-utilities/diff/d4e368dc

Branch: refs/heads/master
Commit: d4e368dce6dca399b938360a62cf8b0519da27ec
Parents: e39606c
Author: Justin Mclean <[email protected]>
Authored: Sun Aug 10 21:19:39 2014 +1000
Committer: Justin Mclean <[email protected]>
Committed: Sun Aug 10 21:19:39 2014 +1000

----------------------------------------------------------------------
 .../src/spark/charts/AreaChartExample.mxml      |   3 +-
 .../src/spark/charts/BarChartExample.mxml       |   3 +-
 .../src/spark/charts/BubbleChartExample.mxml    |   3 +-
 .../spark/charts/CandleStickChartExample.mxml   |   3 +-
 .../src/spark/charts/ColumnChartExample.mxml    |   3 +-
 .../src/spark/charts/HLOCChartExample.mxml      |   3 +-
 .../src/spark/charts/LineChartExample.mxml      |   3 +-
 .../src/spark/charts/PieChartExample.mxml       |   3 +-
 .../src/spark/charts/PlotChartExample.mxml      |   3 +-
 .../spark/charts/SeriesInterpolateExample.mxml  |   3 +-
 .../src/spark/charts/SeriesSlideExample.mxml    |   3 +-
 .../src/spark/charts/SeriesZoomExample.mxml     |   3 +-
 .../src/spark/containers/BorderExample.mxml     |  71 +++
 .../TourDeFlex3/src/spark/containers/Contact.as |  34 ++
 .../src/spark/containers/GroupExample.mxml      |  75 +++
 .../src/spark/containers/PanelExample.mxml      |  79 +++
 .../SampleVerticalHorizontalAlign.mxml          |   2 +-
 .../SkinableDataContainerExample.mxml           |   2 +-
 .../spark/containers/TabNavigator1Example.mxml  | 116 +++++
 .../spark/containers/TabNavigator2Example.mxml  | 110 ++++
 .../src/spark/containers/TileGroupExample.mxml  |   2 +-
 .../src/spark/containers/personIcon.png         | Bin 0 -> 3859 bytes
 .../skins/CustomTabBarButtonSkin.mxml           | 264 ++++++++++
 .../containers/skins/CustomTabBarSkin.mxml      |  97 ++++
 .../src/spark/controls/ButtonBarExample.mxml    | 106 ++++
 .../src/spark/controls/ButtonExample.mxml       |  65 +++
 .../src/spark/controls/CheckboxExample.mxml     |  78 +++
 .../src/spark/controls/CustomDataGridSkin.mxml  | 375 ++++++++++++++
 .../controls/DataGridCustomRendererExample.mxml |  62 +++
 .../DataGridCustomRendererPrepareExample.mxml   |  68 +++
 .../controls/DataGridCustomSkinExample.mxml     |  39 ++
 .../src/spark/controls/DataGridExample2.mxml    |  47 ++
 .../controls/DataGridSimpleColumnsExample.mxml  |  49 ++
 .../controls/DataGridSimpleNoWrapExample.mxml   |  37 ++
 .../spark/controls/DataGridSizingExample.mxml   |  47 ++
 .../src/spark/controls/DropdownExample.mxml     |  90 ++++
 .../TourDeFlex3/src/spark/controls/Item.as      |  62 +++
 .../spark/controls/ListDataPagingExample.mxml   |  80 +++
 .../src/spark/controls/ListExample.mxml         | 102 ++++
 .../src/spark/controls/MyListItemRenderer.mxml  |  39 ++
 .../spark/controls/NumericStepperExample.mxml   |  92 ++++
 .../src/spark/controls/OSMFExample.mxml         |  27 +
 .../TourDeFlex3/src/spark/controls/PagedList.as | 510 +++++++++++++++++++
 .../src/spark/controls/PopUpAnchor1Example.mxml |  81 +++
 .../src/spark/controls/PopUpAnchor2Example.mxml |  80 +++
 .../src/spark/controls/RadioButtonExample.mxml  |  95 ++++
 .../spark/controls/SampleHelpFormExample.mxml   |  44 ++
 .../controls/SampleSequenceFormExample.mxml     |  37 ++
 .../spark/controls/SampleSimpleFormExample.mxml |  38 ++
 .../controls/SampleStackedFormExample.mxml      |  38 ++
 .../src/spark/controls/ScrollBarExample.mxml    |  90 ++++
 .../src/spark/controls/Scroller1Example.mxml    |  75 +++
 .../src/spark/controls/Scroller2Example.mxml    |  83 +++
 .../src/spark/controls/SliderExample.mxml       |  67 +++
 .../src/spark/controls/SpinnerExample.mxml      |  50 ++
 .../spark/controls/ToggleButton2Example.mxml    | 146 ++++++
 .../spark/controls/ToggleButtonBarExample.mxml  |   7 +-
 .../src/spark/controls/ToggleButtonExample.mxml | 111 ++++
 .../src/spark/controls/VideoPlayerExample.mxml  |  68 +++
 .../controls/assets/control_pause_blue.png      | Bin 0 -> 721 bytes
 .../spark/controls/assets/control_play_blue.png | Bin 0 -> 717 bytes
 .../spark/controls/assets/control_stop_blue.png | Bin 0 -> 695 bytes
 .../src/spark/controls/assets/icon_close.png    | Bin 0 -> 59707 bytes
 .../src/spark/controls/iconclose.gif            | Bin 0 -> 340 bytes
 .../TourDeFlex3/src/spark/controls/iconinfo.gif | Bin 0 -> 227 bytes
 .../spark/controls/skins/CloseButtonSkin.mxml   | 184 +++++++
 .../src/spark/controls/skins/MyPanelSkin.mxml   |  99 ++++
 .../src/spark/css/CSSIDSelectorExample.mxml     |  68 +++
 .../spark/effects/AnimatePropertiesExample.mxml |  88 ++++
 .../spark/effects/AnimateTransformExample.mxml  | 116 +++++
 .../src/spark/effects/CrossFadeExample.mxml     |  68 +++
 .../src/spark/effects/FadeExample.mxml          |  60 +++
 .../src/spark/effects/Rotate3DExample.mxml      | 114 +++++
 .../src/spark/effects/Scale3DExample.mxml       | 118 +++++
 .../src/spark/effects/assets/ApacheFlexIcon.png | Bin 0 -> 7983 bytes
 .../src/spark/effects/assets/images/2.jpg       | Bin 0 -> 549 bytes
 .../src/spark/effects/assets/images/3.jpg       | Bin 0 -> 418 bytes
 .../src/spark/effects/assets/images/4.jpg       | Bin 0 -> 911 bytes
 .../src/spark/effects/assets/images/5.jpg       | Bin 0 -> 1617 bytes
 .../src/spark/effects/assets/images/6.jpg       | Bin 0 -> 1061 bytes
 .../src/spark/effects/assets/images/7.jpg       | Bin 0 -> 1754 bytes
 .../src/spark/effects/assets/images/8.jpg       | Bin 0 -> 1716 bytes
 .../src/spark/effects/assets/images/9.jpg       | Bin 0 -> 1552 bytes
 .../src/spark/events/EventExample1.mxml         |   3 +-
 .../src/spark/events/EventExample2.mxml         |   3 +-
 .../src/spark/events/EventExample3.mxml         |   3 +-
 .../src/spark/events/EventExample4.mxml         |   3 +-
 .../src/spark/events/EventExample5.mxml         |   3 +-
 .../src/spark/events/EventExample6.mxml         |   3 +-
 .../formatters/CurrencyFormatterExample.mxml    |   3 +-
 .../spark/formatters/DateFormatterExample.mxml  |   3 +-
 .../formatters/NumberFormatterExample.mxml      |   3 +-
 .../spark/formatters/PhoneFormatterExample.mxml |   3 +-
 .../formatters/SwitchFormatterExample.mxml      |   3 +-
 .../formatters/ZipCodeFormatterExample.mxml     |   3 +-
 .../src/spark/fxg/DropShadowGraphicExample.mxml |  66 +++
 .../src/spark/fxg/EllipseTransformExample.mxml  |  66 +++
 .../fxg/LinearGradientsSpreadMethodExample.mxml |  63 +++
 .../src/spark/fxg/OrangeCrayonStar.fxg          |  47 ++
 .../src/spark/fxg/StaticFXGExample.mxml         |  51 ++
 .../src/spark/fxg/assets/ApacheFlexIcon.png     | Bin 0 -> 7983 bytes
 .../src/spark/i18n/SparkCollator2Example.mxml   |   3 +-
 .../src/spark/i18n/SparkCollatorExample.mxml    |   3 +-
 .../i18n/SparkCurrencyFormatter2Example.mxml    |   2 +-
 .../i18n/SparkCurrencyFormatterExample.mxml     |   2 +-
 .../i18n/SparkCurrencyValidator2Example.mxml    |   2 +-
 .../i18n/SparkCurrencyValidatorExample.mxml     |   2 +-
 .../i18n/SparkDateTimeFormatter2Example.mxml    |   2 +-
 .../i18n/SparkDateTimeFormatterExample.mxml     |   2 +-
 .../src/spark/i18n/SparkFormatterExample.mxml   |  58 +++
 .../spark/i18n/SparkNumberFormatterExample.mxml |   2 +-
 .../i18n/SparkNumberValidator2Example.mxml      |   2 +-
 .../spark/i18n/SparkNumberValidatorExample.mxml |   2 +-
 .../i18n/SparkSortandSortField2Example.mxml     |   2 +-
 .../i18n/SparkSortandSortFieldExample.mxml      |   2 +-
 .../src/spark/i18n/SparkStringToolsExample.mxml |   2 +-
 .../TourDeFlex3/src/spark/itemRenderers/Item.as |  62 +++
 .../itemRenderers/ListItemRendererExample.mxml  | 102 ++++
 .../spark/itemRenderers/MyListItemRenderer.mxml |  39 ++
 .../src/spark/modules/ModuleExample.mxml        |   3 +-
 .../other/BidirectionalBinding1Example.mxml     |  45 ++
 .../other/BidirectionalBinding2Example.mxml     | 111 ++++
 .../TourDeFlex3/src/spark/other/Contact.as      |  37 ++
 .../spark/other/ControllingViewportExample.mxml |  44 ++
 .../src/spark/other/Cursor1Example.mxml         |   3 +-
 .../src/spark/other/Cursor2Example.mxml         |   3 +-
 .../src/spark/other/DragAndDrop1Example.mxml    |   3 +-
 .../src/spark/other/DragAndDrop2Example.mxml    |   3 +-
 .../src/spark/other/FilterExample.mxml          |   3 +-
 .../src/spark/other/RepeaterExample.mxml        |   3 +-
 .../src/spark/other/ScrollBarsExample.mxml      |   2 +-
 .../src/spark/other/assets/ApacheFlexLogo.png   | Bin 0 -> 71228 bytes
 .../other/skins/CustomTabBarButtonSkin.mxml     | 262 ++++++++++
 .../src/spark/other/skins/CustomTabBarSkin.mxml |  97 ++++
 .../spark/skinning/ButtonWithIconExample.mxml   |  49 ++
 .../skinning/SkinningApplication1Example.mxml   |  44 ++
 .../skinning/SkinningApplication2Example.mxml   |  43 ++
 .../skinning/SkinningApplication3Example.mxml   |  48 ++
 .../skinning/SkinningContainerExample.mxml      |  49 ++
 .../src/spark/skinning/assets/arrow_icon_sm.png | Bin 0 -> 527 bytes
 .../src/spark/skinning/assets/icon_add.png      | Bin 0 -> 737 bytes
 .../src/spark/skinning/assets/icon_check.png    | Bin 0 -> 481 bytes
 .../src/spark/skinning/assets/icon_close16.png  | Bin 0 -> 59709 bytes
 .../src/spark/skinning/assets/icon_plus.png     | Bin 0 -> 58539 bytes
 .../src/spark/skinning/assets/icon_remove.png   | Bin 0 -> 693 bytes
 .../src/spark/skinning/assets/wood-bg.png       | Bin 0 -> 628195 bytes
 .../src/spark/skinning/skins/AddButtonSkin.mxml | 183 +++++++
 .../skinning/skins/BackgroundImageAppSkin.mxml  |  41 ++
 .../spark/skinning/skins/CloseButtonSkin.mxml   | 184 +++++++
 .../skinning/skins/CustomControlBarAppSkin.mxml | 106 ++++
 .../skins/CustomSkinnableContainerSkin.mxml     |  55 ++
 .../spark/skinning/skins/FancyButtonSkin.mxml   | 271 ++++++++++
 .../skins/GradientBackgroundAppSkin.mxml        |  53 ++
 .../skinning/skins/IconTextButtonSkin.mxml      | 195 +++++++
 .../src/spark/skinning/skins/MyPanelSkin.mxml   | 101 ++++
 .../src/spark/skinning/skins/TDFPanelSkin.mxml  | 171 +++++++
 .../src/spark/tlf/TextLayoutEditorSample.mxml   |   2 +-
 .../validators/CurrencyValidatorExample.mxml    |   3 +-
 .../spark/validators/DateValidatorExample.mxml  |   3 +-
 .../spark/validators/EmailValidatorExample.mxml |   3 +-
 .../spark/validators/FormValidatorExample.mxml  |   3 +-
 .../validators/NumberValidatorExample.mxml      |   3 +-
 .../validators/RegExpValidatorExample.mxml      |   3 +-
 .../SocialSecurityValidatorExample.mxml         |   3 +-
 .../validators/StringValidatorExample.mxml      |   3 +-
 .../validators/ZipCodeValidatorExample.mxml     |   3 +-
 166 files changed, 7644 insertions(+), 105 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d4e368dc/TourDeFlex/TourDeFlex3/src/spark/charts/AreaChartExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/spark/charts/AreaChartExample.mxml 
b/TourDeFlex/TourDeFlex3/src/spark/charts/AreaChartExample.mxml
index dda5d88..f504b6c 100644
--- a/TourDeFlex/TourDeFlex3/src/spark/charts/AreaChartExample.mxml
+++ b/TourDeFlex/TourDeFlex3/src/spark/charts/AreaChartExample.mxml
@@ -20,8 +20,7 @@
 <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009";  
                           xmlns:s="library://ns.adobe.com/flex/spark" 
                           xmlns:mx="library://ns.adobe.com/flex/mx" 
-                          skinClass="TDFGradientBackgroundSkin" 
-                          viewSourceURL="srcview/index.html">
+                          skinClass="TDFGradientBackgroundSkin">
        
        <fx:Script>
                <![CDATA[

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d4e368dc/TourDeFlex/TourDeFlex3/src/spark/charts/BarChartExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/spark/charts/BarChartExample.mxml 
b/TourDeFlex/TourDeFlex3/src/spark/charts/BarChartExample.mxml
index f33173c..554ce88 100644
--- a/TourDeFlex/TourDeFlex3/src/spark/charts/BarChartExample.mxml
+++ b/TourDeFlex/TourDeFlex3/src/spark/charts/BarChartExample.mxml
@@ -20,8 +20,7 @@
 <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009";  
                           xmlns:s="library://ns.adobe.com/flex/spark" 
                           xmlns:mx="library://ns.adobe.com/flex/mx" 
-                          skinClass="TDFGradientBackgroundSkin" 
-                          viewSourceURL="srcview/index.html">
+                          skinClass="TDFGradientBackgroundSkin">
        
        <fx:Script>
         <![CDATA[

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d4e368dc/TourDeFlex/TourDeFlex3/src/spark/charts/BubbleChartExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/spark/charts/BubbleChartExample.mxml 
b/TourDeFlex/TourDeFlex3/src/spark/charts/BubbleChartExample.mxml
index 4bb4b3d..365df88 100644
--- a/TourDeFlex/TourDeFlex3/src/spark/charts/BubbleChartExample.mxml
+++ b/TourDeFlex/TourDeFlex3/src/spark/charts/BubbleChartExample.mxml
@@ -20,8 +20,7 @@
 <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009";  
                           xmlns:s="library://ns.adobe.com/flex/spark" 
                           xmlns:mx="library://ns.adobe.com/flex/mx" 
-                          skinClass="TDFGradientBackgroundSkin" 
-                          viewSourceURL="srcview/index.html">
+                          skinClass="TDFGradientBackgroundSkin">
        
        <fx:Script>
                <![CDATA[

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d4e368dc/TourDeFlex/TourDeFlex3/src/spark/charts/CandleStickChartExample.mxml
----------------------------------------------------------------------
diff --git 
a/TourDeFlex/TourDeFlex3/src/spark/charts/CandleStickChartExample.mxml 
b/TourDeFlex/TourDeFlex3/src/spark/charts/CandleStickChartExample.mxml
index 8caa800..b39be2e 100644
--- a/TourDeFlex/TourDeFlex3/src/spark/charts/CandleStickChartExample.mxml
+++ b/TourDeFlex/TourDeFlex3/src/spark/charts/CandleStickChartExample.mxml
@@ -20,8 +20,7 @@
 <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009";  
                           xmlns:s="library://ns.adobe.com/flex/spark" 
                           xmlns:mx="library://ns.adobe.com/flex/mx" 
-                          skinClass="TDFGradientBackgroundSkin" 
-                          viewSourceURL="srcview/index.html">
+                          skinClass="TDFGradientBackgroundSkin">
        
         <fx:Script>
         <![CDATA[

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d4e368dc/TourDeFlex/TourDeFlex3/src/spark/charts/ColumnChartExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/spark/charts/ColumnChartExample.mxml 
b/TourDeFlex/TourDeFlex3/src/spark/charts/ColumnChartExample.mxml
index ca36f42..f3ba41d 100644
--- a/TourDeFlex/TourDeFlex3/src/spark/charts/ColumnChartExample.mxml
+++ b/TourDeFlex/TourDeFlex3/src/spark/charts/ColumnChartExample.mxml
@@ -20,8 +20,7 @@
 <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009";  
                           xmlns:s="library://ns.adobe.com/flex/spark" 
                           xmlns:mx="library://ns.adobe.com/flex/mx" 
-                          skinClass="TDFGradientBackgroundSkin" 
-                          viewSourceURL="srcview/index.html">
+                          skinClass="TDFGradientBackgroundSkin">
        
        <fx:Script>
         <![CDATA[

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d4e368dc/TourDeFlex/TourDeFlex3/src/spark/charts/HLOCChartExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/spark/charts/HLOCChartExample.mxml 
b/TourDeFlex/TourDeFlex3/src/spark/charts/HLOCChartExample.mxml
index 38cd01b..73fe34d 100644
--- a/TourDeFlex/TourDeFlex3/src/spark/charts/HLOCChartExample.mxml
+++ b/TourDeFlex/TourDeFlex3/src/spark/charts/HLOCChartExample.mxml
@@ -20,8 +20,7 @@
 <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009";  
                           xmlns:s="library://ns.adobe.com/flex/spark" 
                           xmlns:mx="library://ns.adobe.com/flex/mx" 
-                          skinClass="TDFGradientBackgroundSkin" 
-                          viewSourceURL="srcview/index.html">
+                          skinClass="TDFGradientBackgroundSkin">
        
        <fx:Script>
                <![CDATA[

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d4e368dc/TourDeFlex/TourDeFlex3/src/spark/charts/LineChartExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/spark/charts/LineChartExample.mxml 
b/TourDeFlex/TourDeFlex3/src/spark/charts/LineChartExample.mxml
index 432a064..5f61ee0 100644
--- a/TourDeFlex/TourDeFlex3/src/spark/charts/LineChartExample.mxml
+++ b/TourDeFlex/TourDeFlex3/src/spark/charts/LineChartExample.mxml
@@ -20,8 +20,7 @@
 <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009";  
                           xmlns:s="library://ns.adobe.com/flex/spark" 
                           xmlns:mx="library://ns.adobe.com/flex/mx" 
-                          skinClass="TDFGradientBackgroundSkin" 
-                          viewSourceURL="srcview/index.html">
+                          skinClass="TDFGradientBackgroundSkin">
        
        <fx:Script>
                <![CDATA[

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d4e368dc/TourDeFlex/TourDeFlex3/src/spark/charts/PieChartExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/spark/charts/PieChartExample.mxml 
b/TourDeFlex/TourDeFlex3/src/spark/charts/PieChartExample.mxml
index 2ad6001..f14e5c9 100644
--- a/TourDeFlex/TourDeFlex3/src/spark/charts/PieChartExample.mxml
+++ b/TourDeFlex/TourDeFlex3/src/spark/charts/PieChartExample.mxml
@@ -20,8 +20,7 @@
 <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009";  
                           xmlns:s="library://ns.adobe.com/flex/spark" 
                           xmlns:mx="library://ns.adobe.com/flex/mx" 
-                          skinClass="TDFGradientBackgroundSkin" 
-                          viewSourceURL="srcview/index.html">
+                          skinClass="TDFGradientBackgroundSkin">
        
        <fx:Script>
                <![CDATA[

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d4e368dc/TourDeFlex/TourDeFlex3/src/spark/charts/PlotChartExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/spark/charts/PlotChartExample.mxml 
b/TourDeFlex/TourDeFlex3/src/spark/charts/PlotChartExample.mxml
index 3a60d4f..8b1b581 100644
--- a/TourDeFlex/TourDeFlex3/src/spark/charts/PlotChartExample.mxml
+++ b/TourDeFlex/TourDeFlex3/src/spark/charts/PlotChartExample.mxml
@@ -20,8 +20,7 @@
 <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009";  
                           xmlns:s="library://ns.adobe.com/flex/spark" 
                           xmlns:mx="library://ns.adobe.com/flex/mx" 
-                          skinClass="TDFGradientBackgroundSkin" 
-                          viewSourceURL="srcview/index.html">
+                          skinClass="TDFGradientBackgroundSkin">
        
        <fx:Script>
                <![CDATA[

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d4e368dc/TourDeFlex/TourDeFlex3/src/spark/charts/SeriesInterpolateExample.mxml
----------------------------------------------------------------------
diff --git 
a/TourDeFlex/TourDeFlex3/src/spark/charts/SeriesInterpolateExample.mxml 
b/TourDeFlex/TourDeFlex3/src/spark/charts/SeriesInterpolateExample.mxml
index 16a51bf..554f633 100644
--- a/TourDeFlex/TourDeFlex3/src/spark/charts/SeriesInterpolateExample.mxml
+++ b/TourDeFlex/TourDeFlex3/src/spark/charts/SeriesInterpolateExample.mxml
@@ -20,8 +20,7 @@
 <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009";  
                           xmlns:s="library://ns.adobe.com/flex/spark" 
                           xmlns:mx="library://ns.adobe.com/flex/mx" 
-                          skinClass="TDFGradientBackgroundSkin" 
-                          viewSourceURL="srcview/index.html">
+                          skinClass="TDFGradientBackgroundSkin">
        
        <fx:Script>
                <![CDATA[

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d4e368dc/TourDeFlex/TourDeFlex3/src/spark/charts/SeriesSlideExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/spark/charts/SeriesSlideExample.mxml 
b/TourDeFlex/TourDeFlex3/src/spark/charts/SeriesSlideExample.mxml
index 58f88a4..4d24782 100644
--- a/TourDeFlex/TourDeFlex3/src/spark/charts/SeriesSlideExample.mxml
+++ b/TourDeFlex/TourDeFlex3/src/spark/charts/SeriesSlideExample.mxml
@@ -20,8 +20,7 @@
 <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009";  
                           xmlns:s="library://ns.adobe.com/flex/spark" 
                           xmlns:mx="library://ns.adobe.com/flex/mx" 
-                          skinClass="TDFGradientBackgroundSkin" 
-                          viewSourceURL="srcview/index.html">
+                          skinClass="TDFGradientBackgroundSkin">
        
        <fx:Script>
                <![CDATA[

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d4e368dc/TourDeFlex/TourDeFlex3/src/spark/charts/SeriesZoomExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/spark/charts/SeriesZoomExample.mxml 
b/TourDeFlex/TourDeFlex3/src/spark/charts/SeriesZoomExample.mxml
index d5b85d2..d94c176 100644
--- a/TourDeFlex/TourDeFlex3/src/spark/charts/SeriesZoomExample.mxml
+++ b/TourDeFlex/TourDeFlex3/src/spark/charts/SeriesZoomExample.mxml
@@ -20,8 +20,7 @@
 <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009";  
                           xmlns:s="library://ns.adobe.com/flex/spark" 
                           xmlns:mx="library://ns.adobe.com/flex/mx" 
-                          skinClass="TDFGradientBackgroundSkin" 
-                          viewSourceURL="srcview/index.html">
+                          skinClass="TDFGradientBackgroundSkin">
        
        <fx:Script>
                <![CDATA[

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d4e368dc/TourDeFlex/TourDeFlex3/src/spark/containers/BorderExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/spark/containers/BorderExample.mxml 
b/TourDeFlex/TourDeFlex3/src/spark/containers/BorderExample.mxml
new file mode 100644
index 0000000..c64b094
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/spark/containers/BorderExample.mxml
@@ -0,0 +1,71 @@
+<?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.
+
+-->
+<!-- 
http://blog.flexexamples.com/2009/09/04/setting-the-corner-radius-on-a-spark-border-container-in-flex-4/
 -->
+<s:Application name="Spark_Border_cornerRadius_test"
+                          xmlns:fx="http://ns.adobe.com/mxml/2009";
+                          xmlns:mx="library://ns.adobe.com/flex/mx"
+                          xmlns:s="library://ns.adobe.com/flex/spark" 
viewSourceURL="srcview/index.html">
+       
+       <s:Panel width="100%" height="100%" title="BorderContainer Sample" 
+                        skinClass="skins.TDFPanelSkin">
+               
+               <s:VGroup id="mainGroup" width="100%" 
+                                 horizontalCenter="50" top="10">
+                       <s:HGroup gap="50" paddingBottom="15">
+                               <s:VGroup>
+                                       <s:HGroup verticalAlign="middle">
+                                               <s:Label text="Corner Radius:"/>
+                                               <s:HSlider id="slider"
+                                                                  minimum="0"
+                                                                  maximum="100"
+                                                                  value="2" />
+                                       </s:HGroup>
+                                       <s:HGroup verticalAlign="middle">
+                                               <s:Label text="Border Weight:"/>
+                                               <s:NumericStepper id="weight" 
value="3"/>
+                                       </s:HGroup>
+                                       <s:HGroup verticalAlign="middle">
+                                               <s:Label text="Border Color:"/>
+                                               <mx:ColorPicker id="color" 
color="0x000000"/>
+                                       </s:HGroup>
+                                       <s:HGroup verticalAlign="middle">
+                                               <s:Label text="Drop Shadow:"/>
+                                               <s:CheckBox id="chkShadow" 
selected="true"/>
+                                       </s:HGroup>     
+                               </s:VGroup>
+                               
+                               <s:BorderContainer id="brdr" width="200"
+                                                 cornerRadius="{slider.value}" 
borderWeight="{weight.value}" 
+                                                 
borderColor="{color.selectedColor}" dropShadowVisible="{chkShadow.selected}"
+                                                 backgroundColor="0x3399ff">
+                               </s:BorderContainer>    
+                       </s:HGroup>
+                       
+                       <s:Label bottom="10" horizontalCenter="0" width="95%" 
verticalAlign="justify" color="#323232" 
+                                        text="The Border class provides a 
container class that can be styled with a border and
+a background fill or image. It has many of the same styles as HaloBorder and 
is used in a similar way to the
+Halo container classes such as Box and Canvas. Examples of styles that are 
supported are borderWeight, borderColor, 
+backgroundColor, backgroundImage, cornerRadius and dropShadowVisible."/>
+               </s:VGroup>
+               
+       </s:Panel>
+       
+       
+</s:Application>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d4e368dc/TourDeFlex/TourDeFlex3/src/spark/containers/Contact.as
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/spark/containers/Contact.as 
b/TourDeFlex/TourDeFlex3/src/spark/containers/Contact.as
new file mode 100644
index 0000000..838a300
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/spark/containers/Contact.as
@@ -0,0 +1,34 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+package
+{
+       [Bindable]
+       public class Contact
+       {
+               public var name:String;
+               public var address:String;
+               public var city:String;
+               public var state:String;
+               public var zip:String;
+               
+               public function Contact()
+               {
+               }
+       }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d4e368dc/TourDeFlex/TourDeFlex3/src/spark/containers/GroupExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/spark/containers/GroupExample.mxml 
b/TourDeFlex/TourDeFlex3/src/spark/containers/GroupExample.mxml
new file mode 100644
index 0000000..52a579d
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/spark/containers/GroupExample.mxml
@@ -0,0 +1,75 @@
+<?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.
+
+-->
+<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"; 
+                          xmlns:s="library://ns.adobe.com/flex/spark" 
+                          xmlns:mx="library://ns.adobe.com/flex/halo" 
viewSourceURL="srcview/index.html">
+       
+       <s:layout>
+               <s:BasicLayout id="bl"/>
+       </s:layout>
+       
+       <!-- Note: Panel has a BasicLayout by default. The BasicLayout means 
that components will be
+       arranged according to their individual constraint settings, independent 
of each-other -->
+       <s:Panel id="mainPanel" width="100%" height="100%" top="0" left="5"
+                        title="Panel Sample" 
+                        skinClass="skins.TDFPanelSkin">
+               
+       <!-- Note: main panel is BasicLayout by default. So each inner panel 
will be layed out
+                     according to it's constraints specified individually.     
                   -->
+                       <s:Panel title="Basic Layout Panel"  top="0" left="5">
+                               <!-- Default layout is basic, therefore 
constraints are used for placement -->
+                               <s:Label text="Apples" top="0"/>
+                               <s:Label text="Oranges" top="13"/>
+                               <s:Label text="Bananas" top="26"/>              
+                       </s:Panel>
+                       
+                       <s:Panel id="horizontalPanel" title="Horizontal Layout 
Panel" 
+                                         top="0" left="250">
+                               <s:layout>
+                                       <s:HorizontalLayout/>
+                               </s:layout>
+                               <!-- Note: constraints to top left on items 
here, but will not matter because we
+                                    specified a HorizontalLayout -->
+                               <s:Label text="Apples" top="0"/>
+                               <s:Label text="Oranges" top="13"/>
+                               <s:Label text="Bananas" top="26"/>      
+                       </s:Panel>
+                       <s:Panel id="vericalPanel" title="Vertical Layout 
Panel" 
+                                         top="0" right="5">
+                               <s:layout>
+                                       <s:VerticalLayout/>
+                               </s:layout>
+                               <!-- Note: constraints to top left on items 
here, but will not matter because we
+                               specified a VerticalLayout -->
+                               <s:Label text="Apples" top="0"/>
+                               <s:Label text="Oranges" top="13"/>
+                               <s:Label text="Bananas" top="26"/>      
+                       </s:Panel>
+                       <s:Label color="0x323232" verticalAlign="justify" 
+                                                 left="3" bottom="30" 
width="100%" 
+                               text="The Panel class defines a container that 
includes a title bar, a caption, a border, and a content area for its children.
+The Panel has a basic layout by default, which means it lays out elements 
within the panel by 
+their individual constraints. You can specify a different layout to use within 
the panel such 
+as shown in the inner panels (basic, horizontal and vertical layout panels. In 
that case the 
+individual constraints on the Text items are ignored, as shown here."/>
+                       
+       </s:Panel>
+       
+</s:Application>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d4e368dc/TourDeFlex/TourDeFlex3/src/spark/containers/PanelExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/spark/containers/PanelExample.mxml 
b/TourDeFlex/TourDeFlex3/src/spark/containers/PanelExample.mxml
new file mode 100644
index 0000000..76369f5
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/spark/containers/PanelExample.mxml
@@ -0,0 +1,79 @@
+<?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.
+
+-->
+<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"; 
+                          xmlns:s="library://ns.adobe.com/flex/spark" 
+                          xmlns:mx="library://ns.adobe.com/flex/mx" 
viewSourceURL="srcview/index.html">
+       
+       <!-- Note: Panel has a BasicLayout by default. The BasicLayout means 
that components will be
+       arranged according to their individual constraint settings, independent 
of each-other -->
+       <s:Panel id="mainPanel" width="100%" height="100%"
+                        title="Panel Sample" 
+                        skinClass="skins.TDFPanelSkin">
+               
+               
+                       <s:HGroup horizontalCenter="0">
+                               
+                               <!-- Note: main panel is BasicLayout by 
default, so each inner panel will be layed out
+                               according to it's constraints specified 
individually. -->
+                               <s:Panel title="Basic Layout Panel" top="0" 
left="5">
+                                       <!-- Default layout is basic, therefore 
constraints are used for placement -->
+                                       <mx:Text text="Apples" top="0"/>
+                                       <mx:Text text="Oranges" top="15"/>
+                                       <mx:Text text="Bananas" top="30"/>      
        
+                               </s:Panel>
+                               
+                               <s:Panel title="Horizontal Layout Panel" 
+                                                top="0" left="250">
+                                       <s:layout>
+                                               <s:HorizontalLayout/>
+                                       </s:layout>
+                                       <!-- Note: constraints to top left on 
items here, but will not matter because we
+                                       specified a HorizontalLayout -->
+                                       <mx:Text text="Apples" top="0"/>
+                                       <mx:Text text="Oranges" top="15"/>
+                                       <mx:Text text="Bananas" top="30"/>      
+                               </s:Panel>
+                               
+                               <s:Panel title="Vertical Layout Panel" 
+                                                top="0" right="5">
+                                       <s:layout>
+                                               <s:VerticalLayout/>
+                                       </s:layout>
+                                       
+                                       <!-- Note: constraints to top left on 
items here, but will not matter because we
+                                       specified a VeritcalLayout -->
+                                       <mx:Text text="Apples" top="0"/>
+                                       <mx:Text text="Oranges" top="15"/>
+                                       <mx:Text text="Bananas" top="30"/>      
+                               </s:Panel>
+                       </s:HGroup>     
+               <s:Group bottom="5" width="100%">
+                       
+               <s:Label color="0x323232" verticalAlign="justify" 
+                                left="5" bottom="15" width="95%" 
+                                text="The Panel class defines a container that 
includes a title bar, a caption, a border, and a content area for its children.
+The Panel has a basic layout by default, which means it lays out elements 
within the panel by their individual constraints. You can specify a different 
layout to use within the panel such 
+as shown in the inner panels (basic, horizontal and vertical layout) panels. 
In that case the individual constraints on the Text items are ignored, as shown 
here."/>
+               </s:Group>              
+               
+               
+       </s:Panel>
+       
+</s:Application>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d4e368dc/TourDeFlex/TourDeFlex3/src/spark/containers/SampleVerticalHorizontalAlign.mxml
----------------------------------------------------------------------
diff --git 
a/TourDeFlex/TourDeFlex3/src/spark/containers/SampleVerticalHorizontalAlign.mxml
 
b/TourDeFlex/TourDeFlex3/src/spark/containers/SampleVerticalHorizontalAlign.mxml
index a30bc57..abfb346 100644
--- 
a/TourDeFlex/TourDeFlex3/src/spark/containers/SampleVerticalHorizontalAlign.mxml
+++ 
b/TourDeFlex/TourDeFlex3/src/spark/containers/SampleVerticalHorizontalAlign.mxml
@@ -20,7 +20,7 @@
 <!-- 
http://evtimmy.com/2010/01/verticalalign-for-vgroup-and-horizontalalign-for-hgroup/
 -->
 <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"; 
                           xmlns:s="library://ns.adobe.com/flex/spark" 
-                          xmlns:mx="library://ns.adobe.com/flex/mx" 
backgroundColor="0x323232" color="0xFFFFFF" viewSourceURL="srcview/index.html">
+                          xmlns:mx="library://ns.adobe.com/flex/mx" 
backgroundColor="0x323232" color="0xFFFFFF">
        
        <s:VGroup verticalAlign="middle" width="526" height="230" top="57" 
left="10">
                <s:HGroup verticalAlign="middle" height="100%"  
color="0x000000">

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d4e368dc/TourDeFlex/TourDeFlex3/src/spark/containers/SkinableDataContainerExample.mxml
----------------------------------------------------------------------
diff --git 
a/TourDeFlex/TourDeFlex3/src/spark/containers/SkinableDataContainerExample.mxml 
b/TourDeFlex/TourDeFlex3/src/spark/containers/SkinableDataContainerExample.mxml
index e2c9414..09fb38c 100644
--- 
a/TourDeFlex/TourDeFlex3/src/spark/containers/SkinableDataContainerExample.mxml
+++ 
b/TourDeFlex/TourDeFlex3/src/spark/containers/SkinableDataContainerExample.mxml
@@ -19,7 +19,7 @@
 -->
 <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"; 
                           xmlns:s="library://ns.adobe.com/flex/spark" 
-                          xmlns:mx="library://ns.adobe.com/flex/mx" 
viewSourceURL="srcview/index.html">
+                          xmlns:mx="library://ns.adobe.com/flex/mx">
        
        <s:Panel width="100%" height="100%" title="SkinnableDataContainer" 
skinClass="skins.TDFPanelSkin">
                <s:layout><s:HorizontalLayout paddingLeft="8" paddingTop="8" 
paddingRight="12"/></s:layout>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d4e368dc/TourDeFlex/TourDeFlex3/src/spark/containers/TabNavigator1Example.mxml
----------------------------------------------------------------------
diff --git 
a/TourDeFlex/TourDeFlex3/src/spark/containers/TabNavigator1Example.mxml 
b/TourDeFlex/TourDeFlex3/src/spark/containers/TabNavigator1Example.mxml
new file mode 100644
index 0000000..e23b033
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/spark/containers/TabNavigator1Example.mxml
@@ -0,0 +1,116 @@
+<?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.
+
+-->
+<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"; 
+                          xmlns:s="library://ns.adobe.com/flex/spark" 
+                          xmlns:mx="library://ns.adobe.com/flex/mx" 
xmlns:local="*" viewSourceURL="srcview/index.html">
+       
+       <fx:Script>
+               <![CDATA[
+                       import mx.events.ListEvent;
+                       
+                       [Bindable]
+                       private var contact:Contact = new Contact();
+                       
+                       protected function 
submitBtn_clickHandler(event:MouseEvent):void
+                       {
+                               contact.name = nameTxt.text;
+                               contact.address = address.text;
+                               contact.city = city.text;
+                               contact.state = state.text;
+                               contact.zip = zip.text;
+                               trace(contacts.contains(contact));
+                               
+                               if (!contacts.contains(contact))
+                                       contacts.addItem(contact);
+                               contact = new Contact();
+                       }
+                       
+                       protected function 
dg_itemClickHandler(event:ListEvent):void
+                       {
+                               contact = dg.selectedItem as Contact;
+                       }
+                       
+               ]]>
+       </fx:Script>
+       
+       <fx:Declarations>
+               <s:ArrayCollection id="contacts"/>
+       </fx:Declarations>
+       
+       <s:Panel width="100%" height="100%" skinClass="skins.TDFPanelSkin" 
title="TabBar Sample" >
+               <s:TabBar id="tabs" left="8" y="2" dataProvider="{vs}"/>
+               <mx:ViewStack id="vs" width="95%" height="85%" left="8" y="23">
+                       <s:NavigatorContent label="Contact Info"  width="100%" 
height="100%">
+                               <s:BorderContainer width="100%" height="100%" 
borderWeight="2" cornerRadius="3" dropShadowVisible="true">
+                                       <s:backgroundFill>
+                                               <s:LinearGradient rotation="90">
+                                                       <s:GradientEntry 
color="0xE2E2E2" />
+                                                       <s:GradientEntry 
color="0x323232" />
+                                               </s:LinearGradient>
+                                       </s:backgroundFill>
+                                       <mx:Form id="contactForm" 
defaultButton="{submitBtn}" width="100%" height="100%">
+                                               <mx:FormItem label="Name:">
+                                                       <s:TextInput 
id="nameTxt" text="{contact.name}"/>
+                                               </mx:FormItem>
+                                               <mx:FormItem label="Address:">
+                                                       <s:TextInput 
id="address" text="{contact.address}"/>
+                                               </mx:FormItem>
+                                               <mx:FormItem label="City:">
+                                                       <s:TextInput id="city" 
text="{contact.city}"/>
+                                               </mx:FormItem>
+                                               <mx:FormItem label="State:">
+                                                       <s:TextInput id="state" 
text="{contact.state}"/>
+                                               </mx:FormItem>
+                                               <mx:FormItem label="Zip:">
+                                                       <s:TextInput id="zip" 
text="{contact.zip}" maxChars="5"/>
+                                               </mx:FormItem>
+                                               <mx:FormItem>
+                                                       <s:Button 
id="submitBtn" label="Submit" click="submitBtn_clickHandler(event)"/>
+                                               </mx:FormItem>
+                                       </mx:Form>
+                               </s:BorderContainer>
+                       </s:NavigatorContent>
+                       <s:NavigatorContent label="Contact List" width="100%" 
height="100%" >
+                               <s:BorderContainer width="100%" height="100%" 
borderWeight="2" 
+                                                 cornerRadius="3" 
dropShadowVisible="true">
+                                       <s:backgroundFill>
+                                               <s:LinearGradient rotation="90">
+                                                       <s:GradientEntry 
color="0xE2E2E2" />
+                                                       <s:GradientEntry 
color="0x323232" />
+                                               </s:LinearGradient>
+                                       </s:backgroundFill>
+                                       <mx:DataGrid id="dg" 
dataProvider="{contacts}" x="5" y="5"  doubleClickEnabled="true" 
+                                                                
doubleClick="{tabs.selectedIndex=0}" itemClick="dg_itemClickHandler(event)">
+                                               <mx:columns>
+                                                       <mx:DataGridColumn 
headerText="Name" dataField="name"/>
+                                                       <mx:DataGridColumn 
headerText="Address" dataField="address"/>
+                                                       <mx:DataGridColumn 
headerText="City" dataField="city"/>
+                                                       <mx:DataGridColumn 
headerText="State" dataField="state"/>
+                                                       <mx:DataGridColumn 
headerText="Zip" dataField="zip"/>
+                                               </mx:columns>
+                                       </mx:DataGrid>
+                               </s:BorderContainer>
+                               
+                       </s:NavigatorContent>
+                       
+               </mx:ViewStack>
+               
+       </s:Panel>
+</s:Application>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d4e368dc/TourDeFlex/TourDeFlex3/src/spark/containers/TabNavigator2Example.mxml
----------------------------------------------------------------------
diff --git 
a/TourDeFlex/TourDeFlex3/src/spark/containers/TabNavigator2Example.mxml 
b/TourDeFlex/TourDeFlex3/src/spark/containers/TabNavigator2Example.mxml
new file mode 100644
index 0000000..7bc0b35
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/spark/containers/TabNavigator2Example.mxml
@@ -0,0 +1,110 @@
+<?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.
+
+-->
+<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"; 
+                          xmlns:s="library://ns.adobe.com/flex/spark" 
+                          xmlns:mx="library://ns.adobe.com/flex/mx" 
xmlns:local="*">
+       
+       <fx:Script>
+               <![CDATA[
+                       import mx.events.ListEvent;
+                       
+                       [Bindable]
+                       private var contact:Contact = new Contact();
+                       
+                       protected function 
submitBtn_clickHandler(event:MouseEvent):void
+                       {
+                               // Note: this sample uses bidirectional data 
binding, so we do not have to 
+                               // explicitly set the contact fields to save 
them! 
+                               if (!contacts.contains(contact))
+                                       contacts.addItem(contact);
+                               contact = new Contact();
+                       }
+
+                       protected function 
dg_itemClickHandler(event:ListEvent):void
+                       {
+                               contact = dg.selectedItem as Contact;
+                       }
+
+               ]]>
+       </fx:Script>
+
+       <fx:Declarations>
+               <s:ArrayCollection id="contacts"/>
+       </fx:Declarations>
+       
+       <s:Panel width="100%" height="100%" skinClass="skins.TDFPanelSkin" 
title="TabBar Sample with Custom Skin and Bidirectional Binding" >
+               <s:TabBar id="tabs" left="8" y="2" dataProvider="{vs}" 
skinClass="skins.CustomTabBarSkin" cornerRadius="4"/>
+               <mx:ViewStack id="vs" width="95%" height="85%" left="8" y="23">
+                       <s:NavigatorContent label="Contact Info"  width="100%" 
height="100%">
+                               <s:BorderContainer borderColor="0xCC0000" 
width="100%" height="100%" borderWeight="2" cornerRadius="3" 
+                                                 dropShadowVisible="true">
+                                       <!-- This background fill could also be 
specified in a custom skin to apply to other containers as well -->
+                                       <s:backgroundFill>
+                                               <s:LinearGradient rotation="90">
+                                                       <s:GradientEntry 
color="0xE2E2E2"/>
+                                                       <s:GradientEntry 
color="0xCC0000" alpha=".5" />
+                                               </s:LinearGradient>
+                                       </s:backgroundFill>
+                                       <mx:Form id="contactForm" 
defaultButton="{submitBtn}" width="100%" height="100%">
+                                               <mx:FormItem label="Name:">
+                                                       <s:TextInput 
id="nameTxt" text="@{contact.name}"/>
+                                               </mx:FormItem>
+                                               <mx:FormItem label="Address:">
+                                                       <s:TextInput 
id="address" text="@{contact.address}"/>
+                                               </mx:FormItem>
+                                               <mx:FormItem label="City:">
+                                                       <s:TextInput id="city" 
text="@{contact.city}"/>
+                                               </mx:FormItem>
+                                               <mx:FormItem label="State:">
+                                                       <s:TextInput id="state" 
text="@{contact.state}"/>
+                                               </mx:FormItem>
+                                               <mx:FormItem label="Zip:">
+                                                       <s:TextInput id="zip" 
text="@{contact.zip}" maxChars="5"/>
+                                               </mx:FormItem>
+                                               <mx:FormItem>
+                                                       <s:Button 
id="submitBtn" label="Submit" click="submitBtn_clickHandler(event)"/>
+                                               </mx:FormItem>
+                                       </mx:Form>
+                               </s:BorderContainer>
+                       </s:NavigatorContent>
+                       <s:NavigatorContent label="Contact List" width="100%" 
height="100%" >
+                               <s:BorderContainer borderColor="0xCC0000" 
width="100%" height="100%" borderWeight="2" cornerRadius="3" 
+                                                 dropShadowVisible="true">
+                                       <s:backgroundFill>
+                                               <s:LinearGradient rotation="90">
+                                                       <s:GradientEntry 
color="0xCC0000" />
+                                                       <s:GradientEntry 
color="0xE2E2E2" />
+                                               </s:LinearGradient>
+                                       </s:backgroundFill>
+                                       <mx:DataGrid id="dg" 
dataProvider="{contacts}" x="5" y="5"  doubleClickEnabled="true" 
+                                                                
doubleClick="{tabs.selectedIndex=0}" itemClick="dg_itemClickHandler(event)">
+                                               <mx:columns>
+                                                       <mx:DataGridColumn 
headerText="Name" dataField="name"/>
+                                                       <mx:DataGridColumn 
headerText="Address" dataField="address"/>
+                                                       <mx:DataGridColumn 
headerText="City" dataField="city"/>
+                                                       <mx:DataGridColumn 
headerText="State" dataField="state"/>
+                                                       <mx:DataGridColumn 
headerText="Zip" dataField="zip"/>
+                                               </mx:columns>
+                                       </mx:DataGrid>
+                               </s:BorderContainer>
+                       </s:NavigatorContent>
+               </mx:ViewStack>
+       </s:Panel>
+</s:Application>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d4e368dc/TourDeFlex/TourDeFlex3/src/spark/containers/TileGroupExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/spark/containers/TileGroupExample.mxml 
b/TourDeFlex/TourDeFlex3/src/spark/containers/TileGroupExample.mxml
index 9fa4af7..c68120f 100644
--- a/TourDeFlex/TourDeFlex3/src/spark/containers/TileGroupExample.mxml
+++ b/TourDeFlex/TourDeFlex3/src/spark/containers/TileGroupExample.mxml
@@ -19,7 +19,7 @@
 -->
 <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"; 
                           xmlns:s="library://ns.adobe.com/flex/spark" 
-                          xmlns:mx="library://ns.adobe.com/flex/mx" 
minWidth="955" minHeight="600" viewSourceURL="srcview/index.html">
+                          xmlns:mx="library://ns.adobe.com/flex/mx" 
minWidth="955" minHeight="600">
        
        <fx:Declarations>
                <fx:Array id="orientArray">

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d4e368dc/TourDeFlex/TourDeFlex3/src/spark/containers/personIcon.png
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/spark/containers/personIcon.png 
b/TourDeFlex/TourDeFlex3/src/spark/containers/personIcon.png
new file mode 100644
index 0000000..f9d76c6
Binary files /dev/null and 
b/TourDeFlex/TourDeFlex3/src/spark/containers/personIcon.png differ

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d4e368dc/TourDeFlex/TourDeFlex3/src/spark/containers/skins/CustomTabBarButtonSkin.mxml
----------------------------------------------------------------------
diff --git 
a/TourDeFlex/TourDeFlex3/src/spark/containers/skins/CustomTabBarButtonSkin.mxml 
b/TourDeFlex/TourDeFlex3/src/spark/containers/skins/CustomTabBarButtonSkin.mxml
new file mode 100644
index 0000000..3bbff44
--- /dev/null
+++ 
b/TourDeFlex/TourDeFlex3/src/spark/containers/skins/CustomTabBarButtonSkin.mxml
@@ -0,0 +1,264 @@
+<?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 default skin class for Spark TabBar buttons.  
+
+@langversion 3.0
+@playerversion Flash 10
+@playerversion AIR 1.5
+@productversion Flex 4
+-->
+
+<s:SparkSkin 
+       xmlns:fx="http://ns.adobe.com/mxml/2009"; 
+       xmlns:s="library://ns.adobe.com/flex/spark" 
+       xmlns:fb="http://ns.adobe.com/flashbuilder/2009"; 
+       minWidth="21" minHeight="21" alpha.disabledStates="0.5">
+       
+       <!-- host component -->
+       <fx:Metadata>
+               <![CDATA[ 
+               /** 
+               * @copy spark.skins.spark.ApplicationSkin#hostComponent
+               */
+               [HostComponent("spark.components.ButtonBarButton")]
+               ]]>
+       </fx:Metadata>
+       
+       <fx:Script fb:purpose="styling" >
+        
+               import spark.components.TabBar;
+               
+               static private const exclusions:Array = ["labelDisplay"];
+               
+               /** 
+                * @private
+                */     
+               override public function get colorizeExclusions():Array {return 
exclusions;}
+               
+               /**
+                * @private
+                */
+               override protected function initializationComplete():void
+               {
+                       //useBaseColor = true;
+                       super.initializationComplete();
+               }
+               
+               private var cornerRadius:Number = 4
+               
+               /**
+                *  @private
+                *  The borderTop s:Path is just a s:Rect with the bottom edge 
left out.
+                *  Given the rounded corners per the cornerRadius style, the 
result is 
+                *  roughly an inverted U with the specified width, height, and 
cornerRadius.
+                * 
+                *  Circular arcs are drawn with two curves per 
flash.display.Graphics.GraphicsUtil.
+                */        
+               private function updateBorderTop(width:Number, 
height:Number):void
+               {
+                       var left:Number = -0.5;
+                       var right:Number = width - 0.5;
+                       var top:Number = 0.5;
+                       var bottom:Number = height;
+                       
+                       var a:Number = cornerRadius * 0.292893218813453;
+                       var s:Number = cornerRadius * 0.585786437626905;
+                       
+                       var path:String = "";
+                       path +=  "M " + left + " " + bottom;
+                       path += " L " + left + " " + (top + cornerRadius);
+                       path += " Q " + left + " " + (top + s) + " " + (left + 
a) + " " + (top + a);
+                       path += " Q " + (left + s) + " " + top + " " + (left + 
cornerRadius) + " " + top;
+                       path += " L " + (right - cornerRadius) + " " + top;
+                       path += " Q " + (right - s) + " " + top + " " + (right 
- a) + " " + (top + a);
+                       path += " Q " + right + " " + (top + s) + " " + right + 
" " + (top + cornerRadius);
+                       path += " L " + right + " " + bottom;
+                       borderTop.data = path;
+               }
+               
+               /**
+                *  @private
+                *  The cornerRadius style is specified by the TabBar, not the 
button itself.   
+                * 
+                *  Rather than bind the corner radius properties of the 
s:Rect's in the markup 
+                *  below to hostComponent.owner.getStyle("cornerRadius"), we 
reset them here, 
+                *  each time a change in the value of the style is detected.  
Note that each 
+                *  corner radius property is explicitly initialized to the 
default value of 
+                *  the style; the initial value of the private cornerRadius 
property.
+                */
+               private function updateCornerRadius():void
+               {
+                       var cr:Number = getStyle("cornerRadius");
+                       if (cornerRadius != cr)
+                       {
+                               cornerRadius = cr;
+                               fill.topLeftRadiusX = cornerRadius;
+                               fill.topRightRadiusX = cornerRadius;
+                               lowlight.radiusX = cornerRadius;
+                               highlight.radiusX = cornerRadius;
+                               highlightStroke.topLeftRadiusX = cornerRadius;
+                               highlightStroke.topRightRadiusX = cornerRadius;
+                       }
+               }
+               
+               /**
+                *  @private
+                */
+               override protected function 
updateDisplayList(unscaledWidth:Number, unscaleHeight:Number):void
+               {
+                       updateCornerRadius();
+                       updateBorderTop(unscaledWidth, unscaledHeight);
+                       super.updateDisplayList(unscaledWidth, unscaledHeight);
+               }
+       </fx:Script>
+       
+       <!-- states -->
+       <s:states>
+               <s:State name="up" />
+               <s:State name="over" stateGroups="overStates" />
+               <s:State name="down" stateGroups="downStates" />
+               <s:State name="disabled" stateGroups="disabledStates" />
+               <s:State name="upAndSelected" stateGroups="selectedStates, 
selectedUpStates" />
+               <s:State name="overAndSelected" stateGroups="overStates, 
selectedStates" />
+               <s:State name="downAndSelected" stateGroups="downStates, 
selectedStates" />
+               <s:State name="disabledAndSelected" 
stateGroups="selectedUpStates, disabledStates, selectedStates" />
+       </s:states>
+       
+       <s:Group left="-1" right="0" top="-1" bottom="-1">
+               
+               <!-- layer 2: fill -->
+               <s:Rect id="fill" left="2" right="1" top="2" bottom="2" 
topLeftRadiusX="4" topRightRadiusX="4" width="69" height="21">
+                       <s:fill>
+                               <s:LinearGradient rotation="90">
+                                       <s:GradientEntry color="0xFFFFFF" 
+                                                                        
color.selectedUpStates="0xFFFFFF"
+                                                                        
color.overStates="0xCC0000"
+                                                                        
color.downStates="0xCC0000" 
+                                                                        
alpha="0.85" 
+                                                                        
alpha.overAndSelected="1" />
+                                       <s:GradientEntry color="0xCCCCCC" 
+                                                                        
color.selectedUpStates="0x9FA0A1"
+                                                                        
color.over="0xCC0000" 
+                                                                        
color.overAndSelected="0xFFFFFF"
+                                                                        
color.downStates="0xCC0000" 
+                                                                        
alpha="0.85"
+                                                                        
alpha.overAndSelected="1" />
+                               </s:LinearGradient>
+                       </s:fill>
+               </s:Rect>
+               
+               <!-- layer 3: fill lowlight -->
+               <s:Rect id="lowlight" left="2" right="1" bottom="2" height="9" 
radiusX="4">
+                       <s:fill>
+                               <s:LinearGradient rotation="90">
+                                       <s:GradientEntry color="0xCC0000" 
alpha="0.0099" />
+                                       <s:GradientEntry color="0xCC0000" 
alpha="0.0627" />
+                               </s:LinearGradient>
+                       </s:fill>
+               </s:Rect>
+               
+               <!-- layer 4: fill highlight -->
+               <s:Rect id="highlight" left="2" right="1" top="2" height="9" 
radiusX="4">
+                       <s:fill>
+                               <s:SolidColor color="0xCC0000" 
+                                                         alpha="0.33" 
+                                                         
alpha.selectedUpStates="0.22"
+                                                         
alpha.overStates="0.22" 
+                                                         
alpha.downStates="0.12" />
+                       </s:fill>
+               </s:Rect>
+               
+               <!-- layer 5: highlight stroke (all states except down) -->
+               <s:Rect id="highlightStroke" left="2" right="1" top="2" 
bottom="2" topLeftRadiusX="4" topRightRadiusX="4">
+                       <s:stroke>
+                               <s:LinearGradientStroke rotation="90" 
weight="1">
+                                       <s:GradientEntry color="0xCC0000" 
alpha.overStates="0.22" alpha.selectedUpStates="0.33" />
+                               </s:LinearGradientStroke>
+                       </s:stroke>
+               </s:Rect>
+               
+               <!-- layer 6: highlight stroke (down state only) -->
+               <s:Rect left="2" top="2" bottom="2" width="1" 
includeIn="downStates, selectedUpStates, overAndSelected">
+                       <s:fill>
+                               <s:SolidColor color="0xCC0000" alpha="0.07" />
+                       </s:fill>
+               </s:Rect>
+               <s:Rect right="1" top="2" bottom="2" width="1" 
includeIn="downStates, selectedUpStates, overAndSelected">
+                       <s:fill>
+                               <s:SolidColor color="0xCC0000" alpha="0.07" />
+                       </s:fill>
+               </s:Rect>
+               <s:Rect left="3" top="2" right="1" height="1" 
includeIn="downStates, selectedUpStates, overAndSelected">
+                       <s:fill>
+                               <s:SolidColor color="0xCC0000" alpha="0.25" />
+                       </s:fill>
+               </s:Rect>
+               <s:Rect left="2" top="3" right="1" height="1" 
includeIn="downStates, selectedUpStates, overAndSelected">
+                       <s:fill>
+                               <s:SolidColor color="0xCC0000" alpha="0.09" />
+                       </s:fill>
+               </s:Rect>
+               
+               <!-- layer 7: border - put on top of the fill so it doesn't 
disappear when scale is less than 1 -->
+               <s:Line id="borderBottom" left="1" right="0" bottom="1">
+                       <s:stroke>
+                               <s:SolidColorStroke weight="1" 
+                                                                       
color="0xCC0000" 
+                                                                       
color.selectedStates="0x434343"
+                                                                       
alpha="0.75" 
+                                                                       
alpha.down="0.85"
+                                                                       
alpha.selectedStates="0.5" />
+                       </s:stroke>
+               </s:Line>
+               <s:Path id="borderTop" left="1" right="0" top="1" bottom="1" 
width="69" height="21">
+                       <s:stroke>
+                               <s:LinearGradientStroke rotation="90" 
weight="1">
+                                       <s:GradientEntry color="0xCC0000" 
+                                                                        
alpha="0.5625"
+                                                                        />
+                                       <s:GradientEntry color="0xFFFFFF" 
+                                                                        
color.selectedUpStates="0xFFFFFF"
+                                                                        
color.overStates="0xFFFFFF" 
+                                                                        
color.downStates="0xCC0000" 
+                                                                        
alpha="0.85" 
+                                                                        
alpha.overAndSelected="1" />                                   
+                               </s:LinearGradientStroke>
+                       </s:stroke>
+               </s:Path>
+       </s:Group>
+       
+       <!-- layer 8: text -->
+       <!--- The defines the appearance of the label for the first button in 
the ButtonBar component. -->
+       <s:Group left="2" top="2">
+               <s:BitmapImage source="@Embed('../personIcon.png')" width="16" 
height="16"/>             
+                                
+               <s:Label id="labelDisplay"
+                                textAlign="right"
+                                verticalAlign="middle"
+                                maxDisplayedLines="1"
+                                horizontalCenter="7" verticalCenter="1" 
+                                left="10" right="10" top="2" bottom="2" 
color.down="#FFFFFF">
+               </s:Label>
+       </s:Group>
+       
+</s:SparkSkin>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d4e368dc/TourDeFlex/TourDeFlex3/src/spark/containers/skins/CustomTabBarSkin.mxml
----------------------------------------------------------------------
diff --git 
a/TourDeFlex/TourDeFlex3/src/spark/containers/skins/CustomTabBarSkin.mxml 
b/TourDeFlex/TourDeFlex3/src/spark/containers/skins/CustomTabBarSkin.mxml
new file mode 100644
index 0000000..3621cac
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/spark/containers/skins/CustomTabBarSkin.mxml
@@ -0,0 +1,97 @@
+<?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 default skin class for the Spark TabBar component. The ButtonBarButtons 
+created by the TabBar component use the TabBarButtonSkin class.  
+
+@see spark.components.TabBar
+@see spark.components.ButtonBarButton
+
+@langversion 3.0
+@playerversion Flash 10
+@playerversion AIR 1.5
+@productversion Flex 4
+
+-->
+
+<s:Skin 
+       xmlns:fx="http://ns.adobe.com/mxml/2009"; 
+       xmlns:s="library://ns.adobe.com/flex/spark"
+       xmlns:fb="http://ns.adobe.com/flashbuilder/2009";     
+       alpha.disabled="0.5">
+       
+       <fx:Metadata>
+               <![CDATA[ 
+               /** 
+               * @copy spark.skins.spark.ApplicationSkin#hostComponent
+               */
+               [HostComponent("spark.components.TabBar")]
+               ]]>
+       </fx:Metadata> 
+       
+       <fx:Script  fb:purpose="styling" >
+               <![CDATA[ 
+                       
+                       import mx.core.UIComponent;
+                       
+                       /**
+                        *  @private
+                        *  Push the cornerRadius style to the item renderers.
+                        */
+                       override protected function 
updateDisplayList(unscaledWidth:Number, unscaleHeight:Number):void
+                       {
+                               const numElements:int = dataGroup.numElements;
+                               const cornerRadius:int = 
hostComponent.getStyle("cornerRadius");
+                               for (var i:int = 0; i < numElements; i++)
+                               {
+                                       var elt:UIComponent = 
dataGroup.getElementAt(i) as UIComponent;
+                                       if (elt)
+                                               elt.setStyle("cornerRadius", 
cornerRadius);
+                               }
+                               
+                               super.updateDisplayList(unscaledWidth, 
unscaledHeight);
+                       }
+                       
+               ]]>            
+       </fx:Script>
+       
+       <s:states>
+               <s:State name="normal" />
+               <s:State name="disabled" />
+       </s:states>
+       
+       <!--- 
+       @copy spark.components.SkinnableDataContainer#dataGroup
+       -->
+       <s:DataGroup id="dataGroup" width="100%" height="100%">
+               <s:layout>
+                       <s:ButtonBarHorizontalLayout gap="-1"/>
+               </s:layout>
+               <s:itemRenderer>
+                       <fx:Component>
+                               <s:ButtonBarButton 
skinClass="skins.CustomTabBarButtonSkin" />
+                       </fx:Component>
+               </s:itemRenderer>
+       </s:DataGroup>
+       
+</s:Skin>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d4e368dc/TourDeFlex/TourDeFlex3/src/spark/controls/ButtonBarExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/spark/controls/ButtonBarExample.mxml 
b/TourDeFlex/TourDeFlex3/src/spark/controls/ButtonBarExample.mxml
new file mode 100644
index 0000000..928fe77
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/spark/controls/ButtonBarExample.mxml
@@ -0,0 +1,106 @@
+<?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.
+
+-->
+<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"; 
+       xmlns:s="library://ns.adobe.com/flex/spark" 
+       xmlns:mx="library://ns.adobe.com/flex/mx" 
viewSourceURL="srcview/index.html">
+
+       <fx:Style>
+               @namespace "library://ns.adobe.com/flex/spark";
+               
+               ButtonBar ToggleButton:upAndSelected,
+               ButtonBar ToggleButton:overAndSelected,
+               ButtonBar ToggleButton:downAndSelected,
+               ButtonBar ToggleButton:disabledAndSelected {
+                       baseColor: #FFFFFF;
+                       color: #323232;
+               }
+               ButtonBar {
+                       baseColor: #000000;
+                       color: #FFFFFF;
+               }
+       </fx:Style>
+       
+       <fx:Script>
+               <![CDATA[
+                       import spark.events.IndexChangeEvent;
+                       
+                       /**
+                        * Index change handler will be called each time a 
button is clicked
+                        * and the event will provide information needed such 
as the previous
+                        * index clicked.
+                        **/
+                       protected function 
indexChangeHandler(event:IndexChangeEvent):void
+                       {
+                               myTextArea.text = "Button Bar index clicked = " 
+ event.newIndex
+                               myTextArea.text = myTextArea.text + "\nButton 
Bar previous index = " + event.oldIndex;
+                               myTextArea.text = myTextArea.text + "\nButton 
Bar label clicked = " + myButtonBar.selectedItem;
+                               if (myButtonBar.selectedItem=="Red") {
+                                       txtColor.setStyle("color","red");
+                                       txtColor.text="Red selected!";
+                               }
+                               else if (myButtonBar.selectedItem=="Green") {
+                                       txtColor.setStyle("color","green");
+                                       txtColor.text="Green selected!";
+                               }
+                               else if (myButtonBar.selectedItem=="Blue") {
+                                       txtColor.setStyle("color","blue");
+                                       txtColor.text="Blue selected!";
+                               }
+                               else {
+                                       txtColor.setStyle("color","yellow");
+                                       txtColor.text="Yellow selected!";
+                               }
+                       }
+                       protected function resetButtonBar(event:MouseEvent):void
+                       {
+                               myButtonBar.selectedIndex = -1;
+                               myTextArea.text = "";
+                       }
+               ]]>
+       </fx:Script>
+       
+       <!-- Note: A custom panel skin is used for the Tour de Flex samples and 
is included in the
+                  source tabs for each sample. -->
+       <s:Panel title="ButtonBar Sample" 
+                        width="100%" height="100%"
+                        horizontalCenter="0" 
+                        skinClass="skins.TDFPanelSkin">
+                       
+                       <s:HGroup left="5" top="5" width="100%" height="100%">
+                                       <s:Label width="50%" fontSize="13" 
color="0x323232"  verticalAlign="justify"
+                                                                 text="The 
ButtonBar component behaves like a series of toggle buttons, where one button 
remains selected
+and only one button in the ButtonBar control can be in the selected state. 
That means when you select a button in a ButtonBar
+control, the button stays in the selected state until you select a different 
button."/>        
+                               <s:VGroup left="10" top="5" color="0x000000" 
horizontalAlign="center">
+                                       <s:ButtonBar id="myButtonBar" 
change="indexChangeHandler(event)"> 
+                                               <mx:ArrayCollection> 
+                                                       
<fx:String>Red</fx:String> 
+                                                       
<fx:String>Green</fx:String> 
+                                                       
<fx:String>Blue</fx:String> 
+                                                       
<fx:String>Yellow</fx:String> 
+                                               </mx:ArrayCollection> 
+                                       </s:ButtonBar> 
+                                       <s:TextArea id="myTextArea" 
width="{myButtonBar.width}" height="150"/>
+                                       <s:Button id="myButton" label="Reset 
Selection" click="resetButtonBar(event)"/> 
+                                       <s:Label id="txtColor" fontSize="16"/>  
+                               </s:VGroup>
+                       </s:HGroup>
+       </s:Panel>
+</s:Application>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d4e368dc/TourDeFlex/TourDeFlex3/src/spark/controls/ButtonExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/spark/controls/ButtonExample.mxml 
b/TourDeFlex/TourDeFlex3/src/spark/controls/ButtonExample.mxml
new file mode 100644
index 0000000..838c419
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/spark/controls/ButtonExample.mxml
@@ -0,0 +1,65 @@
+<?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.
+
+-->
+<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"; 
+       xmlns:s="library://ns.adobe.com/flex/spark" 
+       xmlns:mx="library://ns.adobe.com/flex/mx" 
+       viewSourceURL="srcview/index.html">
+       
+       <fx:Script>
+               <![CDATA[
+                       import flash.events.Event;
+                       
+                       protected function buttonClickHandler(event:Event):void
+                       {
+                               repeatText.text += event.target.label + " 
pressed!" + "\n";
+                       }
+               ]]>
+       </fx:Script>
+       
+       <!-- Note: A custom panel skin is used for the Tour de Flex samples and 
is included in the
+                          source tabs for each sample. -->
+       <s:Panel width="100%" height="100%" 
+                        horizontalCenter="0" 
+                        title="Button Sample" 
+                        skinClass="skins.TDFPanelSkin">
+               
+               <s:HGroup left="5" top="5" width="100%" height="100%">
+               <s:Label width="50%" fontSize="13" color="0x323232"  
verticalAlign="justify"
+                                         text="The Button component is a 
commonly used rectangular button. The Button
+component looks like it can be pressed. The default skin has a text label."/>
+                                               
+                       <s:VGroup right="10" bottom="5" color="0x000000" 
horizontalAlign="center">
+                                       <s:Label text="Output"/>
+                                       <s:TextArea id="repeatText" top="5" 
right="50" width="180" height="100"/>
+                                       <s:Button id="standardBtn" 
label="Standard Button" 
+                                                         
click="buttonClickHandler(event)" 
+                                                         fontWeight="normal"/>
+                                       <s:Button id="disabledBtn" 
label="Disabled Button" enabled="false"/>
+                                       <s:Button id="repeatBtn" label="Repeat 
Button" 
+                                                         
buttonDown="buttonClickHandler(event)"  
+                                                         autoRepeat="true"/>
+                                       <s:Label verticalAlign="justify" 
+                                                                 text="Hold 
down on repeat button to see autoRepeat behavior."/>
+                               
+                       </s:VGroup>
+               </s:HGroup>
+       </s:Panel>
+       
+</s:Application>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d4e368dc/TourDeFlex/TourDeFlex3/src/spark/controls/CheckboxExample.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/spark/controls/CheckboxExample.mxml 
b/TourDeFlex/TourDeFlex3/src/spark/controls/CheckboxExample.mxml
new file mode 100644
index 0000000..77de6bb
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/spark/controls/CheckboxExample.mxml
@@ -0,0 +1,78 @@
+<?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.
+
+-->
+<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"; 
+                          xmlns:s="library://ns.adobe.com/flex/spark" 
+                          xmlns:mx="library://ns.adobe.com/flex/mx"
+                          viewSourceURL="srcview/index.html">
+       
+       <fx:Script>
+               <![CDATA[
+                       [Bindable]
+                       public var totalCost:Number = 4.50;
+                       
+                       // This event handler adds/removes the cost of 
condiments to/from the total cost.
+                       private function modifyBurger(evt:MouseEvent):void {
+                               // Add 0.25 to the total cost for every 
condiment. Delete 0.25 for
+                               // every condiment removed.
+                               if(CheckBox(evt.target).selected) {
+                                       totalCost += 0.25;
+                               } else {
+                                       totalCost -= 0.25;
+                               }
+                               // Format the totalCost and then display it in 
a label.
+                               totalString.text = 
usdFormatter.format(totalCost);
+                       }
+               ]]>
+       </fx:Script>
+       <fx:Declarations>
+               <mx:CurrencyFormatter id="usdFormatter" precision="2" 
currencySymbol="$"
+                                                         
decimalSeparatorFrom="." decimalSeparatorTo="." 
+                                                         useNegativeSign="true"
+                                                         
useThousandsSeparator="true" alignSymbol="left"/>
+       </fx:Declarations>
+
+       <!-- Note: A custom panel skin is used for the Tour de Flex samples and 
is included in the
+       source tabs for each sample.    -->
+       <s:Panel title="CheckBox Sample"
+                        width="100%" height="100%" 
+                        skinClass="skins.TDFPanelSkin">
+               <s:VGroup left="10" right="10" top="10" bottom="10">
+                       <s:Label text="Hamburger Base Price: $4.50" />
+                       <s:Label text="Select condiments for your hamburger 
(0.25 each):" />
+                       
+                       <s:CheckBox id="lettuceCB" label="Pickles" 
click="modifyBurger(event);"/>
+                       <s:CheckBox id="tomatoCB" label="Tomato" 
click="modifyBurger(event);"/>
+                       <s:CheckBox id="pickleCB" label="Lettuce" 
click="modifyBurger(event);"/>
+                       <s:CheckBox id="mayoCB" label="Mayonnaise" 
click="modifyBurger(event);"/>
+                       
+                       <mx:Spacer height="10" />
+                       <s:HGroup>
+                               <s:Label text="Total Price: " color="0x336699" 
fontWeight="bold"/>
+                               <s:Label id="totalString" text="$4.50" 
color="0x336699" fontWeight="bold"/>
+                       </s:HGroup>
+               </s:VGroup>
+               <s:Label top="10" right="10" width="250" 
verticalAlign="justify" color="#323232" 
+                                         text="The CheckBox control is a 
commonly used graphical control that can
+contain a check mark or not. You can use CheckBox controls to gather a 
+set of true or false values that aren’t mutually exclusive."/>
+       </s:Panel>
+       
+       
+</s:Application>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d4e368dc/TourDeFlex/TourDeFlex3/src/spark/controls/CustomDataGridSkin.mxml
----------------------------------------------------------------------
diff --git a/TourDeFlex/TourDeFlex3/src/spark/controls/CustomDataGridSkin.mxml 
b/TourDeFlex/TourDeFlex3/src/spark/controls/CustomDataGridSkin.mxml
new file mode 100644
index 0000000..b3da2b7
--- /dev/null
+++ b/TourDeFlex/TourDeFlex3/src/spark/controls/CustomDataGridSkin.mxml
@@ -0,0 +1,375 @@
+<?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.
+
+-->
+
+<s:SparkSkin 
+    xmlns:fx="http://ns.adobe.com/mxml/2009"; 
+    xmlns:s="library://ns.adobe.com/flex/spark" 
+    xmlns:mx="library://ns.adobe.com/flex/mx"
+    xmlns:fb="http://ns.adobe.com/flashbuilder/2009";
+    alpha.disabled="0.5" minWidth="89" minHeight="84">
+    
+    <fx:Metadata>
+    <![CDATA[
+        /** 
+        * @copy spark.skins.spark.ApplicationSkin#hostComponent
+          @langversion 3.0
+          @playerversion Flash 10
+          @playerversion AIR 1.5
+          @productversion Flex 4
+         */
+        [HostComponent("spark.components.DataGrid")]
+    ]]>
+    </fx:Metadata>
+    
+    <s:states>
+        <s:State name="normal" />
+        <s:State name="disabled" />
+    </s:states>
+    
+    <fx:Declarations>
+        <!--- @private -->        
+        <fx:Component id="alternatingRowColorsBackground">
+            <s:Rect 
implements="spark.components.gridClasses.IGridVisualElement">
+                <fx:Script>
+                    <![CDATA[
+                        import spark.components.DataGrid;
+                        import spark.components.Grid;
+                        
+                        /**
+                         * @private
+                         */
+                        public function prepareGridVisualElement(grid:Grid, 
rowIndex:int, columnIndex:int):void
+                        {
+                            const dataGrid:DataGrid = grid.dataGrid;
+                            if (!dataGrid)
+                                return;
+                            
+                            const colors:Array = 
dataGrid.getStyle("alternatingRowColors");
+                            if (colors && (colors.length > 0))
+                            {
+                                dataGrid.styleManager.getColorNames(colors); 
// lazily replace color names with ints
+                                rowBackgroundFillColor.color = colors[rowIndex 
% colors.length];
+                            }
+                            else
+                            {          
+                                // This should be the same as bgFill.color.
+                                rowBackgroundFillColor.color = 0xFFFFFF;
+                            }
+                        }
+                    ]]>
+                </fx:Script>  
+                <s:fill>
+                    <!--- @private -->   
+                    <s:SolidColor id="rowBackgroundFillColor" 
color="0xFFFFFF"/>
+                </s:fill>
+            </s:Rect>
+        </fx:Component>
+        
+        <!--- @private -->        
+        <fx:Component id="caretIndicator">
+            <s:Rect 
implements="spark.components.gridClasses.IGridVisualElement">
+                <fx:Script>
+                    <![CDATA[
+                        import spark.components.DataGrid;
+                        import spark.components.Grid;
+                        
+                        /**
+                         * @private
+                         */
+                        public function prepareGridVisualElement(grid:Grid, 
rowIndex:int, columnIndex:int):void
+                        {
+                            const dataGrid:DataGrid = grid.dataGrid;
+                            if (!dataGrid)
+                                return;
+                            
+                            const color:uint = dataGrid.getStyle("caretColor");
+                            caretIndicatorFill.color = color;
+                        }
+                    ]]>
+                </fx:Script>
+                
+                <s:stroke>
+                    <!--- @private -->
+                    <s:SolidColorStroke id="caretIndicatorFill" 
color="0x0167FF" weight="1"/>
+                </s:stroke>
+            </s:Rect>
+        </fx:Component>
+        
+        <!--- @private -->
+        <fx:Component id="columnSeparator">
+            <s:Line>
+                <s:stroke>
+                    <s:SolidColorStroke color="0xE6E6E6" weight="1" 
caps="square"/>
+                </s:stroke>
+            </s:Line>
+        </fx:Component>
+        
+        <!--- Defines the value of the columnSeparator property for the 
columnHeaderGroup. -->
+        <fx:Component id="headerColumnSeparator">
+            <s:Line>
+                <s:stroke>
+                    <s:SolidColorStroke color="0x696969" weight="1" 
caps="square"/>
+                </s:stroke>
+            </s:Line>
+        </fx:Component>
+        
+        <!--- Defines the value of the headerRenderer property for the 
columnHeaderGroup. 
+              The default is spark.skins.spark.DefaultGridHeaderRenderer -->
+        <fx:Component id="headerRenderer">
+            <s:DefaultGridHeaderRenderer />
+        </fx:Component>
+        
+        <!--- @private -->
+        <fx:Component id="hoverIndicator">
+            <s:Rect 
implements="spark.components.gridClasses.IGridVisualElement">
+                <fx:Script>
+                    <![CDATA[
+                        import spark.components.DataGrid;
+                        import spark.components.Grid;
+                        
+                        /**
+                         * @private
+                         */
+                        public function prepareGridVisualElement(grid:Grid, 
rowIndex:int, columnIndex:int):void
+                        {
+                            const dataGrid:DataGrid = grid.dataGrid;
+                            if (!dataGrid)
+                                return;
+                            
+                            const color:uint = 
dataGrid.getStyle("rollOverColor");
+                            hoverIndicatorFill.color = color;
+                        }
+                    ]]>
+                </fx:Script>
+                
+                <s:fill>
+                    <!--- @private -->
+                    <s:SolidColor id="hoverIndicatorFill" color="0xCEDBEF"/>
+                </s:fill>
+            </s:Rect>
+        </fx:Component>
+        
+        <!--- @private -->
+        <fx:Component id="rowSeparator">
+            <s:Line>
+                <s:stroke>
+                    <s:SolidColorStroke color="0xE6E6E6" weight="1" 
caps="square"/>
+                </s:stroke>
+            </s:Line>
+        </fx:Component>
+        
+        <!--- @private -->
+        <fx:Component id="selectionIndicator">
+            <s:Rect 
implements="spark.components.gridClasses.IGridVisualElement">
+                <fx:Script>
+                    <![CDATA[
+                        import spark.components.DataGrid;
+                        import spark.components.Grid;
+                        
+                        /**
+                         * @private
+                         */
+                        public function prepareGridVisualElement(grid:Grid, 
rowIndex:int, columnIndex:int):void
+                        {
+                            const dataGrid:DataGrid = grid.dataGrid;
+                            if (!dataGrid)
+                                return;
+                            
+                            const color:uint = 
dataGrid.getStyle("selectionColor");
+                            selectionIndicatorFill.color = color;
+                        }
+                    ]]>
+                </fx:Script>
+                
+                <s:fill>
+                    <!--- @private -->
+                    <s:SolidColor id="selectionIndicatorFill" 
color="0xA8C6EE"/>
+                </s:fill>                
+            </s:Rect>
+        </fx:Component>
+        
+        <!--- @private -->
+        <fx:Component id="editorIndicator">
+            <s:Rect>
+                <s:fill>
+                    <s:SolidColor color="0xFFFFFF"/>
+                </s:fill>                
+            </s:Rect>
+        </fx:Component>                    
+        
+    </fx:Declarations>
+    
+    <fx:Script fb:purpose="styling">
+    <![CDATA[
+        static private const exclusions:Array = ["scroller", "background", 
"columnHeaderGroup"];
+        static private const contentFill:Array = ["bgFill"];
+        
+        /**
+         * @private
+         */
+        override public function get colorizeExclusions():Array {return 
exclusions;}
+        
+        /**
+         * @private
+         */
+        override public function get contentItems():Array {return contentFill};
+        
+        /**
+         * @private
+         */
+        override protected function initializationComplete():void
+        {
+            useChromeColor = true;
+            super.initializationComplete();
+        }
+        
+        /**
+         * @private
+         */
+        override protected function updateDisplayList(unscaledWidth:Number, 
unscaledHeight:Number):void
+        {
+            if (getStyle("borderVisible") == true)
+            {
+                border.visible = true;
+                background.left = background.top = background.right = 
background.bottom = 1;
+                scroller.minViewportInset = 1;
+            }
+            else
+            {
+                border.visible = false;
+                background.left = background.top = background.right = 
background.bottom = 0;
+                scroller.minViewportInset = 0;
+            }
+            
+            borderStroke.color = getStyle("borderColor");
+            borderStroke.alpha = getStyle("borderAlpha");
+            
+            super.updateDisplayList(unscaledWidth, unscaledHeight);
+        }
+    ]]>
+    </fx:Script>
+    
+    <!-- column header, content -->
+    <s:VGroup horizontalAlign="justify" gap="0" left="0" right="0" top="0" 
bottom="0">
+        
+        <!--- @private -->
+        <s:GridColumnHeaderGroup id="columnHeaderGroup"
+            paddingLeft="1" paddingTop="1" paddingRight="1" minHeight="21" 
+            columnSeparator="{headerColumnSeparator}"
+            headerRenderer="{headerRenderer}"/>
+
+        <s:Group height="100%">
+            
+            <!--- @private -->
+            <s:Rect id="background" left="1" right="1" top="1" bottom="1" >
+                <s:fill>
+                    <!--- Defines the color of the background. The default 
color is 0xFFFFFF. -->
+                    <s:SolidColor id="bgFill" color="0xFFFFFF" />
+                </s:fill>
+            </s:Rect>
+            
+            <!-- header separator, scroller and grid -->
+            <s:VGroup horizontalAlign="justify" height="100%" width="100%" 
gap="-1">
+                <!--- @private -->
+                <s:Line id="headerSeparator">
+                    <s:stroke>
+                        <s:SolidColorStroke color="0x696969" weight="1" 
caps="square"/>
+                    </s:stroke>
+                </s:Line>          
+                
+                <!--- @private -->
+                <s:Scroller id="scroller" minViewportInset="1" 
hasFocusableChildren="false" height="100%">
+                           <s:Grid id="grid" 
itemRenderer="spark.skins.spark.DefaultGridItemRenderer"> 
+                               <!--
+                               <s:itemRenderer>
+                                   <fx:Component>
+                                       <s:GridItemRenderer>
+                                           <s:Label id="labelDisplay" 
paddingLeft="7" paddingRight="7" paddingBottom="5" paddingTop="9" width="100%" 
height="100%"/> 
+                                       </s:GridItemRenderer>
+                                   </fx:Component>
+                               </s:itemRenderer>
+                               -->
+                               
+                               <s:caretIndicator>
+                                   <fx:Component>
+                                       <s:Rect>
+                                           <s:stroke>
+                                               <s:SolidColorStroke 
color="0xff0000" weight="1"/>
+                                           </s:stroke>
+                                       </s:Rect>
+                                   </fx:Component>
+                               </s:caretIndicator>
+                               
+                               <s:selectionIndicator>
+                                   <fx:Component>
+                                       <s:Rect>
+                                           <s:fill>
+                                               <s:SolidColor color="0x00ff00"/>
+                                           </s:fill>                
+                                       </s:Rect>
+                                   </fx:Component>           
+                               </s:selectionIndicator>
+                              
+                               <s:columnSeparator>
+                                   <fx:Component>
+                                       <s:Line>
+                                           <s:stroke>
+                                               <s:SolidColorStroke 
color="0xE6E6E6" weight="1"/>
+                                           </s:stroke>
+                                       </s:Line>
+                                   </fx:Component>
+                               </s:columnSeparator>
+                               <s:rowSeparator>
+                                   <fx:Component>
+                                       <s:Line>
+                                           <s:stroke>
+                                               <s:SolidColorStroke 
color="0xE6E6E6" weight="1"/>
+                                           </s:stroke>
+                                       </s:Line>
+                                   </fx:Component>
+                               </s:rowSeparator>
+                               
+                               <s:hoverIndicator>
+                                   <fx:Component>
+                                       <s:Rect>
+                                           <s:fill>
+                                               <s:SolidColor color="0x0000ff"/>
+                                           </s:fill>
+                                       </s:Rect>
+                                   </fx:Component>            
+                               </s:hoverIndicator>
+                           </s:Grid>                  
+                </s:Scroller>
+            </s:VGroup>
+            
+        </s:Group>
+        
+    </s:VGroup>
+    
+    <!-- border -->
+    <!--- @private -->
+    <s:Rect left="0" right="0" top="0" bottom="0" id="border">
+        <s:stroke>
+            <!--- @private -->
+            <s:SolidColorStroke id="borderStroke" weight="1"/>
+        </s:stroke>
+    </s:Rect>    
+
+</s:SparkSkin>

Reply via email to