Added: websites/staging/flex/trunk/content/tourdeflex/spark/other/Contact.as
==============================================================================
--- websites/staging/flex/trunk/content/tourdeflex/spark/other/Contact.as 
(added)
+++ websites/staging/flex/trunk/content/tourdeflex/spark/other/Contact.as Sat 
Aug 23 08:50:20 2014
@@ -0,0 +1,37 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 phone:String;
+               public var email: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

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/ControllingViewportExample.mxml
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/ControllingViewportExample.mxml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/ControllingViewportExample.swf
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/ControllingViewportExample.swf
------------------------------------------------------------------------------
    svn:mime-type = application/x-shockwave-flash

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/Cursor1Example.mxml
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/Cursor1Example.mxml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/Cursor1Example.swf
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/Cursor1Example.swf
------------------------------------------------------------------------------
    svn:mime-type = application/x-shockwave-flash

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/Cursor2Example.mxml
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/Cursor2Example.mxml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/Cursor2Example.swf
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/Cursor2Example.swf
------------------------------------------------------------------------------
    svn:mime-type = application/x-shockwave-flash

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/DragAndDrop1Example.mxml
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/DragAndDrop1Example.mxml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/DragAndDrop1Example.swf
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/DragAndDrop1Example.swf
------------------------------------------------------------------------------
    svn:mime-type = application/x-shockwave-flash

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/DragAndDrop2Example.mxml
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/DragAndDrop2Example.mxml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/DragAndDrop2Example.swf
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/DragAndDrop2Example.swf
------------------------------------------------------------------------------
    svn:mime-type = application/x-shockwave-flash

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/FilterExample.mxml
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/FilterExample.mxml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/FilterExample.swf
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/FilterExample.swf
------------------------------------------------------------------------------
    svn:mime-type = application/x-shockwave-flash

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/RepeaterExample.mxml
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/RepeaterExample.mxml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/RepeaterExample.swf
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/RepeaterExample.swf
------------------------------------------------------------------------------
    svn:mime-type = application/x-shockwave-flash

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/ScrollBarsExample.mxml
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/ScrollBarsExample.mxml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/ScrollBarsExample.swf
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/ScrollBarsExample.swf
------------------------------------------------------------------------------
    svn:mime-type = application/x-shockwave-flash

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/TDFGradientBackgroundSkin.mxml
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/TDFGradientBackgroundSkin.mxml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/assets/ApacheFlexIcon.png
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/assets/ApacheFlexIcon.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/assets/ApacheFlexLogo.png
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/assets/ApacheFlexLogo.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/skins/CustomTabBarButtonSkin.mxml
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/skins/CustomTabBarButtonSkin.mxml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/skins/CustomTabBarSkin.mxml
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/skins/CustomTabBarSkin.mxml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/skins/TDFPanelSkin.mxml
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/other/skins/TDFPanelSkin.mxml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/ButtonWithIconExample.mxml
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/ButtonWithIconExample.mxml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/ButtonWithIconExample.swf
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/ButtonWithIconExample.swf
------------------------------------------------------------------------------
    svn:mime-type = application/x-shockwave-flash

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/SkinningApplication1Example.mxml
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/SkinningApplication1Example.mxml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/SkinningApplication1Example.swf
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/SkinningApplication1Example.swf
------------------------------------------------------------------------------
    svn:mime-type = application/x-shockwave-flash

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/SkinningApplication2Example.mxml
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/SkinningApplication2Example.mxml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/SkinningApplication2Example.swf
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/SkinningApplication2Example.swf
------------------------------------------------------------------------------
    svn:mime-type = application/x-shockwave-flash

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/SkinningApplication3Example.mxml
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/SkinningApplication3Example.mxml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/SkinningApplication3Example.swf
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/SkinningApplication3Example.swf
------------------------------------------------------------------------------
    svn:mime-type = application/x-shockwave-flash

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/SkinningContainerExample.mxml
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/SkinningContainerExample.mxml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/SkinningContainerExample.swf
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/SkinningContainerExample.swf
------------------------------------------------------------------------------
    svn:mime-type = application/x-shockwave-flash

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/assets/arrow_icon_sm.png
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/assets/arrow_icon_sm.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/assets/icon_add.png
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/assets/icon_add.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/assets/icon_check.png
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/assets/icon_check.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/assets/icon_close16.png
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/assets/icon_close16.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/assets/icon_plus.png
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/assets/icon_plus.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/assets/icon_remove.png
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/assets/icon_remove.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/assets/wood-bg.png
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/assets/wood-bg.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/skins/AddButtonSkin.mxml
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/skins/AddButtonSkin.mxml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/skins/BackgroundImageAppSkin.mxml
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/skins/BackgroundImageAppSkin.mxml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/skins/CloseButtonSkin.mxml
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/skins/CloseButtonSkin.mxml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/skins/CustomControlBarAppSkin.mxml
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/skins/CustomControlBarAppSkin.mxml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/skins/CustomSkinnableContainerSkin.mxml
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/skins/CustomSkinnableContainerSkin.mxml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/skins/FancyButtonSkin.mxml
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/skins/FancyButtonSkin.mxml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/skins/GradientBackgroundAppSkin.mxml
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/skins/GradientBackgroundAppSkin.mxml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/skins/IconTextButtonSkin.mxml
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/skins/IconTextButtonSkin.mxml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/skins/MyPanelSkin.mxml
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/skins/MyPanelSkin.mxml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/skins/TDFPanelSkin.mxml
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/skinning/skins/TDFPanelSkin.mxml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/states/AnimateShaderTransitionEffect.mxml
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/states/AnimateShaderTransitionEffect.mxml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/states/assets/back.png
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/states/assets/back.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/TextLayoutEditorCanvas.mxml
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/TextLayoutEditorCanvas.mxml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/TextLayoutEditorSample.mxml
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/TextLayoutEditorSample.mxml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/assets/%scroll_arrow_down_over.png
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/assets/%scroll_arrow_down_over.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/assets/%scroll_arrow_up_over.png
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/assets/%scroll_arrow_up_over.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/assets/combo_drop_down_arrow.png
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/assets/combo_drop_down_arrow.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/assets/header_close_icon.png
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/assets/header_close_icon.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/assets/header_open_icon.png
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/assets/header_open_icon.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/assets/scroll_arrow_down.png
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/assets/scroll_arrow_down.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/assets/scroll_arrow_down_over.png
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/assets/scroll_arrow_down_over.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/assets/scroll_arrow_up.png
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/assets/scroll_arrow_up.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/assets/scroll_arrow_up_over.png
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/assets/scroll_arrow_up_over.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/UiClasses.as
==============================================================================
--- 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/UiClasses.as
 (added)
+++ 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/UiClasses.as
 Sat Aug 23 08:50:20 2014
