/** allocates a CCKeypadHandler with a delegate */

        public static CCKeypadHandler HandlerWithDelegate(CCKeypadDelegate pDelegate)
        {
            var pHandler = new CCKeypadHandler();

            pHandler.InitWithDelegate(pDelegate);
            return(pHandler);
        }
Example #2
0
        /**
         * @brief force remove the delegate
         */

        public void ForceRemoveDelegate(CCKeypadDelegate pDelegate)
        {
            for (int i = 0; i < m_pDelegates.Count; i++)
            {
                if (m_pDelegates[i].Delegate == pDelegate)
                {
                    m_pDelegates.RemoveAt(i);
                    break;
                }
            }
        }
        /**
        @brief force remove the delegate
        */

        public void ForceRemoveDelegate(CCKeypadDelegate pDelegate)
        {
            for (int i = 0; i < m_pDelegates.Count; i++)
            {
                if (m_pDelegates[i].Delegate == pDelegate)
                {
                    m_pDelegates.RemoveAt(i);
                    break;
                }
            }
        }
Example #4
0
        /**
         * @brief dispatch the key pad msg
         */

        public bool DispatchKeypadMsg(KeypadMSGType nMsgType)
        {
            m_bLocked = true;

            if (m_pDelegates.Count > 0)
            {
                for (int i = 0; i < m_pDelegates.Count; i++)
                {
                    CCKeypadHandler  pHandler  = m_pDelegates[i];
                    CCKeypadDelegate pDelegate = pHandler.Delegate;

                    switch (nMsgType)
                    {
                    case KeypadMSGType.BackClicked:
                        pDelegate.KeyBackClicked();
                        break;

                    case KeypadMSGType.MenuClicked:
                        pDelegate.KeyMenuClicked();
                        break;
                    }
                }
            }

            m_bLocked = false;

            if (m_bToRemove)
            {
                m_bToRemove = false;
                for (int i = 0; i < m_pHandlersToRemove.Count; ++i)
                {
                    ForceRemoveDelegate(m_pHandlersToRemove[i]);
                }
                m_pHandlersToRemove.Clear();
            }

            if (m_bToAdd)
            {
                m_bToAdd = false;
                for (int i = 0; i < m_pHandlersToAdd.Count; ++i)
                {
                    ForceAddDelegate(m_pHandlersToAdd[i]);
                }
                m_pHandlersToAdd.Clear();
            }

            return(true);
        }
Example #5
0
        /**
         * @brief remove the delegate from the delegates who concern keypad msg
         */

        public void RemoveDelegate(CCKeypadDelegate pDelegate)
        {
            if (pDelegate == null)
            {
                return;
            }

            if (!m_bLocked)
            {
                ForceRemoveDelegate(pDelegate);
            }
            else
            {
                m_pHandlersToRemove.Add(pDelegate);
                m_bToRemove = true;
            }
        }
Example #6
0
        /**
         * @brief add delegate to concern keypad msg
         */

        public void AddDelegate(CCKeypadDelegate pDelegate)
        {
            if (pDelegate == null)
            {
                return;
            }

            if (!m_bLocked)
            {
                ForceAddDelegate(pDelegate);
            }
            else
            {
                m_pHandlersToAdd.Add(pDelegate);
                m_bToAdd = true;
            }
        }
        /**
        @brief remove the delegate from the delegates who concern keypad msg
        */

        public void RemoveDelegate(CCKeypadDelegate pDelegate)
        {
            if (pDelegate == null)
            {
                return;
            }

            if (!m_bLocked)
            {
                ForceRemoveDelegate(pDelegate);
            }
            else
            {
                m_pHandlersToRemove.Add(pDelegate);
                m_bToRemove = true;
            }
        }
        /**
        @brief add delegate to concern keypad msg
        */

        public void AddDelegate(CCKeypadDelegate pDelegate)
        {
            if (pDelegate == null)
            {
                return;
            }

            if (!m_bLocked)
            {
                ForceAddDelegate(pDelegate);
            }
            else
            {
                m_pHandlersToAdd.Add(pDelegate);
                m_bToAdd = true;
            }
        }
Example #9
0
        /**
         * @brief force add the delegate
         */

        public void ForceAddDelegate(CCKeypadDelegate pDelegate)
        {
            CCKeypadHandler pHandler = CCKeypadHandler.HandlerWithDelegate(pDelegate);

            m_pDelegates.Add(pHandler);
        }
        /**
        @brief force add the delegate
        */

        public void ForceAddDelegate(CCKeypadDelegate pDelegate)
        {
            CCKeypadHandler pHandler = CCKeypadHandler.HandlerWithDelegate(pDelegate);
            m_pDelegates.Add(pHandler);
        }
        /** allocates a CCKeypadHandler with a delegate */

        public static CCKeypadHandler HandlerWithDelegate(CCKeypadDelegate pDelegate)
        {
            var pHandler = new CCKeypadHandler();
            pHandler.InitWithDelegate(pDelegate);
            return pHandler;
        }
        /** initializes a CCKeypadHandler with a delegate */

        public virtual bool InitWithDelegate(CCKeypadDelegate pDelegate)
        {
            m_pDelegate = pDelegate;
            return true;
        }
        /** initializes a CCKeypadHandler with a delegate */

        public virtual bool InitWithDelegate(CCKeypadDelegate pDelegate)
        {
            m_pDelegate = pDelegate;
            return(true);
        }