public bool OnAccept(CloneObjectParameters parameters)
{
// Do the cloning
string originalName = mFileData.GetNameForCloning();
string potentialNewNodeName = parameters.TransformParameter(originalName);
if (potentialNewNodeName.Length <= 1)
{
MessageBox.Show("You must enter a name longer than 1 character for the clone!");
return false;
}
if (potentialNewNodeName.Equals(originalName) && parameters.SourceModule == parameters.TargetModule)
{
MessageBox.Show("You must enter a new unique name for the clone or change the target mod!");
return false;
}
HashSet<string> dependencies = ModuleDataManager.GetInstance().PreviewCloneDependencies(mFileData, parameters);
HashSet<string> savedUnwantedItems = mPreviewCallback != null ? mPreviewCallback.SavedUnwantedItems : null;
mPreviewCallback = new PreviewCloneAliasCallback(mViewer, mFileData, parameters);
mPreviewCallback.SavedUnwantedItems = savedUnwantedItems;
PreviewCloneDialog dialog = new PreviewCloneDialog("Creating " + potentialNewNodeName, dependencies, mPreviewCallback);
DialogResult result = dialog.ShowDialog();
if (result != DialogResult.OK)
{
return false;
}
return true;
}