Exemple #1
0
        private void initialChainLinksFeatures()
        {
            m_PostHandlerChain = new ChainPostHandler
            {
                PostHandler = new ApplyShortcutsPostHandler(r_ShortcutsToReplace)
                {
                    Enabled = true,
                },
                NextPostHandler = new ChainPostHandler
                {
                    PostHandler = new CheckNetworkPostHandler
                    {
                        Enabled      = true,
                        LoggedInUser = m_LoggedInUser,
                    },
                }
            };

            foreach (IPostHandler postHandler in m_PostHandlerChain)
            {
                ToolStripButton postHandlerButton = new ToolStripButton(postHandler.Name);
                postHandlerButton.Click  += (i_Sender, i_Args) => postHandlerButton.Checked = !postHandlerButton.Checked;
                postHandlerButton.Checked = postHandler.Enabled;
                IPostHandler handler = postHandler;
                postHandlerButton.CheckStateChanged += (i_Sender, i_Args) => handler.Enabled = ((ToolStripButton)i_Sender).Checked;
                contextMenuPostHandlers.Items.Add(postHandlerButton);
            }
        }
        public IEnumerator <IPostHandler> GetEnumerator()
        {
            ChainPostHandler currentChainPostHandler = this;

            do
            {
                yield return(currentChainPostHandler.PostHandler);

                currentChainPostHandler = currentChainPostHandler.NextPostHandler;
            }while (currentChainPostHandler != null);
        }
 public ChainPostHandler(IPostHandler i_PostHandler, ChainPostHandler i_NextPostHandler = null)
 {
     PostHandler     = i_PostHandler;
     NextPostHandler = i_NextPostHandler;
 }