Example #1
0
        public override void PreprocessMouseUp(MouseButtonEventArgs e)
        {
            try {
                if (_mouseDownAnchorPoint.HasValue && this._state.Enabled)
                {
                    var currentMousePosition = RelativeToView(e.GetPosition(_view.VisualElement));

                    if (!InDragOperation(_mouseDownAnchorPoint.Value, currentMousePosition))
                    {
                        this._state.Enabled = false;

                        ITextViewLine line           = this._view.TextViewLines.GetTextViewLineContainingYCoordinate(currentMousePosition.Y);
                        SnapshotPoint?bufferPosition = line.GetBufferPositionFromXCoordinate(currentMousePosition.X);
                        string        keyword        = AsmDudeToolsStatic.getKeywordStr(bufferPosition);
                        if (keyword != null)
                        {
                            this.DispatchGoToDoc(keyword);
                        }
                        this.SetHighlightSpan(null);
                        this._view.Selection.Clear();
                        e.Handled = true;
                    }
                }
                _mouseDownAnchorPoint = null;
            } catch (Exception ex) {
                Debug.WriteLine(string.Format(CultureInfo.CurrentCulture, "ERROR: PreprocessMouseUp; e={0}", ex.ToString()));
            }
        }