Пример #1
0
            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);
                }

                parameters.SetmanifestEntryType(mManifestEntryType);

                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);
            }