Exemplo n.º 1
0
 /// <summary>
 /// Raises event 'WindowRemoved'
 /// </summary>
 protected virtual void OnWindowRemoved()
 {
     if (WindowRemoved != null)
     {
         WindowRemoved.Invoke(this, System.EventArgs.Empty);
     }
 }
Exemplo n.º 2
0
Arquivo: Win32.cs Projeto: guytp/guy3
        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));
            }
        }
Exemplo n.º 3
0
        public static void RemoveWindow(Form form)
        {
            Contract.Requires(form != null);

            if (windows.Remove(form))
            {
                WindowRemoved?.Invoke(null, new GlobalWindowManagerEventArgs(form));
            }
        }
Exemplo n.º 4
0
 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);
     }
 }
Exemplo n.º 5
0
        internal static void WindowClosed(Window win)
        {
            if (RestartData != null)
            {
                return;
            }

            WindowRemoved?.Invoke(win, EventArgs.Empty);
            if (MainWindow == win)
            {
                MainWindow.Exit();
                MainWindow = null;
            }
        }
Exemplo n.º 6
0
        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));
                }
            }
        }
Exemplo n.º 7
0
 internal void OnWindowRemove(EditorWindow window)
 {
     Windows.Remove(window);
     WindowRemoved?.Invoke(window);
 }
Exemplo n.º 8
0
 /// <inheritdoc />
 public virtual void OnWindowRemoved(IDockWindow?window)
 {
     WindowRemoved?.Invoke(this, new WindowRemovedEventArgs(window));
 }