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); } }
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; }
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; }