Beispiel #1
0
        private void button2_Click(object sender, EventArgs e)
        {
            //1. create text flow layer
            EditableTextFlowLayer flowLayer = new EditableTextFlowLayer();
            //
            //2.
            MyTextEditRenderBox renderBox = new MyTextEditRenderBox();

            //3. listen important event from text layer
            MyTextSurfaceListener listener = new MyTextSurfaceListener();

            renderBox.SetTextSurfaceEventListner(listener);

            //4. create text layer controller
            //this simulate user's input
            InternalTextLayerController layerController = new InternalTextLayerController(renderBox, flowLayer);

            layerController.CurrentLineNumber = 0;
            layerController.TryMoveCaretTo(-1);
            layerController.AddCharToCurrentLine('a');
            layerController.AddCharToCurrentLine('b');
            layerController.AddCharToCurrentLine('C');
            layerController.SplitCurrentLineIntoNewLine();
            layerController.AddCharToCurrentLine('x');
            layerController.AddCharToCurrentLine('Y');
            //------------
            layerController.CurrentLineNumber = 0; //move to line 0 again //should be 1?
            //------------
            //
            StringBuilder stbuilder = new StringBuilder();

            layerController.CopyAllToPlainText(stbuilder);
            //
            System.Diagnostics.Debug.WriteLine(stbuilder.ToString());
        }
Beispiel #2
0
 public override void InvokeUndo(InternalTextLayerController textLayer)
 {
     textLayer.CurrentLineNumber = _startLineNumber;
     textLayer.TryMoveCaretTo(_startCharIndex);
     textLayer.StartSelect();
     textLayer.CurrentLineNumber = _endLineNumber;
     textLayer.TryMoveCaretTo(_endCharIndex);
     textLayer.EndSelect();
 }
Beispiel #3
0
 public override void InvokeRedo(InternalTextLayerController textLayer)
 {
     textLayer.CurrentLineNumber = _startLineNumber;
     textLayer.TryMoveCaretTo(_startCharIndex);
     if (_singleInsertTextRun != null)
     {
         textLayer.AddTextRunToCurrentLine(_singleInsertTextRun);
     }
     else
     {
         textLayer.AddTextRunsToCurrentLine(_insertingTextRuns);
     }
 }
Beispiel #4
0
 public override void InvokeRedo(InternalTextLayerController textLayer)
 {
     textLayer.CurrentLineNumber = _startLineNumber;
     textLayer.TryMoveCaretTo(_startCharIndex);
     textLayer.DoDelete();
 }
Beispiel #5
0
 public override void InvokeUndo(InternalTextLayerController textLayer)
 {
     textLayer.CurrentLineNumber = _startLineNumber;
     textLayer.TryMoveCaretTo(_startCharIndex);
     textLayer.SplitCurrentLineIntoNewLine();
 }
Beispiel #6
0
 public override void InvokeUndo(InternalTextLayerController textLayer)
 {
     textLayer.CurrentLineNumber = _startLineNumber;
     textLayer.DoEnd();
     textLayer.DoDelete();
 }
Beispiel #7
0
 public abstract void InvokeRedo(InternalTextLayerController textLayer);
Beispiel #8
0
 public DocumentCommandCollection(InternalTextLayerController textdomManager)
 {
     _textLayerController = textdomManager;
 }
Beispiel #9
0
 public override void InvokeRedo(InternalTextLayerController textLayer)
 {
 }
Beispiel #10
0
 public override void InvokeUndo(InternalTextLayerController textLayer)
 {
     textLayer.CancelSelect();
     textLayer.AddTextRunsToCurrentLine(_deletedTextRuns);
 }