/// <summary> /// This method writes out the contents of our designer in C# and VB. /// It generates code from our codeCompileUnit using CodeRpovider /// </summary> public string GetCode() { Flush(); StringWriter sw; CodeGeneratorOptions options = new CodeGeneratorOptions(); options.BlankLinesBetweenMembers = false; options.BracingStyle = "C"; options.ElseOnClosing = false; options.IndentString = " "; // PABC Code Generation sw = new StringWriter(); DesignerResourceService resourceService = host.GetService(typeof(IResourceService)) as DesignerResourceService; if (resourceService.ResourcesFileNames != null && resourceService.ResourcesFileNames.Count > 0) { for (int i = 0; i < resourceService.ResourcesFileNames.Count; i++) { sw.WriteLine("{$resource " + Path.GetFileName(resourceService.ResourcesFileNames[i]) + '}'); sw.Write(" "); } } ICodeGenerator abc = new PABCCodeGenerator(); PABCCodeGenerator pabc = abc as PABCCodeGenerator; pabc.UnitName = Path.GetFileNameWithoutExtension(unitFile); abc.GenerateCodeFromCompileUnit(codeCompileUnit, sw, options); PABCCodeGenerator inc_abc = new PABCCodeGenerator(); inc_abc.own_output = true; StreamWriter inc_sw = new StreamWriter(Path.Combine(Path.GetDirectoryName(VisualPascalABC.ProjectFactory.Instance.CurrentProject.Path), /*codeCompileUnit.Namespaces[0].Types[0].Name+".inc"*/ pabc.UnitName + "." + getFormName() + ".inc")); (inc_abc as ICodeGenerator).GenerateCodeFromCompileUnit(codeCompileUnit, inc_sw, options); inc_sw.Flush(); inc_sw.Close(); return(sw.ToString()); }
/// <summary> /// This method writes out the contents of our designer in C# and VB. /// It generates code from our codeCompileUnit using CodeRpovider /// </summary> public string GetCode() { Flush(); StringWriter sw; CodeGeneratorOptions options = new CodeGeneratorOptions(); options.BlankLinesBetweenMembers = false; options.BracingStyle = "C"; options.ElseOnClosing = false; options.IndentString = " "; // PABC Code Generation sw = new StringWriter(); DesignerResourceService resourceService = host.GetService(typeof(IResourceService)) as DesignerResourceService; if (resourceService.ResourcesFileNames != null && resourceService.ResourcesFileNames.Count > 0) { for (int i = 0; i < resourceService.ResourcesFileNames.Count; i++) { sw.WriteLine("{$resource " + Path.GetFileName(resourceService.ResourcesFileNames[i]) + '}'); sw.Write(" "); } } ICodeGenerator abc = new PABCCodeGenerator(); PABCCodeGenerator pabc = abc as PABCCodeGenerator; pabc.UnitName = Path.GetFileNameWithoutExtension(unitFile); abc.GenerateCodeFromCompileUnit(codeCompileUnit, sw, options); PABCCodeGenerator inc_abc = new PABCCodeGenerator(); inc_abc.own_output = true; StreamWriter inc_sw = new StreamWriter(Path.Combine(Path.GetDirectoryName(VisualPascalABC.ProjectFactory.Instance.CurrentProject.Path),/*codeCompileUnit.Namespaces[0].Types[0].Name+".inc"*/pabc.UnitName + "." + getFormName() + ".inc")); (inc_abc as ICodeGenerator).GenerateCodeFromCompileUnit(codeCompileUnit, inc_sw, options); inc_sw.Flush(); inc_sw.Close(); return sw.ToString(); }