         }       
     }
     
-    /**
-     * @copy mx.layout.LayoutBase#horizontalScrollPositionDelta
+    //----------------------------------
+    //  multiline
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    private var _multiline:Boolean = true;
+
+    /**
+     *  Determines whether the user can enter multiline text.
+     *  If <code>true</code>, the Enter key starts a new paragraph.
+     *  If <code>false</code>, the Enter key doesn't affect the text
+     *  but causes the TextView to dispatch an <code>"enter"</code> event.
+     * 
+     *  @default true
+     */
+    public function get multiline():Boolean 
+    {
+        return _multiline;
+    }
+    
+    /**
+     *  @private
+     */
+    public function set multiline(value:Boolean):void
+    {
+        _multiline = value;
+    }
+
+    //----------------------------------
+    //  selectionActivePosition
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    private var _selectionActivePosition:int = -1;
+
+    /**
+     *  The active position of the selection.
+     *  The "active" point is the end of the selection
+     *  which is changed when the selection is extended.
+     *  The active position may be either the start
+     *  or the end of the selection. 
+     *
+     *  @default -1
+     */
+    public function get selectionActivePosition():int
+    {
+        return _selectionActivePosition;
+    }
+
+    //----------------------------------
+    //  selectionAnchorPosition
+    //----------------------------------
+    
+    /**
+     *  @private
+     */
+    private var _selectionAnchorPosition:int = -1;
+
+    /**
+     *  The anchor position of the selection.
+     *  The "anchor" point is the stable end of the selection
+     *  when the selection is extended.
+     *  The anchor position may be either the start
+     *  or the end of the selection.
+     *
+     *  @default -1
+     */
+    public function get selectionAnchorPosition():int
+    {
+        return _selectionAnchorPosition;
+    }
+
+    //----------------------------------
+    //  text
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    private var _text:String = "";
+
+    /**
+     *  @private
+     */
+    private var textChanged:Boolean = false;
+
+    /**
+     *  The text String displayed by this TextView..
+     */
+    public function get text():String 
+    {
+        if (textInvalid)
+        {
+            _text = TextUtil.extractText(textFlow);
+            textInvalid = false;
+        }
+
+        return _text;
+    }
+    
+    /**
+     *  @private
+     */
+    public function set text(value:String):void
+    {
+        if (value == _text)
+            return;
+
+        _text = value;
+        textChanged = true;
+        
+        invalidateProperties();
+        invalidateSize();
+        invalidateDisplayList();
+    }
+    
+    //----------------------------------
+    //  verticalScrollPosition
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    private var _verticalScrollPosition:Number = 0;
+
+    /**
+     *  @private
+     */
+    private var verticalScrollPositionChanged:Boolean = false;
+ 
+    [Bindable("scrollPositionChanged")]
+    
+    /**
+     *  Documentation is not currently available.
+     */
+    public function get verticalScrollPosition():Number
+    {
+        return _verticalScrollPosition;
+    }
+
+    /**
+     *  @private
+     */
+    public function set verticalScrollPosition(value:Number):void
+    {
+        if (value == _verticalScrollPosition)
+            return;
+
+        _verticalScrollPosition = value;
+        verticalScrollPositionChanged = true;
+
+        invalidateProperties();
+    }
+        
+    //----------------------------------
+    //  verticalScrollPositionDelta
+    //----------------------------------
+
+    /**
+     *  @copy mx.layout.LayoutBase#horizontalScrollPositionDelta
      */
     public function verticalScrollPositionDelta(unit:uint):Number
     {

import flashx.tcal.operations.FlowOperation;
import flashx.tcal.operations.SplitParagraphOperation;

import mx.events.TextOperationEvent;
import mx.core.IViewport;
import mx.utils.TextUtil;

import mx.core.UIComponent;
import mx.events.FlexEvent;

//--------------------------------------
//  Events

    }
    
    //----------------------------------
    //  widthInChars
    //----------------------------------

