コード例 #1
0
            private object GetCurrentElementValue(VSConstants.VSSELELEMID elementId)
            {
                object value = null;
                if (ErrorHandler.Succeeded(ErrorHandler.CallWithCOMConvention(() => _monitorSelection.GetCurrentElementValue((uint)elementId, out value))))
                    return value;

                return null;
            }
コード例 #2
0
        public void OnElementValueChanged_NonDocumentElementId_DoesNotRaiseEvent(VSConstants.VSSELELEMID elementId)
        {
            var selectedFrame = Mock.Of <IVsWindowFrame>();

            var result = SimulateElementValueChanged(elementId, selectedFrame);

            result.Should().Be(VSConstants.S_OK);

            mockEventHandler.VerifyNoOtherCalls();
            textDocumentProviderMock.VerifyNoOtherCalls();
        }
コード例 #3
0
        private void HandleElementValueChanged(VSConstants.VSSELELEMID elementId, object oldValue, object newValue)
        {
            switch (elementId)
            {
            case VSConstants.VSSELELEMID.SEID_DocumentFrame:
                var viewChanged = ViewChanged;
                if (viewChanged != null)
                {
                    ITextView            oldView = GetTextView((IVsWindowFrame)oldValue);
                    ITextView            newView = GetTextView((IVsWindowFrame)newValue);
                    ViewChangedEventArgs e       = new ViewChangedEventArgs(oldView, newView);
                    viewChanged(this, e);
                }

                return;

            case VSConstants.VSSELELEMID.SEID_LastWindowFrame:
                break;

            case VSConstants.VSSELELEMID.SEID_PropertyBrowserSID:
                break;

            case VSConstants.VSSELELEMID.SEID_ResultList:
                break;

            case VSConstants.VSSELELEMID.SEID_StartupProject:
                break;

            case VSConstants.VSSELELEMID.SEID_UndoManager:
                break;

            case VSConstants.VSSELELEMID.SEID_UserContext:
                break;

            case VSConstants.VSSELELEMID.SEID_WindowFrame:
                break;

            default:
                break;
            }
        }
コード例 #4
0
 private int SimulateElementValueChanged(VSConstants.VSSELELEMID elementId, object newValue) =>
 (testSubject as IVsSelectionEvents).OnElementValueChanged((uint)elementId,
                                                           "old value - can be anything",
                                                           newValue);