private void btnGenerateData_Click(object sender, EventArgs e) { var selectedItemText = cmbPattern.SelectedItem.ToString(); var codeDataGenerator = new CodeDataGenerator(GetPlatformSpecificPath(tbSourceCodeFilesFolder.Text)); switch (selectedItemText) { case "Asciimation_1_3.cs": List<CompressedFrame> compressedFrames; var asciimationGenerator13 = new AsciimationDataGenerator(File.ReadAllText(Path.Combine(tbPatternsFolder.Text, "Asciimation.txt"))); tbInput.Text = codeDataGenerator.SubstituteData(tbInput.Text, new List<CodeDataGeneratorParam>() { new CodeDataGeneratorParam { KeyBegin = "/*%Data_1_3*/", KeyEnd = "/*Data_1_3%*/", Value = '"' + asciimationGenerator13.Compress_v_1_3(out compressedFrames) + '"' } }); break; case "QuineClock.cs": var quineClock3Generator = new QuineClockDataGenerator(File.ReadAllText(Path.Combine(tbPatternsFolder.Text, "QuineClockDigits.txt"))); tbInput.Text = codeDataGenerator.SubstituteData(tbInput.Text, new List<CodeDataGeneratorParam>() { new CodeDataGeneratorParam { KeyBegin = "/*%Digits*/", KeyEnd = "/*Digits%*/", Value = '"' + string.Join("\",\"", quineClock3Generator.GetDigits().Select(s => s.Replace("\\", "\\\\"))) + '"' } }); break; case "QuineSnake.cs": var quineSnakeGenerator = new QuineSnakeGenerator(); tbInput.Text = codeDataGenerator.SubstituteData(tbInput.Text, new List<CodeDataGeneratorParam>() { new CodeDataGeneratorParam { KeyBegin = "/*$FieldWidth*/", KeyEnd = "/*FieldWidth$*/", Value = QuineSnakeGenerator.FieldWidth.ToString(), SaveKey = false }, new CodeDataGeneratorParam { KeyBegin = "/*$FieldHeight*/", KeyEnd = "/*FieldHeight$*/", Value = QuineSnakeGenerator.FieldHeight.ToString(), SaveKey = false }, new CodeDataGeneratorParam { KeyBegin = "/*$HeadRow*/", KeyEnd = "/*HeadRow$*/", Value = QuineSnakeGenerator.HeadRow.ToString(), }, new CodeDataGeneratorParam { KeyBegin = "/*$HeadColumn*/", KeyEnd = "/*HeadColumn$*/", Value = QuineSnakeGenerator.HeadColumn.ToString(), }, new CodeDataGeneratorParam { KeyBegin = "/*$FoodRow*/", KeyEnd = "/*FoodRow$*/", Value = QuineSnakeGenerator.FoodRow.ToString(), }, new CodeDataGeneratorParam { KeyBegin = "/*$FoodColumn*/", KeyEnd = "/*FoodColumn$*/", Value = QuineSnakeGenerator.FoodColumn.ToString(), }, new CodeDataGeneratorParam { KeyBegin = "/*$NewDir*/", KeyEnd = "/*NewDir$*/", Value = QuineSnakeGenerator.NewDirString.ToString() }, new CodeDataGeneratorParam { KeyBegin = "/*$Dirs*/", KeyEnd = "/*Dirs$*/", Value = QuineSnakeGenerator.DirsString } }); break; } }
private void btnGenerateCode_Click(object sender, EventArgs e) { var codeDataGenerator = new CodeDataGenerator(GetPlatformSpecificPath(tbSourceCodeFilesFolder.Text)); tbInput.Text = codeDataGenerator.SubstituteCode(tbInput.Text); }