@@ -0,0 +1,54 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 flashx.textLayout
+{
+       internal class UiClasses
+       {
+               import 
flashx.textLayout.ui.inspectors.DynamicTextPropertyEditor; 
DynamicTextPropertyEditor;
+               import flashx.textLayout.ui.inspectors.SelectionUpdateEvent; 
SelectionUpdateEvent;
+               import flashx.textLayout.ui.inspectors.TextInspectorController; 
TextInspectorController;
+               import flashx.textLayout.ui.inspectors.CharacterPropertyEditor; 
CharacterPropertyEditor;
+               import flashx.textLayout.ui.inspectors.LinkPropertyEditor; 
LinkPropertyEditor;
+               import flashx.textLayout.ui.inspectors.TabPropertyEditor; 
TabPropertyEditor;
+               import 
flashx.textLayout.ui.inspectors.AdvancedTextPropertyEditor; 
AdvancedTextPropertyEditor;
+               import flashx.textLayout.ui.inspectors.AntiAliasPropertyEditor; 
AntiAliasPropertyEditor;
+               import 
flashx.textLayout.ui.inspectors.TextContainerPropertyEditor; 
TextContainerPropertyEditor;
+               import flashx.textLayout.ui.inspectors.TextFlowPropertyEditor; 
TextFlowPropertyEditor;
+               import flashx.textLayout.ui.inspectors.ParagraphPropertyEditor; 
ParagraphPropertyEditor;
+               
+               import flashx.textLayout.ui.styles.ScrollbarThumbOverSkin; 
ScrollbarThumbOverSkin;
+               import flashx.textLayout.ui.styles.ScrollbarTrackSkin; 
ScrollbarTrackSkin;
+               import flashx.textLayout.ui.styles.ScrollbarThumbUpSkin; 
ScrollbarThumbUpSkin;
+               import flashx.textLayout.ui.styles.ScrollbarDownArrowUpSkin; 
ScrollbarDownArrowUpSkin;
+               import flashx.textLayout.ui.styles.ScrollbarUpArrowUpSkin; 
ScrollbarUpArrowUpSkin;
+               import flashx.textLayout.ui.styles.PopupMenuSkin; PopupMenuSkin;
+               
+               import flashx.textLayout.ui.rulers.RulerBar; RulerBar;
+               import flashx.textLayout.ui.rulers.RulerDragTracker; 
RulerDragTracker;
+               import flashx.textLayout.ui.rulers.RulerMarker; RulerMarker;
+               import flashx.textLayout.ui.rulers.TabMarker; TabMarker;
+               import flashx.textLayout.ui.rulers.TabMarkerSkin; TabMarkerSkin;
+               import flashx.textLayout.ui.rulers.ParagraphPropertyMarker; 
ParagraphPropertyMarker;
+               import flashx.textLayout.ui.rulers.ParagraphPropertyMarkerSkin; 
ParagraphPropertyMarkerSkin;
+               
+               import flashx.textLayout.ui.MultiPanel; MultiPanel;
+               import flashx.textLayout.ui.MultiPanelHeaderSkin; 
MultiPanelHeaderSkin;
+               import flashx.textLayout.ui.PanelWithEdgeBars; 
PanelWithEdgeBars;
+       }
+}

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/MultiPanel.as
==============================================================================
--- 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/MultiPanel.as
 (added)
+++ 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/MultiPanel.as
 Sat Aug 23 08:50:20 2014
@@ -0,0 +1,206 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 flashx.textLayout.ui
+{
+       import flash.events.MouseEvent;
+       
+       import mx.controls.Button;
+       import mx.core.EdgeMetrics;
+       import mx.core.LayoutContainer;
+       import mx.core.ScrollPolicy;
+       import mx.effects.Resize;
+       import mx.events.ResizeEvent;
+       
+    [Style(name="openDuration", type="Number", format="Time", inherit="no")]
+    [Style(name="closeDuration", type="Number", format="Time", inherit="no")]
+    [Style(name="headerTextAlign", type="String", inherit="no")]
+
+    public class MultiPanel extends LayoutContainer {
+
+               [Embed (source="assets/header_close_icon.png")]
+               private static var ICON_CLOSE:Class;
+               
+               [Embed (source="assets/header_open_icon.png")]
+               private static var ICON_OPEN:Class;
+               
+               private static var SPACING_TOP:uint = 10;
+               private static var SPACING_BOTTOM:uint = 5;
+               private var _headerButton:Button = null;
+               private var _openedChanged:Boolean = false;
+               private var _opened:Boolean = true;
+               private var _viewMetrics:EdgeMetrics;
+               private var resize:Resize;
+
+               public function MultiPanel() {
+                       super();
+
+                       this.verticalScrollPolicy = ScrollPolicy.OFF;
+                       this.horizontalScrollPolicy = ScrollPolicy.OFF;
+                       
+                       addEventListener("PropertyEditorChanged", 
onPropertyEditorChange);
+               }
+
+        protected function createOrReplaceHeaderButton():void {
+           if(_headerButton) {
+                _headerButton.removeEventListener(MouseEvent.CLICK, 
headerButton_clickHandler);
+                
+                if(rawChildren.contains(_headerButton))
+                    rawChildren.removeChild(_headerButton);
+            }
+            
+                       _headerButton = new Button();
+            applyHeaderButtonStyles(_headerButton);
+            _headerButton.addEventListener(MouseEvent.CLICK, 
headerButton_clickHandler);
+            rawChildren.addChild(_headerButton);
+        }
+
+        protected function applyHeaderButtonStyles(button:Button):void {
+            button.setStyle("textAlign", getStyle("headerTextAlign"));
+               button.styleName = "multiPanelHeader";
+            button.height = getStyle("headerHeight");
+            button.label = label;
+                       
+            if(_opened)
+                button.setStyle('icon', ICON_OPEN);
+            else
+                button.setStyle('icon', ICON_CLOSE);
+        }
+
+        override public function set label(value:String):void {
+            super.label = value;
+            if(_headerButton) _headerButton.label = value;
+        }
+
+        public function get opened():Boolean {
+            return _opened;
+        }
+        
+        [Bindable]
+        public function set opened(value:Boolean):void {
+            var old:Boolean = _opened;
+            
+            _opened = value;
+            _openedChanged = _openedChanged || old != _opened;
+           
+            if(_openedChanged && initialized) {
+                measure();
+                       runResizeEffect();
+                
+                invalidateProperties();
+            }
+        }
+
+        override public function styleChanged(styleProp:String):void {
+            super.styleChanged(styleProp);
+            
+            if(styleProp == "headerTextAlign") {
+                applyHeaderButtonStyles(_headerButton);
+            }
+            
+            invalidateDisplayList();
+        }
+
+        override protected function createChildren():void {
+            super.createChildren();
+         
+            createOrReplaceHeaderButton();
+        }
+
+        override protected function commitProperties():void {
+                       super.commitProperties();
+                                               
+            if(_openedChanged) {
+                if(_opened)
+                    _headerButton.setStyle('icon', ICON_OPEN);
+                else
+                    _headerButton.setStyle('icon', ICON_CLOSE);
+                
+                _openedChanged = false;
+            }
+        }
+
+        override protected function updateDisplayList(w:Number, h:Number):void 
{
+            super.updateDisplayList(w, h);
+            
+                       _headerButton.move(0,0);
+                       _headerButton.setActualSize(w, 
_headerButton.getExplicitOrMeasuredHeight());
+        }
+
+               override public function get viewMetrics():EdgeMetrics {
+               if (!_viewMetrics)
+                   _viewMetrics = new EdgeMetrics(0, 0, 0, 0);
+               
+               var edgeMetrics:EdgeMetrics = _viewMetrics;
+               var parentEdgeMetrics:EdgeMetrics = super.viewMetrics;
+               
+               edgeMetrics.left = parentEdgeMetrics.left;
+               edgeMetrics.top = parentEdgeMetrics.top + SPACING_TOP;
+               edgeMetrics.right = parentEdgeMetrics.right;
+               edgeMetrics.bottom = parentEdgeMetrics.bottom + SPACING_BOTTOM;
+               
+               var headerHeight:Number = 
_headerButton.getExplicitOrMeasuredHeight();
+               if (!isNaN(headerHeight)) {
+                       edgeMetrics.top += headerHeight;
+               }
+
+               return edgeMetrics;
+       }
+
+        override protected function measure():void {
+            super.measure();
+            
+            if(!_opened) {
+               //only the height of the header button
+               measuredHeight = _headerButton.getExplicitOrMeasuredHeight();
+            }
+        }
+               
+        protected function runResizeEffect():void {
+                       if(resize && resize.isPlaying)
+                               resize.end();
+                       
+            var duration:Number = _opened ? getStyle("openDuration") : 
getStyle("closeDuration");
+            if(duration == 0) { 
+               this.setActualSize(getExplicitOrMeasuredWidth(), 
measuredHeight);
+               
+               invalidateSize();
+               invalidateDisplayList();
+            }
+            else {
+                   resize = new Resize(this);
+                   resize.heightTo = Math.min(maxHeight, measuredHeight);
+                   resize.duration = duration;
+                   resize.play();
+               }
+           }
+
+        protected function headerButton_clickHandler(event:MouseEvent):void {
+            opened = !_opened;
+        }
+               
+               private function onPropertyEditorChange(event:Event):void {
+                       // Make sure that the panel exists and is open before 
doing anything
+            if(initialized && _opened) {
+                measure();
+                       runResizeEffect();
+                invalidateProperties();
+            }
+               }
+     }
+}

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/MultiPanelHeaderSkin.as
==============================================================================
--- 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/MultiPanelHeaderSkin.as
 (added)
