public int OnBeforeDocumentWindowShow(uint docCookie, int fFirstShow, IVsWindowFrame frame) { ThreadHelper.ThrowIfNotOnUIThread(); if (fFirstShow != 0) { var windowFrameInfo = new WindowFrameInfo(frame, this); _windowFrames.Add(frame, windowFrameInfo); } //var path = frame.GetFilePath(); //int isOnScreen; //frame.IsOnScreen(out isOnScreen); //Debug.WriteLine($"tr: BeforeDocumentWindowShow(docCookie={docCookie}, fFirstShow='{fFirstShow != 0}', isOnScreen={isOnScreen}, path='{path}')"); //if (_activeFrames.Count == 0 || _activeFrames[0] != frame) //{ // _activeFrames.Remove(frame); // _activeFrames.Insert(0, frame); //} // // посылаем сообщение активации return VSConstants.S_OK; }
public int OnBeforeDocumentWindowShow(uint docCookie, int fFirstShow, IVsWindowFrame frame) { ThreadHelper.ThrowIfNotOnUIThread(); if (fFirstShow != 0) { var windowFrameInfo = new WindowFrameInfo(frame, this); _windowFrames.Add(frame, windowFrameInfo); DocumentWindowCreate?.Invoke(this, new DocumentWindowEventArgs(windowFrameInfo)); } //var path = frame.GetFilePath(); //int isOnScreen; //frame.IsOnScreen(out isOnScreen); //Debug.WriteLine($"tr: BeforeDocumentWindowShow(docCookie={docCookie}, fFirstShow='{fFirstShow != 0}', isOnScreen={isOnScreen}, path='{path}')"); //if (_activeFrames.Count == 0 || _activeFrames[0] != frame) //{ // _activeFrames.Remove(frame); // _activeFrames.Insert(0, frame); //} // // посылаем сообщение активации return(VSConstants.S_OK); }
private void OnDocumentWindowOnScreenChanged(WindowFrameInfo info, bool onScreen) { Debug.WriteLine($"tr: OnScreen={onScreen}, WindowFrame='{info.WindowFrame}'"); if (onScreen) _activeFrames.Add(info); else _activeFrames.Remove(info); foreach (var activeFrame in _activeFrames) Debug.WriteLine($"tr: OnScreen='{activeFrame.OnScreen}', path='{activeFrame.FullPath}')"); DocumentWindowOnScreenChanged?.Invoke(null, new DocumentWindowOnScreenChangedEventArgs(info, onScreen)); }
private void OnDocumentWindowOnScreenChanged(WindowFrameInfo info, bool onScreen) { Debug.WriteLine($"tr: OnScreen={onScreen}, WindowFrame='{info.WindowFrame}'"); if (onScreen) { _activeFrames.Add(info); } else { _activeFrames.Remove(info); } foreach (var activeFrame in _activeFrames) { Debug.WriteLine($"tr: OnScreen='{activeFrame.OnScreen}', path='{activeFrame.FullPath}')"); } DocumentWindowOnScreenChanged?.Invoke(null, new DocumentWindowOnScreenChangedEventArgs(info, onScreen)); }
/// <summary>Record Constructor</summary> /// <param name="info"><see cref="Info"/></param> /// <param name="onScreen"><see cref="OnScreen"/></param> public DocumentWindowOnScreenChangedEventArgs(WindowFrameInfo info, bool onScreen) { Info = info; OnScreen = onScreen; }
/// <summary>Record Constructor</summary> /// <param name="info"><see cref="Info"/></param> public DocumentWindowEventArgs(WindowFrameInfo info) { Info = info; }