using System;
Example #2
0
		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);
			}
		}
Example #3
0
		public void SetIntrinsicObjects(IZeusIntrinsicObject[] intrinsicObjects) 
		{
			this._intrinsicObjects = intrinsicObjects;
		}
Example #4
0
		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();
		}