+++ 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/MultiPanelHeaderSkin.as
 Sat Aug 23 08:50:20 2014
@@ -0,0 +1,58 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 flashx.textLayout.ui
+{
+       import mx.skins.RectangularBorder;
+       import mx.utils.GraphicsUtil;
+       import flash.display.LineScaleMode;
+       import flash.display.CapsStyle;
+
+       public class MultiPanelHeaderSkin extends RectangularBorder
+       {
+               public function MultiPanelHeaderSkin()
+               {
+                       super();
+               }
+               
+               override protected function updateDisplayList(w:Number, 
h:Number):void
+               {
+                       super.updateDisplayList(w, h);
+                       
+                       var fillColors:Array = [0x000000, 0x000000];
+                       var fillAlphas:Array = [1.0, 1.0];
+                       var borderColor:uint = 0x2A2A2A;
+                       var borderAlpha:Number = 1.0;
+                       
+                       if (getStyle("fillColors") != undefined)
+                               fillColors = getStyle("fillColors");
+                       if (getStyle("fillAlphas") != undefined)
+                               fillAlphas = getStyle("fillAlphas");
+                       if (getStyle("borderColor") != undefined)
+                               borderColor = getStyle("borderColor");
+                       if (getStyle("borderAlpha") != undefined)
+                               borderAlpha = getStyle("borderAlpha");
+
+                       graphics.clear();
+                       drawRoundRect(0,0,w, h, null, fillColors, fillAlphas, 
verticalGradientMatrix(0,0,w,h));
+                       graphics.lineStyle(1, borderColor, borderAlpha, true, 
LineScaleMode.NONE, CapsStyle.SQUARE);
+                       graphics.drawRect(0, 0, w-1, h);
+               }
+       }
+}
\ No newline at end of file

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/PanelWithEdgeBars.as
==============================================================================
--- 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/PanelWithEdgeBars.as
 (added)
+++ 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/PanelWithEdgeBars.as
 Sat Aug 23 08:50:20 2014
