Example #1
0
        public IMouseProcessor GetAssociatedProcessor(IWpfTextView view)
        {
            var buffer = view.TextBuffer;

            IOleCommandTarget shellCommandDispatcher = GetShellCommandDispatcher(view);

            if (shellCommandDispatcher == null)
            {
                return(null);
            }

            //IInstalledExtension extension;
            //manager.TryGetInstalledExtension("GoToDef", out extension);
            //if (extension != null)
            //    return null;

            if (!view.TextBuffer.ContentType.IsOfType("d"))
            {
                return(null);
            }

            return(new GoToDefMouseHandler(view,
                                           shellCommandDispatcher,
                                           _aggregatorFactory.GetClassifier(buffer),
                                           _navigatorService.GetTextStructureNavigator(buffer),
                                           CtrlKeyState.GetStateForView(view)));
        }
Example #2
0
        public GoToDefMouseHandler(IWpfTextView view, IOleCommandTarget commandTarget,
                                   IClassifier aggregator, ITextStructureNavigator navigator, CtrlKeyState state)
        {
            _view          = view;
            _commandTarget = commandTarget;
            _state         = state;
            _aggregator    = aggregator;
            _navigator     = navigator;

            _state.CtrlKeyStateChanged += (sender, args) =>
            {
                if (_state.Enabled)
                {
                    this.TryHighlightItemUnderMouse(RelativeToView(Mouse.PrimaryDevice.GetPosition(_view.VisualElement)));
                }
                else
                {
                    this.SetHighlightSpan(null);
                }
            };

            // Some other points to clear the highlight span.
            _view.LostAggregateFocus       += (sender, args) => this.SetHighlightSpan(null);
            _view.VisualElement.MouseLeave += (sender, args) => this.SetHighlightSpan(null);
        }
Example #3
0
        //[Import]
        //private SVsServiceProvider _serviceProvider;

        public KeyProcessor GetAssociatedProcessor(IWpfTextView view)
        {
            //IVsExtensionManager manager = _serviceProvider.GetService(typeof(SVsExtensionManager)) as IVsExtensionManager;
            //if (manager == null)
            //    return null;
            //
            //IInstalledExtension extension;
            //manager.TryGetInstalledExtension("GoToDef", out extension);
            //if (extension != null)
            //    return null;

            return(view.Properties.GetOrCreateSingletonProperty(typeof(GoToDefKeyProcessor),
                                                                () => new GoToDefKeyProcessor(CtrlKeyState.GetStateForView(view))));
        }
Example #4
0
 public GoToDefKeyProcessor(CtrlKeyState state)
 {
     _state = state;
 }