public void OnFrameIsOnScreenChanged(IVsWindowFrame frame, bool newIsOnScreen)
        {
            Shell.ThreadHelper.ThrowIfNotOnUIThread();
            var frameInfo = new WindowFrameInfo(frame);

            RecordEvent($"{frameInfo.Caption}. IsOnScreen={newIsOnScreen}");
        }
        public void OnFrameViewReplaced(IVsWindowFrame frame)
        {
            Shell.ThreadHelper.ThrowIfNotOnUIThread();
            var frameInfo = new WindowFrameInfo(frame);

            RecordEvent($"{frameInfo.Caption}. New view = {frameInfo.DocView}");

            if (_windowFramesDataSource.TryFindEntry(frameInfo, out WindowFrameEntry windowFrameEntry))
            {
                windowFrameEntry.DocView = frameInfo.DocView;
            }
        }
        public void OnFrameIsVisibleChanged(IVsWindowFrame frame, bool newIsVisible)
        {
            Shell.ThreadHelper.ThrowIfNotOnUIThread();
            var frameInfo = new WindowFrameInfo(frame);

            RecordEvent($"{frameInfo.Caption}. IsVisible={newIsVisible}");

            if (_windowFramesDataSource.GetOrAddEntry(frameInfo, out WindowFrameEntry? windowFrameEntry) && (windowFrameEntry != null))
            {
                windowFrameEntry.IsVisible = newIsVisible;
            }
        }
        public void OnFrameDestroyed(IVsWindowFrame frame)
        {
            Shell.ThreadHelper.ThrowIfNotOnUIThread();
            var frameInfo = new WindowFrameInfo(frame);

            RecordEvent($"{frameInfo.DocumentPath}");

            if (_windowFramesDataSource.TryFindEntry(frameInfo, out WindowFrameEntry windowFrameEntry))
            {
                _windowFramesDataSource.Entries.Remove(windowFrameEntry);
            }
        }
        public void OnFrameCreated(IVsWindowFrame frame)
        {
            Shell.ThreadHelper.ThrowIfNotOnUIThread();
            var frameInfo = new WindowFrameInfo(frame);

            RecordEvent($"{frameInfo.DocumentPath}");

            if (frameInfo.ItemId != 0)
            {
                _windowFramesDataSource.AddOrUpdateEntry(frame);
            }
        }
Esempio n. 6
0
        internal void Update(WindowFrameInfo newFrameInfo)
        {
            Shell.ThreadHelper.ThrowIfNotOnUIThread();

            this.Caption        = newFrameInfo.Caption;
            this.CmdUIGuid      = newFrameInfo.CmdUIGuid;
            this.CreateWinFlags = newFrameInfo.CreateWinFlags;
            this.DocCookie      = newFrameInfo.DocCookie;
            this.DocData        = newFrameInfo.DocData;
            this.DocumentPath   = newFrameInfo.DocumentPath;
            this.DocView        = newFrameInfo.DocView;
            this.EditorType     = newFrameInfo.EditorType;
            this.FrameMode      = newFrameInfo.FrameMode;
            this.Hierarchy      = newFrameInfo.Hierarchy;
            this.IsVisible      = newFrameInfo.IsVisible;
            this.IsWaitFrame    = newFrameInfo.IsWaitFrame;
            this.IsWindowTabbed = newFrameInfo.IsWindowTabbed;
            this.ItemId         = newFrameInfo.ItemId;
            this.PhysicalView   = newFrameInfo.PhysicalView;
            this.RDTDocData     = newFrameInfo.RDTDocData;
            this.ShortCaption   = newFrameInfo.ShortCaption;
            this.WindowState    = newFrameInfo.WindowState;
        }
Esempio n. 7
0
 public WindowFrameEntry(WindowFrameInfo windowFrameInfo)
 {
     Shell.ThreadHelper.ThrowIfNotOnUIThread();
     Caption        = windowFrameInfo.Caption;
     CmdUIGuid      = windowFrameInfo.CmdUIGuid;
     CreateWinFlags = windowFrameInfo.CreateWinFlags;
     DocCookie      = windowFrameInfo.DocCookie;
     DocData        = windowFrameInfo.DocData;
     DocumentPath   = windowFrameInfo.DocumentPath;
     DocView        = windowFrameInfo.DocView;
     EditorType     = windowFrameInfo.EditorType;
     FrameMode      = windowFrameInfo.FrameMode;
     Hierarchy      = windowFrameInfo.Hierarchy;
     IsVisible      = windowFrameInfo.IsVisible;
     IsWaitFrame    = windowFrameInfo.IsWaitFrame;
     IsWindowTabbed = windowFrameInfo.IsWindowTabbed;
     ItemId         = windowFrameInfo.ItemId;
     PhysicalView   = windowFrameInfo.PhysicalView;
     RDTDocData     = windowFrameInfo.RDTDocData;
     ShortCaption   = windowFrameInfo.ShortCaption;
     FrameType      = windowFrameInfo.Type;
     WindowState    = windowFrameInfo.WindowState;
 }