예제 #1
0
        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);
            }
        }
예제 #2
0
        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]);
            }
        }