public void Remove(IWpfTextView wpfTextView) { if (_textViewModelsMap.TryGetValue(wpfTextView, out var textViewModel)) { var isWasOnScreen = IsOnScreen; if (textViewModel == _activeTextViewModelOpt) { _activeTextViewModelOpt = null; } if (textViewModel == _mouseHoverTextViewModelOpt) { _mouseHoverTextViewModelOpt = null; } textViewModel.Dispose(); _textViewModelsMap.Remove(wpfTextView); if (isWasOnScreen && !IsOnScreen) { OnHide(); } } return; }
public TextViewModel GetOrAdd(IWpfTextView wpfTextView) { if (!_textViewModelsMap.TryGetValue(wpfTextView, out var textViewModel)) { var isOnScreen = IsOnScreen; _textViewModelsMap.Add(wpfTextView, textViewModel = new TextViewModel(wpfTextView, this)); if (!isOnScreen) { OnSwhow(); } } return(textViewModel); }
internal void OnMouseHover(TextViewModel textViewModel) { _mouseHoverTextViewModelOpt = textViewModel; }
internal void ViewActivated(TextViewModel textViewModel) { _activeTextViewModelOpt = textViewModel; }