using System;
public string GetCustomFooterCode(IZeusCodeSegment segment, IZeusIntrinsicObject[] iobjs) { if (segment.SegmentType == ZeusConstants.CodeSegmentTypes.GUI_SEGMENT) { return this._engine.BuildGuiClass(segment.Language, iobjs); } else { return this._engine.BuildBodyClass(segment.Language, iobjs); } }
public void SetIntrinsicObjects(IZeusIntrinsicObject[] intrinsicObjects) { this._intrinsicObjects = intrinsicObjects; }
public string GetCustomHeaderCode(IZeusCodeSegment segment, IZeusIntrinsicObject[] iobjs) { bool isGui = (segment.SegmentType == ZeusConstants.CodeSegmentTypes.GUI_SEGMENT); ArrayList imports = new ArrayList(); imports.Add("System"); imports.Add("System.Collections"); imports.Add("Zeus"); imports.Add("Zeus.Data"); imports.Add("Zeus.DotNetScript"); if (isGui) { imports.Add("Zeus.UserInterface"); } foreach (string tns in Zeus.Configuration.ZeusConfig.Current.TemplateNamespaces) { if (!imports.Contains(tns)) imports.Add(tns); } foreach (IZeusIntrinsicObject obj in iobjs) { if (!obj.Disabled) { if (obj.Namespace != null) { if (!imports.Contains(obj.Namespace)) imports.Add(obj.Namespace); } } } ArrayList tmpExtraData = segment.ExtraData; string[] array; foreach (object obj in tmpExtraData) { if (obj is String[]) { array = (string[])obj; if ((array.Length == 2) && (array[0] == DotNetScriptEngine.USE_NAMESPACE)) { if (!imports.Contains(array[1])) imports.Add(array[1]); } } } return this._engine.BuildImportStatments(segment.Language, imports); }
internal string BuildBodyClass(string language, IZeusIntrinsicObject[] iobjs) { StringBuilder builder = new StringBuilder(); if (language == ZeusConstants.Languages.CSHARP) { builder.Append("//-- Class DotNetScriptTemplate Generated by Zeus\r\n"); builder.Append("namespace Zeus.DotNetScript\r\n"); builder.Append("{\r\n"); builder.Append("\tpublic abstract class DotNetScriptTemplate : _DotNetScriptTemplate\r\n"); builder.Append("\t{\r\n"); foreach (IZeusIntrinsicObject scriptingObj in iobjs) { if (!scriptingObj.Disabled) { builder.Append("\t\tprotected "); builder.Append(scriptingObj.ClassPath); builder.Append(" "); builder.Append(scriptingObj.VariableName); builder.Append(";\r\n"); } } builder.Append("\t\tpublic DotNetScriptTemplate(IZeusContext context) : base(context)\r\n"); builder.Append("\t\t{\r\n"); foreach (IZeusIntrinsicObject scriptingObj in iobjs) { if (!scriptingObj.Disabled) { builder.Append("\t\t\tthis."); builder.Append(scriptingObj.VariableName); builder.Append(" = context.Objects[\""); builder.Append(scriptingObj.VariableName); builder.Append("\"] as "); builder.Append(scriptingObj.ClassPath); builder.Append(";\r\n"); } } builder.Append("\t\t}\r\n\t}\r\n}\r\n"); } else if (language == ZeusConstants.Languages.VBNET) { builder.Append("'-- Class DotNetScriptTemplate Generated by Zeus\r\n"); builder.Append("Public MustInherit Class DotNetScriptTemplate\r\n"); builder.Append("\t\tInherits _DotNetScriptTemplate\r\n"); foreach (IZeusIntrinsicObject scriptingObj in iobjs) { if (!scriptingObj.Disabled) { builder.Append("\tProtected "); builder.Append(scriptingObj.VariableName); builder.Append(" As "); builder.Append(scriptingObj.ClassPath); builder.Append("\r\n"); } } builder.Append("\tPublic Sub New(context As IZeusContext)\r\n"); builder.Append("\t\tMyBase.New(context)\r\n"); foreach (IZeusIntrinsicObject scriptingObj in iobjs) { if (!scriptingObj.Disabled) { builder.Append("\t\tMe."); builder.Append(scriptingObj.VariableName); builder.Append(" = CType(context.Objects.Item(\""); builder.Append(scriptingObj.VariableName); builder.Append("\"), "); builder.Append(scriptingObj.ClassPath); builder.Append(")\r\n"); } } builder.Append("\tEnd Sub\r\nEnd Class\r\n"); } return builder.ToString(); }