You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by cf...@apache.org on 2012/10/15 20:39:44 UTC

svn commit: r1398441 - in /incubator/flex/sdk/branches/develop: frameworks/projects/spark/src/spark/components/ frameworks/projects/spark/src/spark/components/supportClasses/ mustella/tests/gumbo/components/RichEditableText/Integration/ mustella/tests/...

Author: cframpton
Date: Mon Oct 15 18:39:44 2012
New Revision: 1398441

URL: http://svn.apache.org/viewvc?rev=1398441&view=rev
Log:
Integrate in Adobe Flex.next  text changes.  In particular the s:RichEditableText "preserve selection on text set" functionality now comes from TLF3 rather than hacked into RichEditableText.  Also brought forward an accessibility bug fix which according to the comment restores the accessibilityImplementation when the text is set programatically.  Added mustella test to test the "preserveSelectionOnTextSet" functionality.

Added:
    incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/RichEditableText/Integration/RichEditableText_TLF30_preserveSelectionOnSetText.mxml   (with props)
    incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/RichEditableText/SWFs/RichEditableText_Selection.mxml   (with props)
Modified:
    incubator/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/components/Label.as
    incubator/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/components/RichEditableText.as
    incubator/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/components/RichText.as
    incubator/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/components/supportClasses/RichEditableTextContainerManager.as

Modified: incubator/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/components/Label.as
URL: http://svn.apache.org/viewvc/incubator/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/components/Label.as?rev=1398441&r1=1398440&r2=1398441&view=diff
==============================================================================
--- incubator/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/components/Label.as (original)
+++ incubator/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/components/Label.as Mon Oct 15 18:39:44 2012
@@ -188,9 +188,6 @@ include "../styles/metadata/BasicNonInhe
  *
  *  <pre>
  *  &lt;s:Label 
- *    <strong>Properties</strong>
- *    fontContext=""
- * 
  *    <strong>Styles</strong>
  *    alignmentBaseline="baseline"
  *    baselineShift="0"

Modified: incubator/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/components/RichEditableText.as
URL: http://svn.apache.org/viewvc/incubator/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/components/RichEditableText.as?rev=1398441&r1=1398440&r2=1398441&view=diff
==============================================================================
--- incubator/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/components/RichEditableText.as (original)
+++ incubator/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/components/RichEditableText.as Mon Oct 15 18:39:44 2012
@@ -241,8 +241,8 @@ package spark.components
      *  and it does not support drawing a border.</p>
      *
      *  <p>RichEditableText uses the Text Layout Framework (TLF) library,
-     *  which in turn builds on the new Flash Text Engine (FTE)
-     *  in Flash Player 10. In combination, these layers provide text editing with
+     *  which in turn builds on the Flash Text Engine (FTE)
+     *  introduced in Flash Player 10. In combination, these layers provide text editing with
      *  high-quality international typography and layout.</p>
      *
      *  <p>The Spark architecture provides three text "primitives" -- 
@@ -624,10 +624,15 @@ package spark.components
             // This TextContainerManager instance persists for the lifetime
             // of the component.
             _textContainerManager = createTextContainerManager();
+
+            // Turn on TextField-like behavior which preserves the selection when text is set.
+            // If the new text is shorter than the exisiting text, the selection may change.
+            if (FlexVersion.compatibilityVersion > FlexVersion.VERSION_4_8) 
+                _textContainerManager.preserveSelectionOnSetText = true;
             
             // Add event listeners on this component.
             addEventListener(Event.REMOVED_FROM_STAGE, removedFromStageHandler);
-            
+
             // The focusInHandler is called by the TCMContainer focusInHandler.
             // The focusOutHandler is called by the TCMContainer focusOutHandler.
             // The keyDownHandler is called by the TCMContainer keyDownHandler.
@@ -748,11 +753,6 @@ package spark.components
         /**
          *  @private
          */
