You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by bu...@apache.org on 2014/08/23 10:50:32 UTC
svn commit: r920222 [6/9] - in /websites/staging/flex/trunk: cgi-bin/
content/ content/tourdeflex/ content/tourdeflex/mx/
content/tourdeflex/mx/charts/ content/tourdeflex/mx/containers/
content/tourdeflex/mx/containers/assets/ content/tourdeflex/mx/con...
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