Exemple #1
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);
            });
        }
Exemple #2
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();
        }
Exemple #3
0
        private void SetupViews()
        {
            int editorCode = editorCode = this.GetEditor().GetHashCode();

            linesView   = new LinesView();
            foldingView = new FoldingView();

            views.Add(linesView);
            views.Add(foldingView);

            Children.Add(linesView);
            Children.Add(foldingView);

            linesView.EditorCode   = editorCode;
            linesView.Postbox      = postbox;
            foldingView.EditorCode = editorCode;
            foldingView.Postbox    = postbox;
        }