// // Naming service subs: public string GetNewProgramFileShortName(IIDE ide) { if (ide == null) { throw new NullReferenceException(); } string name; name = "New_"; name += (ide.Machine.CurrentLanguage.IsNotNullOrEmpty()) ? ide.Machine.CurrentLanguage : ide.Machine.BaseLanguage; name += "_program"; int lastnumber = -1; int num = -1; foreach (IIDE ide_ in IDEs) { if (ide_.ProgramFile.ShortFileName.IndexOf(name) == 0) { if ((ide_.ProgramFile.ShortFileName + "|").Substring(name.Length) == "|") { num = 1; } else if (ide_.ProgramFile.ShortFileName.Length - name.Length > 3 && ide_.ProgramFile.ShortFileName.Substring(name.Length, 2) == " (" && XString.Right(ide_.ProgramFile.ShortFileName, 1) == ")") { string snum = ide_.ProgramFile.ShortFileName.Substring(name.Length + 2); snum = snum.Substring(0, snum.Length - 1); if (!Int32.TryParse(snum, out num)) { num = -1; } } } if (num > lastnumber) { lastnumber = num; } } lastnumber++; name += (lastnumber > 1) ? " (" + lastnumber.ToString() + ")" : ""; return(name); }
public string GetNewIDEtitle(IIDE ide) { if (ide == null) { throw new NullReferenceException(); } string name; name = ((ide.Machine.CustomName.IsNotNullOrEmpty()) ? ide.Machine.CustomName : ide.Machine.DefaultName); name += " IDE"; int lastnumber = -1; int num = -1; foreach (IIDE ide_ in IDEs) { if (ide_.Title.IndexOf(name) == 0) { if ((ide_.Title + "|").Substring(name.Length) == "|") { num = 1; } else if (ide_.Title.Length - name.Length > 3 && ide_.Title.Substring(name.Length, 2) == " (" && XString.Right(ide_.Title, 1) == ")") { string snum = ide_.Title.Substring(name.Length + 2); snum = snum.Substring(0, snum.Length - 1); if (!Int32.TryParse(snum, out num)) { num = -1; } } } if (num > lastnumber) { lastnumber = num; } } lastnumber++; name += (lastnumber > 1) ? " (" + lastnumber.ToString() + ")" : ""; return(name); }