示例#1
0
        public void Deregister(string container, IKeyInputView inputView)
        {
            List <IKeyInputView> childs = null;

            if (!inputListeners.ContainsKey(container) &&
                !nonInputListeners.ContainsKey(container))
            {
                return;
            }

            if (inputListeners.ContainsKey(container))
            {
                childs = inputListeners[container];
                childs.Remove(inputView);
            }

            if (nonInputListeners.ContainsKey(container))
            {
                childs = nonInputListeners[container];
                childs.Remove(inputView);
            }

            if (activeControls.ContainsKey(ActiveContainer) && activeControls[ActiveContainer] == inputView)
            {
                activeControls[ActiveContainer] = null;
            }
        }
示例#2
0
        /// <summary>
        /// Unregister to stop listening to KeyEvent
        /// </summary>
        /// <param name="inputView"></param>
        public void Unregister(IKeyInputView inputView)
        {
            if (inputListeners.Contains(inputView))
            {
                inputListeners.Remove(inputView);
            }

            if (nonInputListeners.Contains(inputView))
            {
                nonInputListeners.Remove(inputView);
            }
        }
示例#3
0
        public void Register(string container, IKeyInputView inputView)
        {
            if (!containerWorkers.ContainsKey(container))
            {
                BackgroundWorker wk = new BackgroundWorker();
                wk.DoWork                  += worker_DoWork;
                wk.RunWorkerCompleted      += worker_RunWorkerCompleted;
                containerWorkers[container] = wk;
            }

            List <IKeyInputView> childs = null;

            if (inputView.GetType().Name.Equals("InputText") ||
                inputView.GetType().IsSubclassOf(typeof(InputText)))
            {
                if (!inputListeners.ContainsKey(container))
                {
                    childs = new List <IKeyInputView>();
                    inputListeners.Add(container, childs);
                    activeControls[container] = null;
                }
                else
                {
                    childs = inputListeners[container];
                }

                if (childs.Contains(inputView))
                {
                    return;
                }

                childs.Add(inputView);
            }
            else
            {
                if (!nonInputListeners.ContainsKey(container))
                {
                    childs = new List <IKeyInputView>();
                    nonInputListeners.Add(container, childs);
                }
                else
                {
                    childs = nonInputListeners[container];
                }

                if (childs.Contains(inputView))
                {
                    return;
                }

                childs.Add(inputView);
            }
        }
示例#4
0
 /// <summary>
 /// Register to receive KeyEvent event
 /// </summary>
 /// <param name="inputView"></param>
 public void Register(IKeyInputView inputView)
 {
     if (inputView.GetType().Name.Equals("InputText") ||
         inputView.GetType().IsSubclassOf(typeof(InputText)))
     {
         if (!inputListeners.Contains(inputView))
         {
             inputListeners.Add(inputView);
         }
     }
     else
     {
         if (!nonInputListeners.Contains(inputView))
         {
             nonInputListeners.Add(inputView);
         }
     }
 }
示例#5
0
 public void Register(IKeyInputView inputView)
 {
     Register(ActiveContainer, inputView);
 }