Exemplo n.º 1
0
        public EditorContext()
        {
            Postbox = Postbox.InstanceFor(EditorCode);
            Configuration.ConfigManager.AddEditorConfig(EditorCode, new Configuration.Config {
                Language       = SupportedLanguages.JS,
                FormattingType = FormattingType.BRACKETS
            });

            TextsToEnter      = new List <string>();
            CaretView         = new CaretView();
            TextView          = new TextView(CaretView);
            SelectionView     = new SelectionView(TextView);
            LinesView         = new LinesView();
            FoldingView       = new FoldingView();
            EnterTextCommand  = new EnterTextCommand(TextView, CaretView, SelectionView);
            RemoveTextCommand = new RemoveTextCommand(TextView, CaretView, SelectionView);
            CaretMoveCommand  = new CaretMoveCommand(CaretView, TextView);
            SelectionCommand  = new TextSelectionCommand(TextView, SelectionView, CaretView);

            CaretView.EditorCode     = EditorCode;
            CaretView.Postbox        = Postbox;
            TextView.EditorCode      = EditorCode;
            TextView.Postbox         = Postbox;
            SelectionView.EditorCode = EditorCode;
            SelectionView.Postbox    = Postbox;
            LinesView.EditorCode     = EditorCode;
            LinesView.Postbox        = Postbox;
            FoldingView.EditorCode   = EditorCode;
            FoldingView.Postbox      = Postbox;

            InitEvents();
            ForceDraw();
        }
 public TextSelectionCommand(ITextViewReadonly textViewReader, SelectionView selectionView, CaretView caretView)
 {
     this.textViewReader = textViewReader;
     this.selectionView  = selectionView;
     this.caretView      = caretView;
     algorithm           = new TextSelectionAlgorithm(caretView, textViewReader, selectionView);
 }
Exemplo n.º 3
0
        private void InitEvents()
        {
            var postbox = Postbox.InstanceFor(EditorCode);

            postbox.For <LinesRemovedMessage>().Invoke(message => {
                var linesRemovedMessage = message as LinesRemovedMessage;

                LinesView.HandleLinesRemove(linesRemovedMessage);
                FoldingView.HandleLinesRemove(linesRemovedMessage);
            })
            .For <TextRemovedMessage>().Invoke(message => {
                var textRemovedMessage = message as TextRemovedMessage;

                LinesView.HandleTextRemove(textRemovedMessage);
                FoldingView.HandleTextRemove(textRemovedMessage);
            })
            .For <TextAddedMessage>().Invoke(message => {
                var textAddedMessage = message as TextAddedMessage;

                LinesView.HandleTextInput(textAddedMessage);
                FoldingView.HandleTextInput(textAddedMessage);
            })
            .For <FoldClickedMessage>().Invoke(message => {
                var foldClickedMessage = message as FoldClickedMessage;

                TextView.HandleTextFolding(foldClickedMessage);
                LinesView.HandleFolding(foldClickedMessage);
                CaretView.HandleTextFolding(foldClickedMessage);
            });
        }
        public void InitializeTest()
        {
            const int EditorCode = 1;

            Configuration.ConfigManager.AddEditorConfig(EditorCode, new Configuration.Config {
                Language       = SupportedLanguages.JS,
                FormattingType = FormattingType.BRACKETS
            });

            cv = new CaretView();
            tv = new TextView(cv);

            cv.EditorCode = EditorCode;
            tv.EditorCode = EditorCode;
        }
        public void InitializeTest()
        {
            cv = new CaretView();
            tv = new TextView(cv);

            tv.EnterText("one");
            tv.EnterText("\r");
            tv.EnterText("two");
            tv.EnterText("\r");
            tv.EnterText("three");
            tv.EnterText("\r");
            tv.EnterText("four");
            tv.EnterText("\r");
            tv.EnterText("five");
            tv.EnterText("\r");
            tv.EnterText("six");
        }
Exemplo n.º 6
0
        private void SetupViews()
        {
            var editorCode = this.GetEditor().GetHashCode();

            caretView     = new CaretView();
            textView      = new TextView(caretView);
            selectionView = new SelectionView(textView);

            foreach (var view in new LocalViewBase[] { selectionView, textView, caretView })
            {
                view.Margin = new Thickness(2, 0, 0, 0);
                view.HorizontalAlignment = HorizontalAlignment.Left;
                view.VerticalAlignment   = VerticalAlignment.Top;

                views.Add(view);
                Children.Add(view);

                view.EditorCode = editorCode;
                view.Postbox    = postbox;
            }
        }
Exemplo n.º 7
0
 public EnterTextCommand(TextView textView, CaretView caretView, ISelectionViewReadonly selectionViewReader) : base(textView, caretView)
 {
     this.textView            = textView;
     this.selectionViewReader = selectionViewReader;
     this.caretView           = caretView;
 }
Exemplo n.º 8
0
 public CaretMoveCommand(CaretView caretView, ITextViewReadonly textViewReader)
 {
     this.caretView      = caretView;
     this.textViewReader = textViewReader;
 }
 public void InitializeTest()
 {
     cv = new CaretView();
     tv = new TextView(cv);
 }