@@ -0,0 +1,266 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 flashx.textLayout.ui
+{
+       import flash.geom.Rectangle;
+       
+       import mx.binding.utils.*;
+       import mx.containers.Canvas;
+       import mx.core.UIComponent;
+       import mx.events.ResizeEvent;
+
+       public class PanelWithEdgeBars extends Canvas
+       {
+               public function PanelWithEdgeBars()
+               {
+                       super();
+                       addEventListener(ResizeEvent.RESIZE, onResize);
+               }
+               
+               public function set mainPanel(inPanel:UIComponent):void
+               {
+                       if (mMainPanel == null)
+                       {
+                               mMainPanel = inPanel;
+                               ArrangeContents();
+                       }
+                       else if (mMainPanel != inPanel)
+                               throw new Error("Can't set main panel more than 
once.");
+               }
+               
+               public function get mainPanel():UIComponent
+               {
+                       return mMainPanel;
+               }
+               
+               public function set topBar(inBar:UIComponent):void
+               {
+                       if (mTopBar == null && inBar != null)
+                       {
+                               mTopBar = inBar;
+                               ArrangeContents();
+                               var watcherSetter:ChangeWatcher = 
BindingUtils.bindSetter(includeInLayoutChanged, mTopBar, "includeInLayout");
+                       }
+                       else if (mTopBar != inBar)
+                               throw new Error("Can't set any edge bar more 
than once.");
+               }
+               
+               public function get topBar():UIComponent
+               {
+                       return mTopBar;
+               }
+               
+               public function set rightBar(inBar:UIComponent):void
+               {
+                       if (mRightBar == null && inBar != null)
+                       {
+                               mRightBar = inBar;
+                               ArrangeContents();
+                               var watcherSetter:ChangeWatcher = 
BindingUtils.bindSetter(includeInLayoutChanged, mRightBar, "includeInLayout");
+                       }
+                       else if (mRightBar != inBar)
+                               throw new Error("Can't set any edge bar more 
than once.");
+               }
+               
+               public function get rightBar():UIComponent
+               {
+                       return mRightBar;
+               }
+               
+               public function set bottomBar(inBar:UIComponent):void
+               {
+                       if (mBottomBar == null && inBar != null)
+                       {
+                               mBottomBar = inBar;
+                               ArrangeContents();
+                               var watcherSetter:ChangeWatcher = 
BindingUtils.bindSetter(includeInLayoutChanged, mBottomBar, "includeInLayout");
+                       }
+                       else if (mBottomBar != inBar)
+                               throw new Error("Can't set any edge bar more 
than once.");
+               }
+               
+               public function get bottomBar():UIComponent
+               {
+                       return mBottomBar;
+               }
+
+               public function set leftBar(inBar:UIComponent):void
+               {
+                       if (mLeftBar == null && inBar != null)
+                       {
+                               mLeftBar = inBar;
+                               ArrangeContents();
+                               var watcherSetter:ChangeWatcher = 
BindingUtils.bindSetter(includeInLayoutChanged, mLeftBar, "includeInLayout");
+                       }
+                       else if (mLeftBar != inBar)
+                               throw new Error("Can't set any edge bar more 
than once.");
+               }
+               
+               public function get leftBar():UIComponent
+               {
+                       return mLeftBar;
+               }
+               
+               public function set edgeInset(inInset:Number):void
+               {
+                       mEdgeInset = inInset;
+                       ArrangeContents();
+               }
+               
+               public function get edgeInset():Number
+               {
+                       return mEdgeInset;
+               }
+               
+               public function set gap(inGap:Number):void
+               {
+                       mGap = inGap;
+                       ArrangeContents();
+               }
+               
+               public function get gap():Number
+               {
+                       return mGap;
+               }
+               
+               public function set leftInset(inInset:Number):void
+               {
+                       mLeftInset = inInset;
+                       ArrangeContents();
+               }
+               
+               public function get leftInset():Number
+               {
+                       return mLeftInset;
+               }
+               
+               public function set topInset(inInset:Number):void
+               {
+                       mTopInset = inInset;
+                       ArrangeContents();
+               }
+               
+               public function get topInset():Number
+               {
+                       return mTopInset;
+               }
+               
+               public function set rightInset(inInset:Number):void
+               {
+                       mRightInset = inInset;
+                       ArrangeContents();
+               }
+               
+               public function get rightInset():Number
+               {
+                       return mRightInset;
+               }
+               
+               public function set bottomInset(inInset:Number):void
+               {
+                       mBottomInset = inInset;
+                       ArrangeContents();
+               }
+               
+               public function get bottomInset():Number
+               {
+                       return mBottomInset;
+               }
+               
+               private function onResize(evt:ResizeEvent):void
+               {
+                       ArrangeContents();
+               }
+               
+               private function includeInLayoutChanged(val:Boolean):void {
+                   ArrangeContents();
+               }
+            
+               private function ArrangeContents():void
+               {
+                       var space:Rectangle = new Rectangle(0, 0, width, 
height);
+                       for (var i:int = numChildren - 1; i >= 0; --i)
+                       {
+                               var child:UIComponent = getChildAt(i) as 
UIComponent;
+                               if (child && child.includeInLayout)
+                               {
+                                       var inset:Number;
+                                       if (child == mTopBar)
+                                       {
+                                               inset = mTopInset ? mTopInset : 
mEdgeInset;
+                                               child.x = space.x;
+                                               child.width = space.width;
+                                               child.y = space.y;
+                                               child.height = inset;
+                                               space.y += inset + mGap;
+                                               space.height -= inset + mGap;
+                                       }
+                                       else if (child == mRightBar)
+                                       {
+                                               inset = mRightInset ? 
mRightInset : mEdgeInset;
+                                               child.x = space.right - inset;
+                                               child.width = inset;
+                                               child.y = space.y;
+                                               child.height = space.height;
+                                               space.width -= inset + mGap;
+                                       }
+                                       else if (child == mBottomBar)
+                                       {
+                                               inset = mBottomInset ? 
mBottomInset : mEdgeInset;
+                                               child.x = space.x;
+                                               child.width = space.width;
+                                               child.y = space.bottom - inset;
+                                               child.height = inset;
+                                               space.height -= inset + mGap;
+                                       }
+                                       if (child == mLeftBar)
+                                       {
+                                               inset = mLeftInset ? mLeftInset 
: mEdgeInset;
+                                               child.x = space.x;
+                                               child.width = inset;
+                                               child.y = space.y;
+                                               child.height = space.height;
+                                               space.x += inset + mGap;
+                                               space.width -= inset + mGap;
+                                       }
+                               }
+                       }
+                       if (mMainPanel)
+                       {
+                               mMainPanel.x = space.x;
+                               mMainPanel.y = space.y;
+                               mMainPanel.width = space.width;
+                               mMainPanel.height = space.height;
+                       }
+               }
+               
+               private var mTopBar:UIComponent = null;
+               private var mRightBar:UIComponent = null;
+               private var mBottomBar:UIComponent = null;
+               private var mLeftBar:UIComponent = null;
+               private var mMainPanel:UIComponent = null;
+               private var mEdgeInset:Number = 16;
+               private var mLeftInset:Number = 0;
+               private var mRightInset:Number = 0;
+               private var mTopInset:Number = 0;
+               private var mBottomInset:Number = 0;
+               private var mGap:Number = 1;
+       }
+}
\ No newline at end of file

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/assets/%scroll_arrow_down_over.png
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/assets/%scroll_arrow_down_over.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/assets/%scroll_arrow_up_over.png
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/assets/%scroll_arrow_up_over.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/assets/combo_drop_down_arrow.png
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/assets/combo_drop_down_arrow.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/assets/header_close_icon.png
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/assets/header_close_icon.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/assets/header_open_icon.png
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/assets/header_open_icon.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/assets/scroll_arrow_down.png
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/assets/scroll_arrow_down.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/assets/scroll_arrow_down_over.png
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/assets/scroll_arrow_down_over.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/assets/scroll_arrow_up.png
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/assets/scroll_arrow_up.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/assets/scroll_arrow_up_over.png
==============================================================================
Binary file - no diff available.

Propchange: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/assets/scroll_arrow_up_over.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/inspectors/AdvancedTextPropertyEditor.as
==============================================================================
--- 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/inspectors/AdvancedTextPropertyEditor.as
 (added)
+++ 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/inspectors/AdvancedTextPropertyEditor.as
 Sat Aug 23 08:50:20 2014
@@ -0,0 +1,190 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 flashx.textLayout.ui.inspectors
+{
+       import flash.text.engine.*;
+       
+       import flashx.textLayout.formats.FormatValue;
+       import flashx.textLayout.formats.TextLayoutFormat;
+       import flashx.textLayout.tlf_internal;
+       use namespace tlf_internal;
+       
+       public class AdvancedTextPropertyEditor extends 
DynamicTextPropertyEditor
+       {
+               public function AdvancedTextPropertyEditor()
+               {
+                       var recipe:XML = 
+                               <recipe>
+                                       <row>
+                                               <editor type="combo" 
label="$$$/stage/TextEditing/Label/DigitCase=Digit Case:">
+                                                       <property 
name={TextInspectorController.DIGIT_CASE_UIPROP}/>
+                                                       <choice 
display="Default" value={flash.text.engine.DigitCase.DEFAULT}/>
+                                                       <choice 
display="Lining" value={flash.text.engine.DigitCase.LINING}/>
+                                                       <choice display="Old 
Style" value={flash.text.engine.DigitCase.OLD_STYLE}/>
+                                               </editor>
+                                       </row>
+                                       <row>
+                                               <editor type="combo" 
label="$$$/stage/TextEditing/Label/DigitWidth=Digit Width:">
+                                                       <property 
name={TextInspectorController.DIGIT_WIDTH_UIPROP}/>
+                                                       <choice 
display="Default" value={flash.text.engine.DigitWidth.DEFAULT}/>
+                                                       <choice 
display="Proportional" value={flash.text.engine.DigitWidth.PROPORTIONAL}/>
+                                                       <choice 
display="Tabular" value={flash.text.engine.DigitWidth.TABULAR}/>
+                                               </editor>
+                                       </row>
+                                       <row>
+                                               <editor type="combo" 
label="$$$/stage/TextEditing/Label/DominantBaseline=Dominant Baseline:">
+                                                       <property 
name={TextInspectorController.DOMINANT_BASELINE_UIPROP}/>
+                                                       <choice display="Auto" 
value={FormatValue.AUTO}/>
+                                                       <choice display="Roman" 
value={flash.text.engine.TextBaseline.ROMAN}/>
+                                                       <choice 
display="Ascent" value={flash.text.engine.TextBaseline.ASCENT}/>
+                                                       <choice 
display="Descent" value={flash.text.engine.TextBaseline.DESCENT}/>
+                                                       <choice 
display="Ideographic Top" 
value={flash.text.engine.TextBaseline.IDEOGRAPHIC_TOP}/>
+                                                       <choice 
display="Ideographic Center" 
value={flash.text.engine.TextBaseline.IDEOGRAPHIC_CENTER}/>
+                                                       <choice 
display="Ideographic Bottom" 
value={flash.text.engine.TextBaseline.IDEOGRAPHIC_BOTTOM}/>
+                                               </editor>
+                                       </row>
+                                       <row>
+                                               <editor type="combo" 
label="$$$/stage/TextEditing/Label/AlignmentBaseline=Alignment Baseline:">
+                                                       <property 
name={TextInspectorController.ALIGNMENT_BASELINE_UIPROP}/>
+                                                       <choice display="Roman" 
value={flash.text.engine.TextBaseline.ROMAN}/>
+                                                       <choice 
display="Ascent" value={flash.text.engine.TextBaseline.ASCENT}/>
+                                                       <choice 
display="Descent" value={flash.text.engine.TextBaseline.DESCENT}/>
+                                                       <choice 
display="Ideographic Top" 
value={flash.text.engine.TextBaseline.IDEOGRAPHIC_TOP}/>
+                                                       <choice 
display="Ideographic Center" 
value={flash.text.engine.TextBaseline.IDEOGRAPHIC_CENTER}/>
+                                                       <choice 
display="Ideographic Bottom" 
value={flash.text.engine.TextBaseline.IDEOGRAPHIC_BOTTOM}/>
+                                                       <choice display="Use 
Dominant" value={flash.text.engine.TextBaseline.USE_DOMINANT_BASELINE}/>
+                                               </editor>
+                                       </row>
+                                       <row>
+                                               <editor type="hotnumberunit" 
label="$$$/stage/TextEditing/Label/BaselineShift=Baseline Shift:">
+                                                       <property 
name={TextInspectorController.BASELINE_SHIFT_UIPROP}/>
+                                                       
<defaultunit>pix</defaultunit>
+                                                       <numericunit 
displayname="%" 
+                                                               
min={TextLayoutFormat.baselineShiftProperty.minPercentValue}
+                                                               
max={TextLayoutFormat.baselineShiftProperty.maxPercentValue} 
+                                                               default="0" 
+                                                               decimals="1"/>
+                                                       <numericunit 
displayname="pix" 
+                                                               
min={TextLayoutFormat.baselineShiftProperty.minNumberValue}
+                                                               
max={TextLayoutFormat.baselineShiftProperty.maxNumberValue} 
+                                                               default="0" 
+                                                               decimals="1"/>
+                                               </editor>
+                                       </row>
+                                       <row>
+                                               <editor type="combo" 
label="$$$/stage/TextEditing/Label/Ligatures=Ligatures:">
+                                                       <property 
name={TextInspectorController.LIGATURE_LEVEL_UIPROP}/>
+                                                       <choice 
display="Minimum" value={flash.text.engine.LigatureLevel.MINIMUM}/>
+                                                       <choice 
display="Common" value={flash.text.engine.LigatureLevel.COMMON}/>
+                                                       <choice 
display="Uncommon" value={flash.text.engine.LigatureLevel.UNCOMMON}/>
+                                                       <choice 
display="Exotic" value={flash.text.engine.LigatureLevel.EXOTIC}/>
+                                               </editor>
+                                       </row>
+                                       <row>
+                                               <editor type="combo" 
label="$$$/stage/TextEditing/Label/Rotation=Rotation:">
+                                                       <property 
name={TextInspectorController.TEXT_ROTATION_UIPROP}/>
+                                                       <choice display="0 
degrees" value={flash.text.engine.TextRotation.ROTATE_0}/>
+                                                       <choice display="90 
degrees" value={flash.text.engine.TextRotation.ROTATE_90}/>
+                                                       <choice display="180 
degrees" value={flash.text.engine.TextRotation.ROTATE_180}/>
+                                                       <choice display="270 
degrees" value={flash.text.engine.TextRotation.ROTATE_270}/>
+                                                       <choice display="auto" 
value={flash.text.engine.TextRotation.AUTO}/>
+                                               </editor>
+                                       </row>
+                                       <row>
+                                               <editor type="hotnumber" 
label="$$$/stage/TextEditing/Label/Alpha=Alpha:" suffix="%">
+                                                       <property 
name={TextInspectorController.TEXT_ALPHA_UIPROP} 
+                                                               minValue="0" 
+                                                               maxValue="100"
+                                                               
convertToPercent="yes"/>
+                                               </editor>
+                                       </row>
+                                       <row>
+                                               <editor type="hotnumber" 
label="$$$/stage/TextEditing/Label/BackgroundAlpha=Background alpha:" 
suffix="%">
+                                                       <property 
name={TextInspectorController.BACKGROUND_ALPHA_UIPROP} 
+                                                               minValue="0" 
+                                                               maxValue="100"
+                                                               
convertToPercent="yes"/>
+                                               </editor>
+                                       </row>
+                                       <row>
+                                               <editor type="combo" 
label="$$$/stage/TextEditing/Label/Break=Break:">
+                                                       <property 
name={TextInspectorController.BREAK_OPPORTUNITY_UIPROP}/>
+                                                       <choice display="All" 
value={flash.text.engine.BreakOpportunity.ALL}/>
+                                                       <choice display="Any" 
value={flash.text.engine.BreakOpportunity.ANY}/>
+                                                       <choice display="Auto" 
value={flash.text.engine.BreakOpportunity.AUTO}/>
+                                                       <choice display="No 
Break" value={flash.text.engine.BreakOpportunity.NONE}/>
+                                               </editor>
+                                       </row>
+                                       <row>
+                                               <editor type="combo" 
label="$$$/stage/TextEditing/Label/Lacale=Locale:">
+                                                       <property 
name={TextInspectorController.LOCALE_UIPROP}/>
+                                                       <choice 
display="Arabic" value="ar"/>,
+                                                       <choice 
display="Bengali" value="bn"/>,
+                                                       <choice 
display="Bulgarian" value="bg"/>,
+                                                       <choice 
display="Catalan" value="ca"/>,
+                                                       <choice 
display="Chinese, Simplified (China)" value="zh-CN"/>,
+                                                       <choice 
display="Chinese, Traditional (Taiwan)" value="zh-TW"/>,
+                                                       <choice 
display="Croatian" value="hr"/>,
+                                                       <choice display="Czech" 
value="cs"/>,
+                                                       <choice 
display="Danish" value="da"/>,
+                                                       <choice display="Dutch" 
value="nl"/>,
+                                                       <choice 
display="English" value="en"/>,
+                                                       <choice 
display="Estonian" value="et"/>,
+                                                       <choice 
display="Finnish" value="fi"/>,
+                                                       <choice 
display="French" value="fr"/>,
+                                                       <choice 
display="German" value="de"/>,
+                                                       <choice display="Greek" 
value="el"/>,
+                                                       <choice 
display="Gujarati" value="gu"/>,
+                                                       <choice display="Hindi" 
value="hi"/>,
+                                                       <choice 
display="Hebrew" value="he"/>,
+                                                       <choice 
display="Hungarian" value="hu"/>,
+                                                       <choice 
display="Italian" value="it"/>,
+                                                       <choice 
display="Japanese" value="ja"/>,
+                                                       <choice 
display="Korean" value="ko"/>,
+                                                       <choice 
display="Latvian" value="lv"/>,
+                                                       <choice 
display="Lithuanian" value="lt"/>,
+                                                       <choice 
display="Marathi" value="mr"/>,
+                                                       <choice 
display="Norwegian" value="no"/>,
+                                                       <choice 
display="Persian" value="fa"/>,
+                                                       <choice 
display="Polish" value="pl"/>,
+                                                       <choice 
display="Portuguese" value="pt"/>,
+                                                       <choice 
display="Punjabi" value="pa"/>,
+                                                       <choice 
display="Romanian" value="ro"/>,
+                                                       <choice 
display="Russian" value="ru"/>,
+                                                       <choice 
display="Slovak" value="sk"/>,
+                                                       <choice 
display="Slovenian" value="sl"/>,
+                                                       <choice 
display="Spanish" value="es"/>,
+                                                       <choice 
display="Swedish" value="sv"/>,
+                                                       <choice display="Tamil" 
value="ta"/>,
+                                                       <choice 
display="Telugu" value="te"/>,
+                                                       <choice display="Thai" 
value="th"/>,
+                                                       <choice 
display="Turkish" value="tr"/>,
+                                                       <choice 
display="Ukrainian" value="uk"/>,
+                                                       <choice display="Urdu" 
value="ur"/>,
+                                                       <choice 
display="Vietnamese" value="vi"/>
+                                               </editor>
+                                       </row>
+                               </recipe>;
+
+                       super(recipe);
+               }
+               
+       }
+}
\ No newline at end of file

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/inspectors/AntiAliasPropertyEditor.as
==============================================================================
--- 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/inspectors/AntiAliasPropertyEditor.as
 (added)
+++ 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/inspectors/AntiAliasPropertyEditor.as
 Sat Aug 23 08:50:20 2014
@@ -0,0 +1,51 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 flashx.textLayout.ui.inspectors
+{
+       import flash.text.AntiAliasType;
+       import flash.text.engine.CFFHinting;
+       import flash.text.engine.RenderingMode;
+
+       public class AntiAliasPropertyEditor extends DynamicTextPropertyEditor
+       {
+               public function AntiAliasPropertyEditor()
+               {
+                       var recipe:XML = 
+                               <recipe>
+                                       <row>
+                                               <editor type="combo" 
label="$$$/stage/TextEditing/Label/Antialias=Antialias:">
+                                                       <property 
name={TextInspectorController.RENDERING_MODE_UIPROP}/>
+                                                       <choice 
display="Normal" value={flash.text.engine.RenderingMode.NORMAL}/>
+                                                       <choice display="CFF" 
value={flash.text.engine.RenderingMode.CFF}/>
+                                               </editor>
+                                       </row>
+                                       <row>
+                                               <editor type="combo" 
label="$$$/stage/TextEditing/Label/GridFit=Grid Fit:">
+                                                       <property 
name={TextInspectorController.CFF_HINTING_UIPROP}/>
+                                                       <choice display="None" 
value={flash.text.engine.CFFHinting.NONE}/>
+                                                       <choice 
display="Horizontal stem" value={flash.text.engine.CFFHinting.HORIZONTAL_STEM}/>
+                                               </editor>
+                                       </row>
+                               </recipe>;
+                       super(recipe);
+               }
+               
+       }
+}
\ No newline at end of file

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/inspectors/CharacterPropertyEditor.as
==============================================================================
--- 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/inspectors/CharacterPropertyEditor.as
 (added)
+++ 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/inspectors/CharacterPropertyEditor.as
 Sat Aug 23 08:50:20 2014
@@ -0,0 +1,179 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 flashx.textLayout.ui.inspectors
+{
+       import flash.text.engine.*;
+       
+       import flashx.textLayout.formats.TextLayoutFormat;
+       import flashx.textLayout.tlf_internal;
+       use namespace tlf_internal;     
+
+       public class CharacterPropertyEditor extends DynamicTextPropertyEditor
+       {
+               [Embed(source="./assets/bold_icon.png")]
+               private var boldIcon:Class;
+
+               [Embed(source="./assets/italic_icon.png")]
+               private var italicIcon:Class;
+               
+               [Embed(source="./assets/underline_icon.png")]
+               private var underlineIcon:Class;
+
+               [Embed(source="./assets/strikethrough_icon.png")]
+               private var strikethroughIcon:Class;
+
+               [Embed(source="./assets/superscript_icon.png")]
+               private var superscriptIcon:Class;
+
+               [Embed(source="./assets/subscript_icon.png")]
+               private var subscriptIcon:Class;
+
+               [Embed(source="./assets/tcy_icon.png")]
+               private var tcyIcon:Class;
+
+               public function CharacterPropertyEditor()
+               {
+                       var recipe:XML = 
+                               <recipe>
+                                       <row>
+                                               <editor type="fontPicker" 
label="$$$/stage/TextEditing/Label/Font=Font:">
+                                                       <property 
name={TextInspectorController.FONT_FAMILY_UIPROP}/>
+                                               </editor>
+                                       </row>
+                                       <row>
+                                               <editor type="combo" 
label="$$$/stage/TextEditing/Label/FontLookup=Lookup:">
+                                                       <property 
name={TextInspectorController.FONT_LOOKUP_UIPROP}/>
+                                                       <choice 
display="Device" value={flash.text.engine.FontLookup.DEVICE}/>
+                                                       <choice 
display="Embedded CFF" value={flash.text.engine.FontLookup.EMBEDDED_CFF}/>
+                                               </editor>
+                                       </row>
+                                       <row>
+                                               <editor type="hotnumber" 
label="$$$/stage/TextEditing/Label/Size=Size:" decimals="1" 
enforcePrecision="no">
+                                                       <property 
name={TextInspectorController.FONT_SIZE_UIPROP}
+                                                               
minValue={TextLayoutFormat.fontSizeProperty.minValue}
+                                                               
maxValue={TextLayoutFormat.fontSizeProperty.maxValue}/>
+                                               </editor>
+                                               <editor type="hotnumberunit" 
label="$$$/stage/TextEditing/Label/Leading=Leading:">
+                                                       <property 
name={TextInspectorController.LINE_HEIGHT_UIPROP}/>
+                                                       
<defaultunit>pix</defaultunit>
+                                                       <numericunit 
displayname="%"
+                                                               
min={TextLayoutFormat.lineHeightProperty.minPercentValue}
+                                                               
max={TextLayoutFormat.lineHeightProperty.maxPercentValue}
+                                                               default="120"/>
+                                                       <numericunit 
displayname="pix"
+                                                               
min={TextLayoutFormat.lineHeightProperty.minNumberValue}
+                                                               
max={TextLayoutFormat.lineHeightProperty.maxNumberValue}
+                                                               default="14"
+                                                               decimals="1"/>
+                                               </editor>
+                                       </row>
+                                       <row style="toggleButtonRow">
+                                               <editor type="toggleButton" 
style="toggleIconButton" iconClass="boldIcon" width="17" commit="yes">
+                                                       <property 
name={TextInspectorController.FONT_WEIGHT_UIPROP} falseValue="normal" 
trueValue="bold"/>
+                                               </editor>
+                                               <editor type="toggleButton" 
style="toggleIconButton" iconClass="italicIcon" width="17" commit="yes">
+                                                       <property 
name={TextInspectorController.FONT_STYLE_UIPROP} falseValue="normal" 
trueValue="italic"/>
+                                               </editor>
+                                               <editor type="toggleButton" 
style="toggleIconButton" iconClass="underlineIcon" width="17" commit="yes">
+                                                       <property 
name={TextInspectorController.TEXT_DECORATION_UIPROP} falseValue="none" 
trueValue="underline"/>
+                                               </editor>
+                                               <editor type="toggleButton" 
style="toggleIconButton" iconClass="strikethroughIcon" width="17" commit="yes">
+                                                       <property 
name={TextInspectorController.LINE_THROUGH_UIPROP}/>
+                                               </editor>
+                                               <editor type="toggleButton" 
style="toggleIconButton" iconClass="superscriptIcon" width="17" commit="yes">
+                                                       <property 
name={TextInspectorController.BASELINE_SHIFT_SUPER_UIPROP}  falseValue="0" 
trueValue={flashx.textLayout.formats.BaselineShift.SUPERSCRIPT}/>
+                                               </editor>
+                                               <editor type="toggleButton" 
style="toggleIconButton" iconClass="subscriptIcon" width="17" commit="yes">
+                                                       <property 
name={TextInspectorController.BASELINE_SHIFT_SUB_UIPROP}  falseValue="0" 
trueValue={flashx.textLayout.formats.BaselineShift.SUBSCRIPT}/>
+                                               </editor>
+                                               <editor type="toggleButton" 
style="toggleIconButton" iconClass="tcyIcon" width="17" commit="yes">
+                                                       <property 
name={TextInspectorController.TCY_UIPROP}/>
+                                               </editor>
+                                       </row>
+                                       <row>
+                                               <editor type="combo" 
label="$$$/stage/TextEditing/Label/Kerning=Kerning:">
+                                                       <property 
name={TextInspectorController.KERNING_UIPROP}/>
+                                                       <choice display="On" 
value={flash.text.engine.Kerning.ON}/>
+                                                       <choice display="Off" 
value={flash.text.engine.Kerning.OFF}/>
+                                                       <choice display="Auto" 
value={flash.text.engine.Kerning.AUTO}/>
+                                               </editor>
+                                       </row>
+                                       <row>
+                                               <editor type="hotnumberunit" 
label="$$$/stage/TextEditing/Label/Tracking=Track R:">
+                                                       <property 
name={TextInspectorController.TRACKING_RIGHT_UIPROP}/>
+                                                       
<defaultunit>pix</defaultunit>
+                                                       <numericunit 
displayname="%" 
+                                                               
min={TextLayoutFormat.trackingRightProperty.minPercentValue} 
+                                                               
max={TextLayoutFormat.trackingRightProperty.maxPercentValue} 
+                                                               default="0"/>
+                                                       <numericunit 
displayname="pix" 
+                                                               
min={TextLayoutFormat.trackingRightProperty.minNumberValue}
+                                                               
max={TextLayoutFormat.trackingRightProperty.maxNumberValue}
+                                                               default="0" 
+                                                               decimals="1"/>
+                                               </editor>
+                                       </row>
+                                       <row>
+                                               <editor type="hotnumberunit" 
label="$$$/stage/TextEditing/Label/Tracking=Track L:">
+                                                       <property 
name={TextInspectorController.TRACKING_LEFT_UIPROP}/>
+                                                       
<defaultunit>pix</defaultunit>
+                                                       <numericunit 
displayname="%" 
+                                                               
min={TextLayoutFormat.trackingLeftProperty.minPercentValue} 
+                                                               
max={TextLayoutFormat.trackingLeftProperty.maxPercentValue} 
+                                                               default="0"/>
+                                                       <numericunit 
displayname="pix" 
+                                                               
min={TextLayoutFormat.trackingLeftProperty.minNumberValue}
+                                                               
max={TextLayoutFormat.trackingLeftProperty.maxNumberValue}
+                                                               default="0" 
+                                                               decimals="1"/>
+                                               </editor>
+                                       </row>
+                                       <row>
+                                               <editor type="combo" 
label="$$$/stage/TextEditing/Label/Case=Case:">
+                                                       <property 
name={TextInspectorController.TYPOGRAPHIC_CASE_UIPROP}/>
+                                                       <choice 
display="Default" value={flashx.textLayout.formats.TLFTypographicCase.DEFAULT}/>
+                                                       <choice display="Caps 
to Small Caps" 
value={flashx.textLayout.formats.TLFTypographicCase.CAPS_TO_SMALL_CAPS}/>
+                                                       <choice display="Upper" 
value={flashx.textLayout.formats.TLFTypographicCase.UPPERCASE}/>
+                                                       <choice display="Lower" 
value={flashx.textLayout.formats.TLFTypographicCase.LOWERCASE}/>
+                                                       <choice 
display="Lowercase to Small Caps" 
value={flashx.textLayout.formats.TLFTypographicCase.LOWERCASE_TO_SMALL_CAPS}/>
+                                               </editor>
+                                       </row>
+                                       <row>
+                                               <editor type="color" 
label="$$$/stage/TextEditing/Label/Color=Color:">
+                                                       <property 
name={TextInspectorController.COLOR_UIPROP}/>
+                                               </editor>
+                                               <editor type="color" 
label="$$$/stage/TextEditing/Label/BackgroundColor=Background color:">
+                                                       <property 
name={TextInspectorController.BGCOLOR_UIPROP}/>
+                                               </editor>
+                                       </row>
+                               </recipe>;
+                       
+                       super(recipe);
+                       SetIcon("boldIcon", boldIcon);
+                       SetIcon("italicIcon", italicIcon);
+                       SetIcon("underlineIcon", underlineIcon);
+                       SetIcon("strikethroughIcon", strikethroughIcon);
+                       SetIcon("superscriptIcon", superscriptIcon);
+                       SetIcon("subscriptIcon", subscriptIcon);
+                       SetIcon("tcyIcon", tcyIcon);
+               }
+               
+       }
+}
\ No newline at end of file

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/inspectors/DynamicTextPropertyEditor.as
==============================================================================
--- 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/inspectors/DynamicTextPropertyEditor.as
 (added)
+++ 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/inspectors/DynamicTextPropertyEditor.as
 Sat Aug 23 08:50:20 2014
@@ -0,0 +1,74 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 flashx.textLayout.ui.inspectors
+{
+       import bxf.ui.inspectors.DynamicPropertyEditorBase;
+
+       import mx.events.PropertyChangeEvent;
+
+       public class DynamicTextPropertyEditor extends DynamicPropertyEditorBase
+       {
+               public function DynamicTextPropertyEditor(inRecipe:XML)
+               {
+                       super(inRecipe);
+                       
TextInspectorController.Instance().addEventListener(SelectionUpdateEvent.SELECTION_UPDATE,
 onSelectionUpdate);
+                       
addEventListener(DynamicPropertyEditorBase.MODELCHANGED_EVENT, 
onFormatValueChanged, false, 0, true);
+                       
addEventListener(DynamicPropertyEditorBase.MODELEDITED_EVENT, 
onFormatValueChanged, false, 0, true);
+               }
+               
+               public function set active(inActive:Boolean):void
+               {
+                       if (mActive != inActive)
+                       {
+                               mActive = inActive;
+                               if (mActive)
+                                       
TextInspectorController.Instance().forceBroadcastFormats();
+                       }
+               }
+               
+               public function get active():Boolean
+               {
+                       return mActive;
+               }
+               
+               private function onSelectionUpdate(e:SelectionUpdateEvent):void
+               {
+                       if (mActive)
+                       {
+                               reset();
+                               for (var id:String in e.format)
+                               {
+                                       if (e.format[id].length == 1)
+                                               properties[id] = 
e.format[id][0];
+                                       else
+                                               properties[id] = e.format[id];
+                               }
+                               rebuildUI();
+                       }
+               }
+
+               private function 
onFormatValueChanged(e:PropertyChangeEvent):void
+               {
+                       
TextInspectorController.Instance().SetTextProperty(e.property as String, 
e.newValue);
+               }
+               
+               private var mActive:Boolean = false;
+       }
+}
\ No newline at end of file

Added: 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/inspectors/LinkPropertyEditor.as
==============================================================================
--- 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/inspectors/LinkPropertyEditor.as
 (added)
+++ 
websites/staging/flex/trunk/content/tourdeflex/spark/tlf/flashx/textLayout/ui/inspectors/LinkPropertyEditor.as
 Sat Aug 23 08:50:20 2014
@@ -0,0 +1,50 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 flashx.textLayout.ui.inspectors
+{
+       public class LinkPropertyEditor extends DynamicTextPropertyEditor
+       {
+               public function LinkPropertyEditor()
+               {
+                       var recipe:XML =
+                               <recipe>
+                                       <row>
+                                               <editor type="string" 
label="$$$/stage/TextEditing/Label/linkURL=URL:" width="150">
+                                                       <property 
name={TextInspectorController.LINK_URL_UIPROP}/>
+                                               </editor>
+                                       </row>
+                                       <row>
+                                               <editor type="combo" 
label="$$$/stage/TextEditing/Label/linkTarget=Target:">
+                                                       <property 
name={TextInspectorController.LINK_TARGET_UIPROP}/>
+                                                       <choice 
display="_blank" value={"_blank"}/>
+                                                       <choice display="_self" 
value={"_self"}/>
+                                                       <choice 
display="_parent" value={"_parent"}/>
+                                                       <choice display="_top" 
value={"_top"}/>
+                                               </editor>
+                                               <editor type="checkbox" 
label="$$$/stage/TextEditing/Label/linkExtend=Extend:">
+                                                       <property 
name={TextInspectorController.LINK_EXTEND_UIPROP}/>
+                                               </editor>
+                                       </row>
+                               </recipe>;
+                       super(recipe);
+               }
+               
+       }
+}
\ No newline at end of file


Reply via email to