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; }