private void m_HideButton_Click(object sender, System.EventArgs e)
        {
            INDockingPanel selected = SelectedPanel;

            if (selected == null)
            {
                return;
            }

            selected.Close();
            UpdateFunctionalityButtons();
        }
        private void m_AutoHideButton_Click(object sender, System.EventArgs e)
        {
            INDockingPanel selected = SelectedPanel;

            if (selected == null)
            {
                return;
            }

            DockState state = selected.DockState;

            if (state != DockState.AutoHide)
            {
                selected.AutoHide();
            }

            UpdateFunctionalityButtons();
        }
        private void OnPanelCommandClicked(object sender, CommandEventArgs args)
        {
            NCommand       comm  = args.Command;
            INDockingPanel panel = comm.Properties.Tag as INDockingPanel;

            if (panel == null)
            {
                return;
            }

            if (comm.Checked)
            {
                panel.Close();
            }
            else
            {
                panel.Display();
            }
        }
        internal void UpdateFunctionalityButtons()
        {
            INDockingPanel selected = SelectedPanel;
            DockState      state    = selected.DockState;

            switch (state)
            {
            case DockState.AutoHide:
                m_FloatButton.Enabled    = false;
                m_HideButton.Enabled     = true;
                m_DockButton.Enabled     = true;
                m_AutoHideButton.Enabled = false;
                break;

            case DockState.Docked:
                m_DockButton.Enabled     = false;
                m_AutoHideButton.Enabled = true;
                m_FloatButton.Enabled    = true;
                m_HideButton.Enabled     = true;
                break;

            case DockState.Floating:
                m_DockButton.Enabled     = true;
                m_HideButton.Enabled     = true;
                m_AutoHideButton.Enabled = false;
                m_FloatButton.Enabled    = false;
                break;

            case DockState.Unknown:
                m_DockButton.Enabled     = false;
                m_HideButton.Enabled     = false;
                m_AutoHideButton.Enabled = false;
                m_FloatButton.Enabled    = false;
                break;
            }
        }