2
0

DesignTimeTemplateParser.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. //
  2. // System.Web.UI.DesignTimeTemplateParser.cs
  3. //
  4. // Author:
  5. // Andreas Nahr ([email protected])
  6. //
  7. // (C) 2003 Andreas Nahr
  8. //
  9. using System;
  10. using System.ComponentModel;
  11. namespace System.Web.UI
  12. {
  13. public sealed class DesignTimeTemplateParser
  14. {
  15. private DesignTimeTemplateParser ()
  16. {
  17. }
  18. public static Control ParseControl (DesignTimeParseData data)
  19. {
  20. TemplateParser NewParser = InitParser (data);
  21. NewParser.RootBuilder.Text = data.ParseText;
  22. if (NewParser.RootBuilder.Children == null)
  23. return null;
  24. foreach (ControlBuilder builder in NewParser.RootBuilder.Children)
  25. return (Control) builder.CreateInstance ();
  26. return null;
  27. }
  28. public static ITemplate ParseTemplate (DesignTimeParseData data)
  29. {
  30. TemplateParser NewParser = InitParser (data);
  31. NewParser.RootBuilder.Text = data.ParseText;
  32. return NewParser.RootBuilder;
  33. }
  34. [MonoTODO]
  35. private static TemplateParser InitParser (DesignTimeParseData data)
  36. {
  37. // TODO create the parser and set data
  38. TemplateParser NewParser = new PageParser();
  39. // = data.DesignerHost;
  40. // = data.DataBindingHandler;
  41. // = data.ParseText;
  42. // Parse data
  43. return NewParser;
  44. }
  45. }
  46. }