示例#1
0
 public virtual void PageDestroy()
 {
     if (_running == false)
     {
         return;
     }
     GUIWindowManager.IsSwitchingToNewWindow = true;
     lock (thisLock)
     {
         GUIMessage msg = new GUIMessage(GUIMessage.MessageType.GUI_MSG_WINDOW_DEINIT, GetID, 0, 0, _parentWindowID, 0,
                                         null);
         OnMessage(msg);
         if (GUIWindowManager.RoutedWindow == GetID)
         {
             GUIWindowManager.UnRoute(); // only unroute if we still the routed window
         }
         _parentWindow = null;
         _running      = false;
     }
     GUIWindowManager.IsSwitchingToNewWindow = false;
     while (IsAnimating(AnimationType.WindowClose) &&
            GUIGraphicsContext.CurrentState == GUIGraphicsContext.State.RUNNING)
     {
         GUIWindowManager.Process();
     }
 }
        /// <summary>
        /// Close
        /// </summary>
        private void Close()
        {
            GUIWindowManager.IsSwitchingToNewWindow = true;
            lock (this)
            {
                GUIMessage msg = new GUIMessage(GUIMessage.MessageType.GUI_MSG_WINDOW_DEINIT, GetID, 0, 0, 0, 0, null);
                OnMessage(msg);

                GUIWindowManager.UnRoute();
                _running = false;
            }
            GUIWindowManager.IsSwitchingToNewWindow = false;
        }
示例#3
0
        public void Close()
        {
            GUIWindowManager.IsSwitchingToNewWindow = true;
            lock (this)
            {
                if (m_bDialogActive)
                {
                    GUIMessage msg = new GUIMessage(GUIMessage.MessageType.GUI_MSG_WINDOW_DEINIT, GetID, 0, 0, 0, 0, null);
                    OnMessage(msg);
                }

                GUIWindowManager.UnRoute();
                m_pParentWindow            = null;
                m_bRunning                 = false;
                GUIGraphicsContext.Overlay = m_bOverlay;
            }
            GUIWindowManager.IsSwitchingToNewWindow = false;
        }
示例#4
0
        public virtual void Close()
        {
            if (m_bRunning == false)
            {
                return;
            }
            m_bRunning = false;
            GUIWindowManager.IsSwitchingToNewWindow = true;
            lock (this)
            {
                GUIMessage msg = new GUIMessage(GUIMessage.MessageType.GUI_MSG_WINDOW_DEINIT, GetID, 0, 0, 0, 0, null);
                base.OnMessage(msg);

                GUIWindowManager.UnRoute();
                m_bRunning = false;
            }
            GUIWindowManager.IsSwitchingToNewWindow = false;
        }
示例#5
0
        private void Close()
        {
            GUIWindowManager.IsSwitchingToNewWindow = true;
            lock (this)
            {
                GUIMessage msg = null;
                msg = new GUIMessage(GUIMessage.MessageType.GUI_MSG_WINDOW_DEINIT, GetID, 0, 0, 0, 0, null);
                OnMessage(msg);

                GUIWindowManager.UnRoute();

                msg = new GUIMessage(GUIMessage.MessageType.GUI_MSG_WINDOW_INIT, _parentWindow.GetID, 0, 0, -1, 0, null);
                OnMessage(msg);

                GUIWindowManager.ActivateWindow(_parentWindow.GetID);

                _parentWindow = null;
            }
            GUIWindowManager.IsSwitchingToNewWindow = false;
            GUILayerManager.UnRegisterLayer(this);
        }
        public virtual void PageDestroy()
        {
            if (_running == false)
            {
                return;
            }

            try
            {
                GUIWindowManager.IsSwitchingToNewWindow = true;
                if (!_destroyingPage)
                {
                    _destroyingPage = true;
                    GUIMessage msg = new GUIMessage(GUIMessage.MessageType.GUI_MSG_WINDOW_DEINIT, GetID, 0, 0, _parentWindowID, 0,
                                                    null);
                    OnMessage(msg);
                    if (GUIWindowManager.RoutedWindow == GetID)
                    {
                        GUIWindowManager.UnRoute(); // only unroute if we still the routed window
                    }
                    _parentWindow   = null;
                    _running        = false;
                    _destroyingPage = false;
                }
                GUIWindowManager.IsSwitchingToNewWindow = false;
                while (IsAnimating(AnimationType.WindowClose) &&
                       GUIGraphicsContext.CurrentState == GUIGraphicsContext.State.RUNNING)
                {
                    GUIWindowManager.Process();
                }
            }
            catch (System.Exception ex)
            {
                _destroyingPage = false;
                Log.Error("Error during PageDestroy(): " + ex.Message);
            }
        }
        public void PageDestroy()
        {
            if (!_keyboard._useSearchLayout && !_keyboard._password)
            {
                using (MediaPortal.Profile.MPSettings xmlwriter = new Profile.MPSettings())
                {
                    xmlwriter.SetValueAsBool("general", "smsstyleinput", _keyboard.SmsStyleText);
                }
            }
            GUIWindowManager.IsSwitchingToNewWindow = true;
            lock (this)
            {
                base.OnPageDestroy(_parentWindowId);
                GUIGraphicsContext.Overlay = _previousOverlayVisible;
                Dispose();

                GUIWindowManager.UnRoute();
                _parentWindow = null;
            }
            GUIWindowManager.IsSwitchingToNewWindow = false;
            GUILayerManager.UnRegisterLayer(this);

            Log.Debug("Window: {0} deinit", ToString());
        }