private void SimulatorForm_Load(object sender, EventArgs e)
{
foreach (var factory in plugins)
{
var instance = factory.Create(this.log);
var item = new ToolStripMenuItem(instance.RootDisplayName);
item.Image = instance.PluginImage;
this.addToolStripMenuItem.DropDownItems.Add(item);
var page = new TabPage(instance.UniqueId);
var treeView = new TreeView();
page.Tag = treeView;
treeView.Dock = DockStyle.Fill;
treeView.ImageList = instance.NodeImageList;
page.Controls.Add(treeView);
this.tabControlPlugins.TabPages.Add(page);
item.Click += new EventHandler(
delegate(Object o, EventArgs a)
{
var callbacks = new TreeNodeCallbacks(this);
var node = instance.Create(callbacks);
if (node != null)
{
BindNode(node, callbacks.node, treeView.Nodes);
}
}
);
this.log.LogFull(DisplayHint.INFO, "INFO", "system", "Initialized " + instance.UniqueId + " plugin");
}
}