/// <summary> /// Renames the documents using the items and functions registered in <paramref name="renameData"/>. /// </summary> /// <param name="renameData">Data that provideds the items to rename, the functions etc.</param> /// <returns>If the action was successfull, an empty list. If the action was only partially successfull, the returned list contains those objects, for which the rename action failed.</returns> public static List <object> RenameDocuments(Altaxo.Gui.Common.MultiRename.MultiRenameData renameData) { var renameFailedObjects = new List <object>(); // first, give all items a new, random name for (int i = 0; i < renameData.ObjectsToRenameCount; ++i) { object o = renameData.GetObjectToRename(i); string oldName = GetFullName(o); string newName = oldName + "_._" + System.Guid.NewGuid().ToString(); SetName(o, newName); } // now, try to set the new assigned name for (int i = 0; i < renameData.ObjectsToRenameCount; ++i) { object o = renameData.GetObjectToRename(i); string newName = renameData.GetNewNameForObject(i); try { SetName(o, newName); } catch (Exception) { renameFailedObjects.Add(o); } } return(renameFailedObjects); }
/// <summary>Get the text for column i</summary> /// <param name="i">Column index.</param> /// <returns></returns> public override string SubItemText(int i) { var fkt = _data.ColumnsOfObjectInformation[i].Value; if (null != fkt) { return(fkt(_data.GetObjectToRename((int)_tag))); } else { return(_data.GetNewNameForObject((int)_tag)); } }
public MyNode(MultiRenameData data, int idx) : base(data.ColumnsOfObjectInformation[0].Value(data.GetObjectToRename(idx)), idx) { _data = data; }
private static List<object> DoExportGraphs(MultiRenameData mrData) { var failedItems = new List<object>(); var errors = new StringBuilder(); bool allPathsRooted = true; for (int i = 0; i < mrData.ObjectsToRenameCount; ++i) { var fileName = mrData.GetNewNameForObject(i); if (!System.IO.Path.IsPathRooted(fileName)) { allPathsRooted = false; break; } } if (!allPathsRooted) { //Current.Gui.ShowFolderDialog(); // http://wpfdialogs.codeplex.com/ } for (int i = 0; i < mrData.ObjectsToRenameCount; ++i) { var graph = (GraphDocument)mrData.GetObjectToRename(i); var fileName = mrData.GetNewNameForObject(i); try { DoExportGraph(graph, fileName, _graphExportOptionsToFile); } catch (Exception ex) { failedItems.Add(graph); errors.AppendFormat("Graph {0} -> file name {1}: export failed, {2}\n", graph.Name, fileName, ex.Message); } } if (errors.Length != 0) Current.Gui.ErrorMessageBox(errors.ToString(), "Export failed for some items"); else Current.Gui.InfoMessageBox(string.Format("{0} graphs successfully exported.", mrData.ObjectsToRenameCount)); return failedItems; }