예제 #1
0
        public void Execute()
        {
            // We keep the list ordered. [0] = left.
            AbstractScreen temp = m_ScreenManagerKernel.screenList[0];

            m_ScreenManagerKernel.screenList[0] = m_ScreenManagerKernel.screenList[1];
            m_ScreenManagerKernel.screenList[1] = temp;

            // Show new disposition.
            ScreenManagerUserInterface smui = m_ScreenManagerKernel.UI as ScreenManagerUserInterface;

            if (smui != null)
            {
                smui.splitScreens.Panel1.Controls.Clear();
                smui.splitScreens.Panel2.Controls.Clear();

                smui.splitScreens.Panel1.Controls.Add(m_ScreenManagerKernel.screenList[0].UI);
                smui.splitScreens.Panel2.Controls.Add(m_ScreenManagerKernel.screenList[1].UI);
            }

            // the following lines are placed here so they also get called at unexecute.
            m_ScreenManagerKernel.OrganizeMenus();
            m_ScreenManagerKernel.UpdateStatusBar();
            m_ScreenManagerKernel.SwapSync();
            m_ScreenManagerKernel.SetSyncPoint(true);
        }