private void memoryViewControl_ChangeWrappedTypeClick(object sender, NodeClickEventArgs e) { if (e.Node is BaseWrapperNode wrapperNode) { var items = NodeTypesBuilder.CreateToolStripMenuItems(t => { var node = BaseNode.CreateInstanceFromType(t); if (wrapperNode.CanChangeInnerNodeTo(node)) { wrapperNode.ChangeInnerNode(node); } }, wrapperNode.CanChangeInnerNodeTo(null)); var menu = new ContextMenuStrip(); menu.Items.AddRange(items.ToArray()); menu.Show(this, e.Location); } }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); GlobalWindowManager.AddWindow(this); pluginManager.LoadAllPlugins(Path.Combine(Application.StartupPath, Constants.PluginsFolder), Program.Logger); toolStrip.Items.AddRange(NodeTypesBuilder.CreateToolStripButtons(ReplaceSelectedNodesWithType).ToArray()); changeTypeToolStripMenuItem.DropDownItems.AddRange(NodeTypesBuilder.CreateToolStripMenuItems(ReplaceSelectedNodesWithType, false).ToArray()); var createDefaultProject = true; if (Program.CommandLineArgs.FileName != null) { try { LoadProjectFromPath(Program.CommandLineArgs.FileName); createDefaultProject = false; } catch (Exception ex) { Program.Logger.Log(ex); } } if (createDefaultProject) { SetProject(new ReClassNetProject()); LinkedWindowFeatures.CreateDefaultClass(); } if (Program.CommandLineArgs[Constants.CommandLineOptions.AttachTo] != null) { AttachToProcess(Program.CommandLineArgs[Constants.CommandLineOptions.AttachTo]); } }