Exemplo n.º 1
0
        public MultiRenameDateTimeElement(MultiRenameData multiRenameData, string shortCut, string dateTimeFormat, bool useUtcTime)
            : base(multiRenameData, shortCut)
        {
            _dateTimeFormat = string.IsNullOrEmpty(dateTimeFormat) ? DefaultDateTimeFormat : dateTimeFormat;

            _useUtcTime = useUtcTime;
        }
Exemplo n.º 2
0
 public MultiRenameArrayElement(MultiRenameData multiRenameData, string shortCut, int start, int last, string separator)
     : base(multiRenameData, shortCut)
 {
     _start     = start;
     _last      = last;
     _separator = separator;
 }
Exemplo n.º 3
0
        /// <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);
        }
Exemplo n.º 4
0
 public MultiRenameParser(MultiRenameData renameData)
     : base()
 {
     _integerTChars  = new SortedSet <string>(renameData.GetIntegerShortcuts(), _comparer);
     _stringTChars   = new SortedSet <string>(renameData.GetStringShortcuts(), _comparer);
     _arrayTChars    = new SortedSet <string>(renameData.GetArrayShortcuts(), _comparer);
     _dateTimeTChars = new SortedSet <string>(renameData.GetDateTimeShortcuts(), _comparer);
 }
Exemplo n.º 5
0
 public MultiRenameIntegerElement(MultiRenameData multiRenameData, string shortCut, int numberOfDigits, int offset, int step)
     : base(multiRenameData, shortCut)
 {
     _numberOfDigits = numberOfDigits;
     _offset         = offset;
     _step           = step;
     _formatString   = "D" + numberOfDigits.ToString();
 }
Exemplo n.º 6
0
		public MultiRenameTreeWalker(string sourceText, MultiRenameData data)
		{
			_sourceText = sourceText;
			_renameData = data;
			var parser = new MultiRenameParser(data);
			parser.SetSource(_sourceText);

			bool bMatches = parser.MainSentence();
			_tree = parser.GetRoot();
		}
Exemplo n.º 7
0
        public MultiRenameTreeWalker(string sourceText, MultiRenameData data)
        {
            _sourceText = sourceText;
            _renameData = data;
            var parser = new MultiRenameParser(data);

            parser.SetSource(_sourceText);

            bool bMatches = parser.MainSentence();

            _tree = parser.GetRoot();
        }
Exemplo n.º 8
0
        public bool InitializeDocument(params object[] args)
        {
            if (args == null || args.Length == 0 || !(args[0] is MultiRenameData))
            {
                return(false);
            }

            _doc = (MultiRenameData)args[0];

            Initialize(true);
            return(true);
        }
Exemplo n.º 9
0
		/// <summary>
		/// Shows a dialog in which one can rename a list of documents (graphs, worksheets).
		/// </summary>
		/// <param name="objectsToRename">The documents to rename.</param>
		public static void ShowRenameDocumentsDialog(IEnumerable<object> objectsToRename)
		{
			var renameData = new Altaxo.Gui.Common.MultiRename.MultiRenameData();
			renameData.AddObjectsToRename(objectsToRename);

			renameData.RegisterListColumn("Full name", Main.Commands.MultiRenameDocuments.GetFullName);
			renameData.RegisterListColumn("New name", null);
			renameData.RegisterListColumn("Creation date", Main.Commands.MultiRenameDocuments.GetCreationDateString);

			Main.Commands.MultiRenameDocuments.RegisterCommonDocumentShortcuts(renameData);

			renameData.DefaultPatternString = "[N]";

			renameData.RegisterRenameActionHandler(RenameDocuments);

			var controller = new Altaxo.Gui.Common.MultiRename.MultiRenameController();
			controller.InitializeDocument(renameData);

			Current.Gui.ShowDialog(controller, "Rename items");
		}
Exemplo n.º 10
0
        /// <summary>
        /// Shows a dialog in which one can rename a list of documents (graphs, worksheets).
        /// </summary>
        /// <param name="objectsToRename">The documents to rename.</param>
        public static void ShowRenameDocumentsDialog(IEnumerable <object> objectsToRename)
        {
            var renameData = new Altaxo.Gui.Common.MultiRename.MultiRenameData();

            renameData.AddObjectsToRename(objectsToRename);

            renameData.RegisterListColumn("Full name", Main.Commands.MultiRenameDocuments.GetFullName);
            renameData.RegisterListColumn("New name", null);
            renameData.RegisterListColumn("Creation date", Main.Commands.MultiRenameDocuments.GetCreationDateString);

            Main.Commands.MultiRenameDocuments.RegisterCommonDocumentShortcuts(renameData);

            renameData.DefaultPatternString = "[N]";

            renameData.RegisterRenameActionHandler(RenameDocuments);

            var controller = new Altaxo.Gui.Common.MultiRename.MultiRenameController();

            controller.InitializeDocument(renameData);

            Current.Gui.ShowDialog(controller, "Rename items");
        }
Exemplo n.º 11
0
		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;
		}