-        mx_internal var preserveSelectionOnSetText:Boolean = false;
-
-        /**
-         *  @private
-         */
         mx_internal var passwordChar:String = "*";
         
         /**
@@ -2084,6 +2084,10 @@ package spark.components
          *  with exactly the text specified.  If there is whitespace and line 
          *  breaks in the text, they will remain, regardless of the settings of
          *  the lineBreak and whiteSpaceCollapse styles.
+		 * 
+		 *  Similiar to TextField, the selection is preserved when the text is set.
+		 *  If the new text length is less than the existing text length, the selection 
+		 *  may change.
          */
         public function set text(value:String):void
         {
@@ -2536,9 +2540,6 @@ package spark.components
             
             if (textChanged)
             {
-                if (FlexVersion.compatibilityVersion > FlexVersion.VERSION_4_5) 
-                    preserveSelectionOnSetText = true;
-
                 // If the text has linebreaks (CR, LF, or CF+LF)
                 // create a multi-paragraph TextFlow from it
                 // and use the TextFlowTextLineFactory to render it.
@@ -2594,8 +2595,6 @@ package spark.components
             // not the underlying text.
             if (displayAsPasswordChanged)
             {
-                preserveSelectionOnSetText = true;
-                
                 // If there is any text, convert it to the passwordChar.
                 if (displayAsPassword)
                 {
@@ -2624,25 +2623,6 @@ package spark.components
                 displayAsPasswordChanged = false;
             }
             
-            if (preserveSelectionOnSetText)
-            {
-                preserveSelectionOnSetText = false;
-                
-                if (oldAnchorPosition != -1)
-                {
-                    // This will return null if editingMode = readOnly which is true when either
-                    // editable is false and/or enabled is false.
-                    var selManager:ISelectionManager = _textContainerManager.beginInteraction();                    
-
-                    // The visible selection will be refreshed during the update.
-                    if (selManager)
-                    {
-                        selManager.selectRange(oldAnchorPosition, oldActivePosition);        
-                        _textContainerManager.endInteraction();
-                    }
-                }           
-            }
-            
             if (clipAndEnableScrollingChanged)
             {
                 // The TLF code seems to check for !off.
@@ -2679,6 +2659,14 @@ package spark.components
                 
                 verticalScrollPositionChanged = false;            
             }
+            
+			// Updating the text programatically removes all child TextLine elements
+			// before rebuilding the TextFlow, effectively removing all visual elements
+			// from the display list. This causes any accessibilityImplementation that
+			// was assigned to the component to be removed. The following line restores
+			// the accessibilityImplementation if it no longer exists. 
+			if (!accessibilityImplementation)
+				initializeAccessibility();
         }
         
         /**
@@ -4634,9 +4622,6 @@ package spark.components
         private function textContainerManager_selectionChangeHandler(
             event:SelectionEvent):void
         {
-            if (preserveSelectionOnSetText)
-                return;
-            
             var oldAnchor:int = _selectionAnchorPosition;
             var oldActive:int = _selectionActivePosition;
             

Modified: incubator/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/components/RichText.as
URL: http://svn.apache.org/viewvc/incubator/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/components/RichText.as?rev=1398441&r1=1398440&r2=1398441&view=diff
==============================================================================
--- incubator/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/components/RichText.as (original)
+++ incubator/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/components/RichText.as Mon Oct 15 18:39:44 2012
@@ -213,7 +213,6 @@ include "../styles/metadata/AdvancedNonI
  *  <pre>
  *  &lt;s:RichText
  *    <strong>Properties</strong>
- *    fontContext="<i>IFlexModuleFactory</i>"
  *    luminosityClip="false"
  *    luminosityInvert="false"
  *    maskType="MaskType.CLIP"

Modified: incubator/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/components/supportClasses/RichEditableTextContainerManager.as
URL: http://svn.apache.org/viewvc/incubator/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/components/supportClasses/RichEditableTextContainerManager.as?rev=1398441&r1=1398440&r2=1398441&view=diff
==============================================================================
--- incubator/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/components/supportClasses/RichEditableTextContainerManager.as (original)
+++ incubator/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/components/supportClasses/RichEditableTextContainerManager.as Mon Oct 15 18:39:44 2012
@@ -87,7 +87,7 @@ public class RichEditableTextContainerMa
 	//--------------------------------------------------------------------------
 	/**
 	 *  @private
-	 *  Disables blinking cursor so test snapshots don't get intermittent
+	 *  Disables blinking cursor so mustella test snapshots don't get intermittent
 	 *  cursors.
 	 */
 	mx_internal static var hideCursor:Boolean = false;
@@ -294,16 +294,23 @@ public class RichEditableTextContainerMa
         var inactiveSelectionColor:* = textDisplay.getStyle(
                                             "inactiveTextSelectionColor"); 
 
+        var inactivePointAlpha:Number =
+            editingMode == EditingMode.READ_WRITE ?
+            1.0 :
+            0.0;
+        
         var inactiveAlpha:Number =
             textDisplay.selectionHighlighting == 
             TextSelectionHighlighting.ALWAYS ?
             1.0 :
             0.0;
 
-        // No insertion point when not active.
+        // Inactive is not unfocused so show an insertion point if there is one.
+        // This is consistent with TextField.
+        
         return new SelectionFormat(
             inactiveSelectionColor, inactiveAlpha, BlendMode.NORMAL,
-            inactiveSelectionColor, 0.0);
+            inactiveSelectionColor, inactivePointAlpha, BlendMode.INVERT);
     }   
     
     /**
@@ -376,7 +383,7 @@ public class RichEditableTextContainerMa
             
             controller.requiredFocusInHandler(null);
             
-            if (!textDisplay.preserveSelectionOnSetText)
+            if (!preserveSelectionOnSetText)
                 im.selectRange(0, 0);
             
             endInteraction();

Added: incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/RichEditableText/Integration/RichEditableText_TLF30_preserveSelectionOnSetText.mxml
URL: http://svn.apache.org/viewvc/incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/RichEditableText/Integration/RichEditableText_TLF30_preserveSelectionOnSetText.mxml?rev=1398441&view=auto
==============================================================================
--- incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/RichEditableText/Integration/RichEditableText_TLF30_preserveSelectionOnSetText.mxml (added)
+++ incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/RichEditableText/Integration/RichEditableText_TLF30_preserveSelectionOnSetText.mxml Mon Oct 15 18:39:44 2012
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<UnitTester testDir="gumbo/components/RichEditableText/Integration/" xmlns:mx="http://www.adobe.com/2006/mxml"
+			xmlns="*" testSWF="RichEditableText_Selection.mxml">
+	
+	<mx:Script>
+		<!-- Necessary for test runner. -->
+		<![CDATA[
+			public static function init(o:DisplayObject):void
+			{
+				
+			}
+			
+			
+		]]>
+	</mx:Script>
+	
+	<mx:Metadata>
+		<![CDATA[
+		[Mixin]
+		]]>
+	</mx:Metadata>
+	
+	<!-- ################################################################## -->
+	
+	<!--
+		Tests TextField-like behavior which preserves the selection when text is set.
+		If the new text is shorter than the exisiting text, the selection may change.
+	-->
+	
+	<testCases>
+		<TestCase testID="RichEditableText_TLF30_preserveSelectionOnSetText_test1" 
+				  description="Preserve selection when setting text." 
+				  keywords="[RichEditableText, selection]">			
+			<setup>				
+				<ResetComponent target="ret" className="spark.components.RichEditableText" waitTarget="ret" waitEvent="updateComplete" />
+				<SetProperty target="ret" propertyName="text" value="Hello" waitTarget="ret" waitEvent="updateComplete" />
+				<RunCode code="application.ret.selectAll()" waitTarget="ret" waitEvent="selectionChange" />				
+			</setup>			
+			<body>				
+				<AssertPropertyValue target="ret" propertyName="text" value="Hello"/>
+				<AssertPropertyValue target="ret" propertyName="selectionAnchorPosition" value="0" />
+				<AssertPropertyValue target="ret" propertyName="selectionActivePosition" value="5" />
+
+				<SetProperty target="ret" propertyName="text" value="Hello Flex" waitTarget="ret" waitEvent="updateComplete" />
+
+				<AssertNoEvent target="ret" eventName="selectionChange" eventClass="mx.events::FlexEvent" /> 
+				<AssertPropertyValue target="ret" propertyName="selectionAnchorPosition" value="0" />
+				<AssertPropertyValue target="ret" propertyName="selectionActivePosition" value="5" />
+			</body>
+		</TestCase>
+
+		<TestCase testID="RichEditableText_TLF30_preserveSelectionOnSetText_test2" 
+				  description="Preserve selection when setting text." 
+				  keywords="[RichEditableText, selection]">			
+			<setup>				
+				<ResetComponent target="ret" className="spark.components.RichEditableText" waitTarget="ret" waitEvent="updateComplete" />
+				<SetProperty target="ret" propertyName="text" value="Hello Apache" waitTarget="ret" waitEvent="updateComplete" />
+				<RunCode code="application.ret.selectRange(6,12)" waitTarget="ret" waitEvent="selectionChange" />	
+			</setup>			
+			<body>				
+				<SetProperty target="ret" propertyName="text" value="Hello Apache Flex" waitTarget="ret" waitEvent="updateComplete" />
+
+				<AssertNoEvent target="ret" eventName="selectionChange" eventClass="mx.events::FlexEvent" /> 
+				<AssertPropertyValue target="ret" propertyName="selectionAnchorPosition" value="6" />
+				<AssertPropertyValue target="ret" propertyName="selectionActivePosition" value="12" />			
+			</body>
+		</TestCase>
+
+		<TestCase testID="RichEditableText_TLF30_preserveSelectionOnSetText_test3" 
+				  description="Preserve selection up to the length of the text." 
+				  keywords="[RichEditableText, selection]">			
+			<setup>				
+				<ResetComponent target="ret" className="spark.components.RichEditableText" waitTarget="ret" waitEvent="updateComplete" />
+				<SetProperty target="ret" propertyName="text" value="Hello Flex" waitTarget="ret" waitEvent="updateComplete" />
+				<RunCode code="application.ret.selectAll()" waitTarget="ret" waitEvent="selectionChange" />				
+			</setup>			
+			<body>								
+				<AssertPropertyValue target="ret" propertyName="text" value="Hello Flex"/>
+				<AssertPropertyValue target="ret" propertyName="selectionAnchorPosition" value="0" />
+				<AssertPropertyValue target="ret" propertyName="selectionActivePosition" value="10" />
+
+				<SetProperty target="ret" propertyName="text" value="Hello" waitTarget="ret" waitEvent="updateComplete" />
+
+				<AssertEvent target="ret" eventName="selectionChange" eventClass="mx.events::FlexEvent" /> 				
+				<AssertPropertyValue target="ret" propertyName="text" value="Hello"/>
+				<AssertPropertyValue target="ret" propertyName="selectionAnchorPosition" value="0" />
+				<AssertPropertyValue target="ret" propertyName="selectionActivePosition" value="5" />				
+			</body>
+		</TestCase>
+		
+		<TestCase testID="RichEditableText_TLF30_preserveSelectionOnSetText_passwd_test1" 
+				  description="Preserve selection when setting text (displayed as password)." 
+				  keywords="[RichEditableText, selection]">			
+			<setup>				
+				<ResetComponent target="ret" className="spark.components.RichEditableText" waitTarget="ret" waitEvent="updateComplete" />
+				<SetProperty target="ret" propertyName="text" value="Hello"/>
+				<SetProperty target="ret" propertyName="displayAsPassword" value="true" waitTarget="ret" waitEvent="updateComplete" />
+				<RunCode code="application.ret.selectAll()" waitTarget="ret" waitEvent="selectionChange" />				
+			</setup>			
+			<body>				
+				<AssertPropertyValue target="ret" propertyName="text" value="Hello"/>
+				<AssertPropertyValue target="ret" propertyName="selectionAnchorPosition" value="0" />
+				<AssertPropertyValue target="ret" propertyName="selectionActivePosition" value="5" />
+				
+				<SetProperty target="ret" propertyName="text" value="Hello Flex" waitTarget="ret" waitEvent="updateComplete" />
+
+				<AssertNoEvent target="ret" eventName="selectionChange" eventClass="mx.events::FlexEvent" /> 
+				<AssertPropertyValue target="ret" propertyName="selectionAnchorPosition" value="0" />
+				<AssertPropertyValue target="ret" propertyName="selectionActivePosition" value="5" />
+			</body>
+		</TestCase>
+		
+		<TestCase testID="RichEditableText_TLF30_preserveSelectionOnSetText_passwd_test2" 
+				  description="Preserve selection when setting text (displayed as password)." 
+				  keywords="[RichEditableText, selection]">			
+			<setup>				
+				<ResetComponent target="ret" className="spark.components.RichEditableText" waitTarget="ret" waitEvent="updateComplete" />
+				<SetProperty target="ret" propertyName="text" value="Hello Apache" />
+				<SetProperty target="ret" propertyName="displayAsPassword" value="true" waitTarget="ret" waitEvent="updateComplete" />
+				<RunCode code="application.ret.selectRange(6,12)" waitTarget="ret" waitEvent="selectionChange" />	
+			</setup>			
+			<body>				
+				<SetProperty target="ret" propertyName="text" value="Hello Apache Flex" waitTarget="ret" waitEvent="updateComplete" />
+				
+				<AssertNoEvent target="ret" eventName="selectionChange" eventClass="mx.events::FlexEvent" /> 
+				<AssertPropertyValue target="ret" propertyName="selectionAnchorPosition" value="6" />
+				<AssertPropertyValue target="ret" propertyName="selectionActivePosition" value="12" />			
+			</body>
+		</TestCase>
+		
+		<TestCase testID="RichEditableText_TLF30_preserveSelectionOnSetText_passwd_test3" 
+				  description="Preserve selection up to the length of the text (displayed as password)." 
+				  keywords="[RichEditableText, selection]">			
+			<setup>				
+				<ResetComponent target="ret" className="spark.components.RichEditableText" waitTarget="ret" waitEvent="updateComplete" />
+				<SetProperty target="ret" propertyName="text" value="Hello Flex" />
+				<SetProperty target="ret" propertyName="displayAsPassword" value="true" waitTarget="ret" waitEvent="updateComplete" />
+				<RunCode code="application.ret.selectAll()" waitTarget="ret" waitEvent="selectionChange" />				
+			</setup>			
+			<body>								
+				<AssertPropertyValue target="ret" propertyName="text" value="Hello Flex"/>
+
+				<AssertPropertyValue target="ret" propertyName="selectionAnchorPosition" value="0" />
+				<AssertPropertyValue target="ret" propertyName="selectionActivePosition" value="10" />
+				
+				<SetProperty target="ret" propertyName="text" value="Hello" waitTarget="ret" waitEvent="updateComplete" />
+
+				<AssertEvent target="ret" eventName="selectionChange" eventClass="mx.events::FlexEvent" /> 
+				<AssertPropertyValue target="ret" propertyName="text" value="Hello"/>
+				<AssertPropertyValue target="ret" propertyName="selectionAnchorPosition" value="0" />
+				<AssertPropertyValue target="ret" propertyName="selectionActivePosition" value="5" />				
+			</body>
+		</TestCase>
+	</testCases>
+</UnitTester>

Propchange: incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/RichEditableText/Integration/RichEditableText_TLF30_preserveSelectionOnSetText.mxml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/RichEditableText/Integration/RichEditableText_TLF30_preserveSelectionOnSetText.mxml
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/RichEditableText/SWFs/RichEditableText_Selection.mxml
URL: http://svn.apache.org/viewvc/incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/RichEditableText/SWFs/RichEditableText_Selection.mxml?rev=1398441&view=auto
==============================================================================
--- incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/RichEditableText/SWFs/RichEditableText_Selection.mxml (added)
+++ incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/RichEditableText/SWFs/RichEditableText_Selection.mxml Mon Oct 15 18:39:44 2012
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<s:Application backgroundColor="0xFFFFFF"
+	xmlns:fx="http://ns.adobe.com/mxml/2009"
+	xmlns:mx="library://ns.adobe.com/flex/mx"
+	xmlns:s="library://ns.adobe.com/flex/spark"
+	xmlns:comps="comps.*"
+	width="800" height="600" >
+
+	<fx:Style source="../../../../../Assets/Fonts/VeraFontStyles.css" />
+	
+	<fx:Style>
+		@namespace s "library://ns.adobe.com/flex/spark";
+			
+		s|RichEditableText
+		{
+	 		fontFamily: MyVeraSpark;
+			fontLookup: embeddedCFF;
+			fontAntiAliasType: normal;
+			backgroundColor:#00FF00;
+		}
+		global{
+		    fontFamily: MyVeraSpark;
+			fontLookup: embeddedCFF;
+		    fontAntiAliasType: normal;
+        }
+	 		
+	</fx:Style>
+	<s:VGroup verticalAlign="middle" horizontalAlign="center">		
+		<s:RichEditableText id="ret" fontSize="20"/>
+		
+		<s:Form id="myForm" >
+			<s:FormItem label="Selection Anchor Position:">
+				<s:Label id="anchorPos" text="{ret.selectionAnchorPosition}" />
+			</s:FormItem>
+			<s:FormItem label="Selection Active Position:">
+				<s:Label id="activePos" text="{ret.selectionActivePosition}" />
+			</s:FormItem>
+		</s:Form>
+	</s:VGroup>
+</s:Application>

Propchange: incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/RichEditableText/SWFs/RichEditableText_Selection.mxml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/RichEditableText/SWFs/RichEditableText_Selection.mxml
------------------------------------------------------------------------------
    svn:mime-type = text/plain