public void Render(ITemplate tpl, IInstantiatedTemplateControl ctl, StringBuilder sb) {
			if (IsCData)
				sb.Append("<![CDATA[");
			sb.Append(Text);
			if (IsCData)
				sb.Append("]]>");
		}
Example #2
0
        public void TestInstantiate()
        {
            var tpl = new Template();

            IInstantiatedTemplateControl ctl = null;
            var m1        = mocks.StrictMock <IMember>();
            var m2        = mocks.StrictMock <IMember>();
            var container = mocks.StrictMock <IContainer>();

            Expect.Call(m1.Name).Return("m1").Repeat.Any();
            Expect.Call(m2.Name).Return("m2").Repeat.Any();
            Expect.Call(m1.Dependencies).Return(new string[] { });
            Expect.Call(m2.Dependencies).Return(new string[] { "m1" });
            Expect.Call(() => m1.Instantiate(null, null, container)).IgnoreArguments().Constraints(Is.Same(tpl), Is.NotNull(), Is.Same(container)).Do((Action <ITemplate, IInstantiatedTemplateControl, IContainer>)((_, c, __) => { ctl = c; }));
            Expect.Call(() => m2.Instantiate(null, null, container)).IgnoreArguments().Constraints(Is.Same(tpl), Is.Matching((IInstantiatedTemplateControl x) => object.ReferenceEquals(x, ctl)), Is.Same(container));
            tpl.MainRenderFunction.AddFragment(new LiteralFragment("X"));

            mocks.ReplayAll();

            tpl.AddMember(m1);
            tpl.AddMember(m2);

            var actual = tpl.Instantiate(container);

            Assert.AreSame(ctl, actual);
            actual.Id = "SomeId";
            Assert.AreEqual("X", actual.Html);

            mocks.VerifyAll();
        }
		public void Instantiate(ITemplate tpl, IInstantiatedTemplateControl ctl, IContainer container) {
			if (CustomInstantiate)
				throw ParserUtils.TemplateErrorException("Dynamically instantiated templates cannot have customInstantiate controls.");
			var newCtl = (IControl)container.CreateObjectByTypeName(typeName);

			foreach (var prop in additionalProperties)
				Utils.SetPropertyValue(newCtl, prop.Key, ((TypedMarkupData)prop.Value).ValueRetriever());
			ctl.AddControl(name, newCtl);
		}
Example #4
0
        public string Render(ITemplate tpl, IInstantiatedTemplateControl ctl)
        {
            var sb = new StringBuilder();

            foreach (IFragment f in ParserUtils.MergeFragments(fragments))
            {
                f.Render(tpl, ctl, sb);
            }
            return(sb.ToString());
        }
Example #5
0
 public void Render(ITemplate tpl, IInstantiatedTemplateControl ctl, StringBuilder sb)
 {
     if (IsCData)
     {
         sb.Append("<![CDATA[");
     }
     sb.Append(Text);
     if (IsCData)
     {
         sb.Append("]]>");
     }
 }
