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; }
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; }
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; }
public void OpenAtLineStart(CodeTextEditor editor) { SetPosition(this, editor, editor.TextArea.Caret.Line, 1); VerticalOffset -= 16; IsOpenIfFocused = true; }