/// <summary> /// Raises event 'WindowRemoved' /// </summary> protected virtual void OnWindowRemoved() { if (WindowRemoved != null) { WindowRemoved.Invoke(this, System.EventArgs.Empty); } }
public void ScanForWindowUpdates() { Win32Window[] windows = GetDesktopWindowHandlesAndTitles(); foreach (Win32Window window in windows) { Win32Window existing = _windows.FirstOrDefault(w => w.Handle == window.Handle); if (existing == null) { _windows.Add(window); WindowAdded?.Invoke(this, new NativeWindowEventArgs(window)); } else if (!existing.Equals(window)) { existing.UpdateFrom(window); WindowUpdated?.Invoke(this, new NativeWindowEventArgs(window)); } } List <Win32Window> toRemove = new List <Win32Window>(); foreach (Win32Window window in _windows) { if (!windows.Any(w => w.Handle == window.Handle)) { toRemove.Add(window); } } foreach (Win32Window window in toRemove) { _windows.Remove(window); WindowRemoved?.Invoke(this, new NativeWindowEventArgs(window)); } }
public static void RemoveWindow(Form form) { Contract.Requires(form != null); if (windows.Remove(form)) { WindowRemoved?.Invoke(null, new GlobalWindowManagerEventArgs(form)); } }
public void RemoveWindow(IWindow window) { if (_windowsToWorkspaces.ContainsKey(window)) { Logger.Debug("RemoveWindow({0})", window); var workspace = _windowsToWorkspaces[window]; _windowsToWorkspaces[window].RemoveWindow(window); _windowsToWorkspaces.Remove(window); WindowRemoved?.Invoke(window, workspace); } }
internal static void WindowClosed(Window win) { if (RestartData != null) { return; } WindowRemoved?.Invoke(win, EventArgs.Empty); if (MainWindow == win) { MainWindow.Exit(); MainWindow = null; } }
private void RemoveReferencedWindow(Window window) { if (window != null) { // remove event handler window.SizeChanged -= WindowSizeChanged; window.LocationChanged -= WindowLocationChanged; window.Deactivated -= WinDeactivated; window.Activated -= WinActivated; window.Closed -= WindowClosed; // remove references (element and window) var guid = Guid.Empty; if (myReferencedWindows.TryGetValue(window, out guid)) { myReferencedWindows.Remove(window); WindowRemoved?.Invoke(this, new WindowActivationChangedEventArgs(guid, false)); } } }
internal void OnWindowRemove(EditorWindow window) { Windows.Remove(window); WindowRemoved?.Invoke(window); }
/// <inheritdoc /> public virtual void OnWindowRemoved(IDockWindow?window) { WindowRemoved?.Invoke(this, new WindowRemovedEventArgs(window)); }