Example #6
0
        public void Instantiate(ITemplate tpl, IInstantiatedTemplateControl ctl, IContainer container)
        {
            if (CustomInstantiate)
            {
                throw ParserUtils.TemplateErrorException("Dynamically instantiated templates cannot have customInstantiate controls.");
            }
            var newCtl = (IControl)container.CreateObjectByTypeName(typeName);

            foreach (var prop in additionalProperties)
            {
                Utils.SetPropertyValue(newCtl, prop.Key, ((TypedMarkupData)prop.Value).ValueRetriever());
            }
            ctl.AddControl(name, newCtl);
        }
		public void Render(ITemplate tpl, IInstantiatedTemplateControl ctl, StringBuilder sb) {
			#if CLIENT
			IClientCreateControl me = (IClientCreateControl)ctl.Controls[Id];
			#else
			IControl me = ctl.Controls[Id];
			#endif
			if (NumInnerFragments > 0) {
				string[] innerFragments = new string[NumInnerFragments];
				for (int i = 0; i < NumInnerFragments; i++) {
					innerFragments[i] = ((IRenderFunction)tpl.GetMember(Id + "_inner" + Utils.ToStringInvariantInt(i + 1))).Render(tpl, ctl);
				}
				((IControlHost)me).SetInnerFragments(innerFragments);
			}
			sb.Append(me.Html);
		}
 public void Render(ITemplate tpl, IInstantiatedTemplateControl ctl, StringBuilder sb)
 {
                 #if CLIENT
     IClientCreateControl me = (IClientCreateControl)ctl.Controls[Id];
                 #else
     IControl me = ctl.Controls[Id];
                 #endif
     if (NumInnerFragments > 0)
     {
         string[] innerFragments = new string[NumInnerFragments];
         for (int i = 0; i < NumInnerFragments; i++)
         {
             innerFragments[i] = ((IRenderFunction)tpl.GetMember(Id + "_inner" + Utils.ToStringInvariantInt(i + 1))).Render(tpl, ctl);
         }
         ((IControlHost)me).SetInnerFragments(innerFragments);
     }
     sb.Append(me.Html);
 }
		public void Instantiate(ITemplate tpl, IInstantiatedTemplateControl ctl, IContainer container) {
		}
Example #10
0
        public void Render(ITemplate tpl, IInstantiatedTemplateControl ctl, StringBuilder sb)
        {
            int year = DateTime.Now.Year;

            sb.Append("Copyright &copy; " + Utils.ToStringInvariantInt(year) + " " + text);
        }
		public void Render(ITemplate tpl, IInstantiatedTemplateControl ctl, StringBuilder sb) {
			sb.Append(PositionHelper.CreateStyle(((IControl)ctl).Position, -1, -1));
		}
Example #12
0
		public void Render(ITemplate tpl, IInstantiatedTemplateControl ctl, StringBuilder sb) {
			int year = DateTime.Now.Year;
			sb.Append("Copyright &copy; " + Utils.ToStringInvariantInt(year) + " " + text);
		}
		public void Instantiate(ITemplate tpl, IInstantiatedTemplateControl ctl, IContainer container) {
			ctl.AddNamedElement(name);
		}
Example #14
0
 public void Render(ITemplate tpl, IInstantiatedTemplateControl ctl, StringBuilder sb)
 {
     sb.Append(((IControl)ctl).Id);
 }
Example #15
0
		public void Render(ITemplate tpl, IInstantiatedTemplateControl ctl, StringBuilder sb) {
			sb.Append(((IControl)ctl).Id);
		}
 public void Instantiate(ITemplate tpl, IInstantiatedTemplateControl ctl, IContainer container)
 {
     ctl.AddNamedElement(name);
 }
Example #17
0
 public void Instantiate(ITemplate tpl, IInstantiatedTemplateControl ctl, IContainer container)
 {
 }
Example #18
0
 public void Render(ITemplate tpl, IInstantiatedTemplateControl ctl, StringBuilder sb)
 {
     throw ParserUtils.TemplateErrorException("Dynamically instantiated templates cannot have embedded code.");
 }
		public void Render(ITemplate tpl, IInstantiatedTemplateControl ctl, StringBuilder sb) {
			throw ParserUtils.TemplateErrorException("Dynamically instantiated templates cannot have embedded code.");
		}
Example #20
0
 public void Render(ITemplate tpl, IInstantiatedTemplateControl ctl, StringBuilder sb)
 {
     sb.Append(PositionHelper.CreateStyle(((IControl)ctl).Position, -1, -1));
 }
		public string Render(ITemplate tpl, IInstantiatedTemplateControl ctl) {
			var sb = new StringBuilder();
			foreach (IFragment f in ParserUtils.MergeFragments(fragments))
				f.Render(tpl, ctl, sb);
			return sb.ToString();
		}