internal void CallPlugins(CharacterCareer frmCareer, CustomActivity parentActivity) { foreach (IPlugin plugin in MyActivePlugins) { using (_ = Timekeeper.StartSyncron("load_plugin_GetTabPage_Career_" + plugin, parentActivity, CustomActivity.OperationType.DependencyOperation, plugin.ToString())) { IEnumerable <TabPage> pages = plugin.GetTabPages(frmCareer); if (pages == null) { continue; } foreach (TabPage page in pages) { if (page != null && !frmCareer.TabCharacterTabs.TabPages.Contains(page)) { frmCareer.TabCharacterTabs.TabPages.Add(page); } } } } }
public IEnumerable <System.Windows.Forms.TabPage> GetTabPages(CharacterCareer input) { //here you can add (or remove!) tabs from frmCareer //as well as manipulate every single tab yield break; }