Esempio n. 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());
        }
Esempio n. 2
0
 public override void InvokeUndo(InternalTextLayerController textLayer)
 {
     textLayer.CurrentLineNumber = _startLineNumber;
     textLayer.TryMoveCaretTo(_startCharIndex);
     textLayer.SplitCurrentLineIntoNewLine();
 }