/// <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();
        }
Exemple #3
0
 private Window()
 {
     GUI       = new WindowRootControl(this);
     _dpiScale = Platform.DpiScale;
 }
Exemple #4
0
 /// <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));
 }
Exemple #5
0
 /// <summary>
 /// Shows the dialog.
 /// </summary>
 /// <param name="parentWindow">The parent window.</param>
 public void Show(WindowRootControl parentWindow)
 {
     Show(parentWindow?.Window);
 }
Exemple #6
0
 // Hidden constructor. Object created from C++ side.
 private Window()
 {
     GUI = new WindowRootControl(this);
 }