Exemplo n.º 12
0
		public MultiRenameArrayElement(MultiRenameData multiRenameData, string shortCut, int start, int last, string separator)
			: base(multiRenameData, shortCut)
		{
			_start = start;
			_last = last;
			_separator = separator;
		}
Exemplo n.º 13
0
		/// <summary>
		/// Register common shortcuts that are available for all documents (worksheets and graphs), like name, path, creation date etc.
		/// </summary>
		/// <param name="renameData">Rename data structure in which the shortcuts have to be registered.</param>
		public static void RegisterCommonDocumentShortcuts(MultiRenameData renameData)
		{
			renameData.RegisterStringShortcut("N", GetFullName, "Name of the object (full name, with path)");
			renameData.RegisterStringShortcut("SN", GetShortName, "Short name of the object (without path");
			renameData.RegisterStringShortcut("PN", GetFolderName, "Path name of the object");
			renameData.RegisterIntegerShortcut("C", GetCounter, "Index of the object in the list");

			renameData.RegisterDateTimeShortcut("CD", GetCreationDate, "Creation date of the object");

			renameData.RegisterStringArrayShortcut("NA", GetNamePartArray, "Name array, i.e. full name split into individual path pieces");
			renameData.RegisterStringArrayShortcut("PA", GetFolderPartArray, "Path array, i.e. path name of the object split into individual path pieces");
		}
Exemplo n.º 14
0
 public MyNode(MultiRenameData data, int idx)
     : base(data.ColumnsOfObjectInformation[0].Value(data.GetObjectToRename(idx)), idx)
 {
     _data = data;
 }
Exemplo n.º 15
0
		public MultiRenameBaseElement(MultiRenameData multiRenameData, string shortCut)
		{
			_renameData = multiRenameData;
			_shortCut = shortCut;
		}
Exemplo n.º 16
0
			public MyNode(MultiRenameData data, int idx)
				: base(data.ColumnsOfObjectInformation[0].Value(data.GetObjectToRename(idx)), idx)
			{
				_data = data;
			}
Exemplo n.º 17
0
		public bool InitializeDocument(params object[] args)
		{
			if (args == null || args.Length == 0 || !(args[0] is MultiRenameData))
				return false;

			_doc = (MultiRenameData)args[0];

			Initialize(true);
			return true;
		}
Exemplo n.º 18
0
		public MultiRenameDateTimeElement(MultiRenameData multiRenameData, string shortCut, string dateTimeFormat, bool useUtcTime)
			: base(multiRenameData, shortCut)
		{
			_dateTimeFormat = string.IsNullOrEmpty(dateTimeFormat) ? DefaultDateTimeFormat : dateTimeFormat;

			_useUtcTime = useUtcTime;
		}
Exemplo n.º 19
0
 public MultiRenameBaseElement(MultiRenameData multiRenameData, string shortCut)
 {
     _renameData = multiRenameData;
     _shortCut   = shortCut;
 }
Exemplo n.º 20
0
		public MultiRenameStringElement(MultiRenameData multiRenameData, string shortCut, int start, int last)
			: base(multiRenameData, shortCut)
		{
			_start = start;
			_last = last;
		}
Exemplo n.º 21
0
 public MultiRenameStringElement(MultiRenameData multiRenameData, string shortCut, int start, int last)
     : base(multiRenameData, shortCut)
 {
     _start = start;
     _last  = last;
 }
Exemplo n.º 22
0
		/// <summary>Shows the multi file export dialog and exports the graphs, using the <see cref="GraphExportOptions"/> that are stored in this class.</summary>
		/// <param name="documents">List with graph documents to export.</param>
		public static void ShowExportMultipleGraphsDialog(IEnumerable<Graph.Gdi.GraphDocument> documents)
		{
			MultiRenameData mrData = new MultiRenameData();
			MultiRenameDocuments.RegisterCommonDocumentShortcuts(mrData);
			mrData.RegisterStringShortcut("E", (o, i) => _graphExportOptionsToFile.GetDefaultFileNameExtension(), "File extension (depends on the image type that was chosen before");

			mrData.RegisterRenameActionHandler(DoExportGraphs);

			mrData.AddObjectsToRename(documents);

			mrData.RegisterListColumn("FullName", MultiRenameDocuments.GetFullName);
			mrData.RegisterListColumn("File name", null);
			mrData.RegisterListColumn("Creation date", MultiRenameDocuments.GetCreationDateString);

			mrData.DefaultPatternString = "[SN][E]";

			MultiRenameController mrController = new MultiRenameController();
			mrController.InitializeDocument(mrData);
			Current.Gui.ShowDialog(mrController, "Export multiple graphs");
		}
Exemplo n.º 23
0
		public MultiRenameIntegerElement(MultiRenameData multiRenameData, string shortCut, int numberOfDigits, int offset, int step)
			: base(multiRenameData, shortCut)
		{
			_numberOfDigits = numberOfDigits;
			_offset = offset;
			_step = step;
			_formatString = "D" + numberOfDigits.ToString();
		}