/// <summary> /// Initializes a new instance of the <see cref="FloatWindowDockPanel"/> class. /// </summary> /// <param name="masterPanel">The master panel.</param> /// <param name="window">The window.</param> public FloatWindowDockPanel(MasterDockPanel masterPanel, RootControl window) : base(null) { _masterPanel = masterPanel; _window = (WindowRootControl)window; // Link _masterPanel.FloatingPanels.Add(this); Parent = window; _window.Window.Closing += OnClosing; _window.Window.LeftButtonHit += OnLeftButtonHit; }
private void OnClosing(ClosingReason reason, ref bool cancel) { // Close all docked windows while (Tabs.Count > 0) { if (Tabs[0].Close(reason)) { // Cancel cancel = true; return; } } // Unlink _window.Window.Closing -= OnClosing; _window.Window.LeftButtonHit = null; _window = null; // Remove object FlaxEngine.Assertions.Assert.IsTrue(TabsCount == 0 && ChildPanelsCount == 0); Dispose(); }
private Window() { GUI = new WindowRootControl(this); _dpiScale = Platform.DpiScale; }
/// <summary> /// Shows the dialog and waits for the result. /// </summary> /// <param name="parentWindow">The parent window.</param> /// <returns>The dialog result.</returns> public DialogResult ShowDialog(WindowRootControl parentWindow) { return(ShowDialog(parentWindow?.Window)); }
/// <summary> /// Shows the dialog. /// </summary> /// <param name="parentWindow">The parent window.</param> public void Show(WindowRootControl parentWindow) { Show(parentWindow?.Window); }
// Hidden constructor. Object created from C++ side. private Window() { GUI = new WindowRootControl(this); }