public ContextActionsRenderer(CodeTextEditor editor, TextMarkerService textMarkerService)
        {
            if (editor == null) throw new ArgumentNullException(nameof(editor));
            _editor = editor;
            _textMarkerService = textMarkerService;

            editor.TextArea.Caret.PositionChanged += CaretPositionChanged;

            editor.KeyDown += ContextActionsRenderer_KeyDown;
            _providers = new ObservableCollection<IContextActionProvider>();
            _providers.CollectionChanged += providers_CollectionChanged;

            editor.TextArea.TextView.ScrollOffsetChanged += ScrollChanged;
            _delayMoveTimer = new DispatcherTimer { Interval = TimeSpan.FromMilliseconds(DelayMoveMilliseconds) };
            _delayMoveTimer.Stop();
            _delayMoveTimer.Tick += TimerMoveTick;

            if (editor.IsLoaded)
            {
                HookupWindowMove();
            }
            else
            {
                editor.Loaded += OnEditorLoaded;
            }
        }
        public ContextActionsRenderer(CodeTextEditor editor, TextMarkerService textMarkerService)
        {
            _editor            = editor ?? throw new ArgumentNullException(nameof(editor));
            _textMarkerService = textMarkerService;

            _contextMenu = CreateContextMenu();
            _bulbMargin  = new MarkerMargin {
                Width = 16, Margin = new Thickness(0, 0, 5, 0)
            };
            _bulbMargin.MarkerPointerDown += (o, e) => OpenContextMenu();
            var index = editor.TextArea.LeftMargins.Count > 0 ? editor.TextArea.LeftMargins.Count - 1 : 0;

            editor.TextArea.LeftMargins.Insert(index, _bulbMargin);

            editor.TextArea.Caret.PositionChanged += CaretPositionChanged;

            editor.KeyDown += ContextActionsRenderer_KeyDown;
            _providers      = new ObservableCollection <IContextActionProvider>();
            _providers.CollectionChanged += Providers_CollectionChanged;

            editor.TextArea.TextView.ScrollOffsetChanged += ScrollChanged;
            _delayMoveTimer = new DispatcherTimer {
                Interval = TimeSpan.FromMilliseconds(DelayMoveMilliseconds)
            };
            _delayMoveTimer.Stop();
            _delayMoveTimer.Tick += TimerMoveTick;
        }
Example #3
0
        public ContextActionsRenderer(CodeTextEditor editor, TextMarkerService textMarkerService)
        {
            if (editor == null)
            {
                throw new ArgumentNullException(nameof(editor));
            }
            _editor            = editor;
            _textMarkerService = textMarkerService;

            editor.TextArea.Caret.PositionChanged += CaretPositionChanged;

            editor.KeyDown += ContextActionsRenderer_KeyDown;
            _providers      = new ObservableCollection <IContextActionProvider>();
            _providers.CollectionChanged += providers_CollectionChanged;

            editor.TextArea.TextView.ScrollOffsetChanged += ScrollChanged;
            _delayMoveTimer = new DispatcherTimer {
                Interval = TimeSpan.FromMilliseconds(DelayMoveMilliseconds)
            };
            _delayMoveTimer.Stop();
            _delayMoveTimer.Tick += TimerMoveTick;

            if (editor.IsLoaded)
            {
                HookupWindowMove();
            }
            else
            {
                editor.Loaded += OnEditorLoaded;
            }
        }
 public TextMarkerService(CodeTextEditor editor)
 {
     if (editor == null) throw new ArgumentNullException(nameof(editor));
     _document = editor.Document;
     _markers = new TextSegmentCollection<TextMarker>(_document);
     _textViews = new List<TextView>();
     editor.ToolTipRequest += EditorOnToolTipRequest;
 }
Example #5
0
 public TextMarkerService(CodeTextEditor editor)
 {
     if (editor == null) throw new ArgumentNullException(nameof(editor));
     _document = editor.Document;
     _markers = new TextSegmentCollection<TextMarker>(_document);
     _textViews = new List<TextView>();
     editor.ToolTipRequest += EditorOnToolTipRequest;
 }
 public void OpenAtLineStart(CodeTextEditor editor)
 {
     SetPosition(this, editor, editor.TextArea.Caret.Line, 1);
     VerticalOffset -= 16;
     IsOpenIfFocused = true;
 }
Example #7
0
 public void OpenAtLineStart(CodeTextEditor editor)
 {
     SetPosition(this, editor, editor.TextArea.Caret.Line, 1);
     VerticalOffset -= 16;
     IsOpenIfFocused = true;
 }