public void Main(MgaProject project, MgaFCO currentobj, MgaFCOs selectedobjs, ComponentStartMode startMode) { // TODO: Add your interpreter code gmeConsole.Out.WriteLine("Running Subtree Merge Utility ..."); string[] FileNames = null; DialogResult dr; using (OpenFileDialog ofd = new OpenFileDialog()) { ofd.CheckFileExists = true; ofd.DefaultExt = "mga"; ofd.Multiselect = false; ofd.Filter = "mga files (*.mga)|*.mga|All files (*.*)|*.*"; dr = ofd.ShowDialog(); if (dr == DialogResult.OK) { FileNames = ofd.FileNames; } } if (dr == DialogResult.OK) { MgaGateway.PerformInTransaction(delegate { SubTreeMerge subTreeMerge = new SubTreeMerge(); subTreeMerge.gmeConsole = gmeConsole; subTreeMerge.merge(currentobj, FileNames[0]); }, transactiontype_enum.TRANSACTION_NON_NESTED, abort: false); return; } else { gmeConsole.Warning.WriteLine("Subtree Merge Utility cancelled"); return; } }