Exemplo n.º 1
0
        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;
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
 internal void OnMouseHover(TextViewModel textViewModel)
 {
     _mouseHoverTextViewModelOpt = textViewModel;
 }
Exemplo n.º 4
0
 internal void ViewActivated(TextViewModel textViewModel)
 {
     _activeTextViewModelOpt = textViewModel;
 }