/// <include file='doc\DesignTimeTemplateParser.uex' path='docs/doc[@for="DesignTimeTemplateParser.ParseControl"]/*' /> public static Control ParseControl(DesignTimeParseData data) { // DesignTimeTemplateParser is only meant for use within the designer InternalSecurityPermissions.UnmanagedCode.Demand(); TemplateParser parser = new PageParser(); parser.FInDesigner = true; parser.DesignerHost = data.DesignerHost; parser.DesignTimeDataBindHandler = data.DataBindingHandler; parser.Text = data.ParseText; parser.Parse(); ArrayList subBuilders = parser.RootBuilder.SubBuilders; if (subBuilders != null) { // Look for the first control builder IEnumerator en = subBuilders.GetEnumerator(); for (int i = 0; en.MoveNext(); i++) { object cur = en.Current; if ((cur is ControlBuilder) && !(cur is CodeBlockBuilder)) { // Instantiate the control return((Control)((ControlBuilder)cur).BuildObject()); } } } return(null); }
public static ITemplate ParseTemplate(DesignTimeParseData data) { TemplateParser NewParser = InitParser(data); NewParser.RootBuilder.Text = data.ParseText; return(NewParser.RootBuilder); }
private static Control[] ParseControlsInternalHelper(DesignTimeParseData data, bool returnFirst) { TemplateParser parser = new PageParser { FInDesigner = true, DesignerHost = data.DesignerHost, DesignTimeDataBindHandler = data.DataBindingHandler, Text = data.ParseText }; parser.Parse(); ArrayList list = new ArrayList(); ArrayList subBuilders = parser.RootBuilder.SubBuilders; if (subBuilders != null) { IEnumerator enumerator = subBuilders.GetEnumerator(); for (int i = 0; enumerator.MoveNext(); i++) { object current = enumerator.Current; if ((current is ControlBuilder) && !(current is CodeBlockBuilder)) { ControlBuilder builder = (ControlBuilder)current; IServiceProvider serviceProvider = null; if (data.DesignerHost != null) { serviceProvider = data.DesignerHost; } else { ServiceContainer container = new ServiceContainer(); container.AddService(typeof(IFilterResolutionService), new SimpleDesignTimeFilterResolutionService(data.Filter)); serviceProvider = container; } builder.SetServiceProvider(serviceProvider); try { Control control = (Control)builder.BuildObject(data.ShouldApplyTheme); list.Add(control); } finally { builder.SetServiceProvider(null); } if (!returnFirst) { continue; } break; } if (!returnFirst && (current is string)) { LiteralControl control2 = new LiteralControl(current.ToString()); list.Add(control2); } } } data.SetUserControlRegisterEntries(parser.UserControlRegisterEntries, parser.TagRegisterEntries); return((Control[])list.ToArray(typeof(Control))); }
public void Ctor3_Deny_Unrestricted () { DesignTimeParseData dtpd = new DesignTimeParseData (null, "parseText", "filter"); Assert.AreEqual ("filter", dtpd.Filter, "Filter"); dtpd.ShouldApplyTheme = true; Assert.IsTrue (dtpd.ShouldApplyTheme, "ShouldApplyTheme"); Assert.IsNull (dtpd.UserControlRegisterEntries, "UserControlRegisterEntries"); }
public static Control ParseControl(DesignTimeParseData data) { Control[] controlArray = ParseControlsInternal(data, true); if (controlArray.Length > 0) { return(controlArray[0]); } return(null); }
public static Control ParseControl(DesignTimeParseData data) { Control[] parsedControls = ParseControlsInternal(data, true); if (parsedControls.Length > 0) { return parsedControls[0]; } return null; }
public void Ctor2_Deny_Unrestricted () { DesignTimeParseData dtpd = new DesignTimeParseData (null, "parseText"); dtpd.DataBindingHandler = new EventHandler (Handler); Assert.IsNotNull (dtpd.DataBindingHandler, "DataBindingHandler"); Assert.IsNull (dtpd.DesignerHost, "DesignerHost"); dtpd.DocumentUrl = String.Empty; Assert.AreEqual (String.Empty, dtpd.DocumentUrl, "DocumentUrl"); Assert.AreEqual ("parseText", dtpd.ParseText, "ParseText"); }
public static Control ParseControl (DesignTimeParseData data) { TemplateParser NewParser = InitParser (data); NewParser.RootBuilder.Text = data.ParseText; if (NewParser.RootBuilder.Children == null) return null; foreach (ControlBuilder builder in NewParser.RootBuilder.Children) return (Control) builder.CreateInstance (); return null; }
private static TemplateParser InitParser (DesignTimeParseData data) { // TODO create the parser and set data TemplateParser NewParser = new PageParser(); // see FIXME in PageParser // = data.DesignerHost; // = data.DataBindingHandler; // = data.ParseText; // Parse data return NewParser; }
public static Control ParseControl(DesignTimeParseData data) { Control[] parsedControls = ParseControlsInternal(data, true); if (parsedControls.Length > 0) { return(parsedControls[0]); } return(null); }
static TemplateParser InitParser(DesignTimeParseData data) { // TODO create the parser and set data TemplateParser NewParser = new PageParser(); // see FIXME in PageParser // = data.DesignerHost; // = data.DataBindingHandler; // = data.ParseText; // Parse data return(NewParser); }
internal static Control[] ParseControlsInternal(DesignTimeParseData data, bool returnFirst) { try { // Make the DesignerHost available only for the duration for this call if (data.DesignerHost != null) { TargetFrameworkUtil.DesignerHost = data.DesignerHost; } return ParseControlsInternalHelper(data, returnFirst); } finally { // Remove reference to the DesignerHost so that it cannot be used outside // of this call. TargetFrameworkUtil.DesignerHost = null; } }
public static ITemplate ParseTemplate(DesignTimeParseData data) { TemplateParser parser = new PageParser { FInDesigner = true, DesignerHost = data.DesignerHost, DesignTimeDataBindHandler = data.DataBindingHandler, Text = data.ParseText }; parser.Parse(); parser.RootBuilder.Text = data.ParseText; parser.RootBuilder.SetDesignerHost(data.DesignerHost); return(parser.RootBuilder); }
public static Control ParseControl(DesignTimeParseData data) { TemplateParser NewParser = InitParser(data); NewParser.RootBuilder.Text = data.ParseText; if (NewParser.RootBuilder.Children == null) { return(null); } foreach (ControlBuilder builder in NewParser.RootBuilder.Children) { return((Control)builder.CreateInstance()); } return(null); }
internal static Control[] ParseControlsInternal(DesignTimeParseData data, bool returnFirst) { try { // Make the DesignerHost available only for the duration for this call if (data.DesignerHost != null) { TargetFrameworkUtil.DesignerHost = data.DesignerHost; } return(ParseControlsInternalHelper(data, returnFirst)); } finally { // Remove reference to the DesignerHost so that it cannot be used outside // of this call. TargetFrameworkUtil.DesignerHost = null; } }
public static ITemplate ParseTemplate(DesignTimeParseData data) { TemplateParser parser = new PageParser(); parser.FInDesigner = true; parser.DesignerHost = data.DesignerHost; parser.DesignTimeDataBindHandler = data.DataBindingHandler; parser.Text = data.ParseText; parser.Parse(); // Set the Text property of the TemplateBuilder to the input text parser.RootBuilder.Text = data.ParseText; parser.RootBuilder.SetDesignerHost(data.DesignerHost); return(parser.RootBuilder); }
internal static Control[] ParseControlsInternal(DesignTimeParseData data, bool returnFirst) { Control[] controlArray; try { if (data.DesignerHost != null) { TargetFrameworkUtil.DesignerHost = data.DesignerHost; } controlArray = ParseControlsInternalHelper(data, returnFirst); } finally { TargetFrameworkUtil.DesignerHost = null; } return(controlArray); }
public static ITemplate DeserializeTemplate(string text, IDesignerHost host) { if (host == null) { throw new ArgumentNullException("host"); } if ((text == null) || (text.Length == 0)) { return null; } string parseText = text; string directives = GetDirectives(host); if ((directives != null) && (directives.Length > 0)) { parseText = directives + text; } DesignTimeParseData data = new DesignTimeParseData(host, parseText) { DataBindingHandler = GlobalDataBindingHandler.Handler }; ITemplate template = null; lock (typeof(LicenseManager)) { LicenseContext currentContext = LicenseManager.CurrentContext; try { LicenseManager.CurrentContext = new WebFormsDesigntimeLicenseContext(host); LicenseManager.LockContext(licenseManagerLock); template = DesignTimeTemplateParser.ParseTemplate(data); } catch (TargetInvocationException exception) { throw exception.InnerException; } finally { LicenseManager.UnlockContext(licenseManagerLock); LicenseManager.CurrentContext = currentContext; } } if ((template != null) && (template is TemplateBuilder)) { ((TemplateBuilder) template).Text = text; } return template; }
/// <include file='doc\DesignTimeTemplateParser.uex' path='docs/doc[@for="DesignTimeTemplateParser.ParseTemplate"]/*' /> public static ITemplate ParseTemplate(DesignTimeParseData data) { // DesignTimeTemplateParser is only meant for use within the designer InternalSecurityPermissions.UnmanagedCode.Demand(); TemplateParser parser = new PageParser(); parser.FInDesigner = true; parser.DesignerHost = data.DesignerHost; parser.DesignTimeDataBindHandler = data.DataBindingHandler; parser.Text = data.ParseText; parser.Parse(); // Set the Text property of the TemplateBuilder to the input text parser.RootBuilder.Text = data.ParseText; return(parser.RootBuilder); }
public static Control[] ParseControls(DesignTimeParseData data) { return(ParseControlsInternal(data, false)); }
public static ITemplate ParseTemplate(DesignTimeParseData data) { TemplateParser parser = new PageParser(); parser.FInDesigner = true; parser.DesignerHost = data.DesignerHost; parser.DesignTimeDataBindHandler = data.DataBindingHandler; parser.Text = data.ParseText; parser.Parse(); // Set the Text property of the TemplateBuilder to the input text parser.RootBuilder.Text = data.ParseText; parser.RootBuilder.SetDesignerHost(data.DesignerHost); return parser.RootBuilder; }
internal static Control DeserializeControlInternal(string text, IDesignerHost host, bool applyTheme) { if (host == null) { throw new ArgumentNullException("host"); } if ((text == null) || (text.Length == 0)) { throw new ArgumentNullException("text"); } string directives = GetDirectives(host); if ((directives != null) && (directives.Length > 0)) { text = directives + text; } DesignTimeParseData data = new DesignTimeParseData(host, text, GetCurrentFilter(host)) { ShouldApplyTheme = applyTheme, DataBindingHandler = GlobalDataBindingHandler.Handler }; Control control = null; lock (typeof(LicenseManager)) { LicenseContext currentContext = LicenseManager.CurrentContext; bool flag = false; try { try { if (!licenseManagerLockHeld) { LicenseManager.CurrentContext = new WebFormsDesigntimeLicenseContext(host); LicenseManager.LockContext(licenseManagerLock); licenseManagerLockHeld = true; flag = true; } control = DesignTimeTemplateParser.ParseControl(data); } catch (TargetInvocationException exception) { throw exception.InnerException; } return control; } finally { if (flag) { LicenseManager.UnlockContext(licenseManagerLock); LicenseManager.CurrentContext = currentContext; licenseManagerLockHeld = false; } } } return control; }
private static Control[] ParseControlsInternalHelper(DesignTimeParseData data, bool returnFirst) { TemplateParser parser = new PageParser(); parser.FInDesigner = true; parser.DesignerHost = data.DesignerHost; parser.DesignTimeDataBindHandler = data.DataBindingHandler; parser.Text = data.ParseText; parser.Parse(); ArrayList parsedControls = new ArrayList(); ArrayList subBuilders = parser.RootBuilder.SubBuilders; if (subBuilders != null) { // Look for the first control builder IEnumerator en = subBuilders.GetEnumerator(); for (int i = 0; en.MoveNext(); i++) { object cur = en.Current; if ((cur is ControlBuilder) && !(cur is CodeBlockBuilder)) { // Instantiate the control ControlBuilder controlBuilder = (ControlBuilder)cur; System.Diagnostics.Debug.Assert(controlBuilder.CurrentFilterResolutionService == null); IServiceProvider builderServiceProvider = null; // If there's a designer host, use it as the service provider if (data.DesignerHost != null) { builderServiceProvider = data.DesignerHost; } // If it doesn't exist, use a default ---- filter resolution service else { ServiceContainer serviceContainer = new ServiceContainer(); serviceContainer.AddService(typeof(IFilterResolutionService), new SimpleDesignTimeFilterResolutionService(data.Filter)); builderServiceProvider = serviceContainer; } controlBuilder.SetServiceProvider(builderServiceProvider); try { Control control = (Control)controlBuilder.BuildObject(data.ShouldApplyTheme); parsedControls.Add(control); } finally { controlBuilder.SetServiceProvider(null); } if (returnFirst) { break; } } // To preserve backwards compatibility, we don't add LiteralControls // to the control collection when parsing for a single control else if (!returnFirst && (cur is string)) { LiteralControl literalControl = new LiteralControl(cur.ToString()); parsedControls.Add(literalControl); } } } data.SetUserControlRegisterEntries(parser.UserControlRegisterEntries, parser.TagRegisterEntries); return((Control[])parsedControls.ToArray(typeof(Control))); }
public static Control[] ParseControls(DesignTimeParseData data) { return(default(Control[])); }
public void FixtureSetUp () { dtpd = new DesignTimeParseData (null, "parseText"); }
public static Control[] ParseControls (DesignTimeParseData data) { throw new NotImplementedException (); }
public static ITemplate ParseTemplate (DesignTimeParseData data) { TemplateParser NewParser = InitParser (data); NewParser.RootBuilder.Text = data.ParseText; return NewParser.RootBuilder; }
public static Control[] ParseControls(DesignTimeParseData data) { throw new NotImplementedException(); }
public static Control[] ParseControls(DesignTimeParseData data) { return ParseControlsInternal(data, false); }
private static Control[] ParseControlsInternalHelper(DesignTimeParseData data, bool returnFirst) { TemplateParser parser = new PageParser(); parser.FInDesigner = true; parser.DesignerHost = data.DesignerHost; parser.DesignTimeDataBindHandler = data.DataBindingHandler; parser.Text = data.ParseText; parser.Parse(); ArrayList parsedControls = new ArrayList(); ArrayList subBuilders = parser.RootBuilder.SubBuilders; if (subBuilders != null) { // Look for the first control builder IEnumerator en = subBuilders.GetEnumerator(); for (int i = 0; en.MoveNext(); i++) { object cur = en.Current; if ((cur is ControlBuilder) && !(cur is CodeBlockBuilder)) { // Instantiate the control ControlBuilder controlBuilder = (ControlBuilder)cur; System.Diagnostics.Debug.Assert(controlBuilder.CurrentFilterResolutionService == null); IServiceProvider builderServiceProvider = null; // If there's a designer host, use it as the service provider if (data.DesignerHost != null) { builderServiceProvider = data.DesignerHost; } // If it doesn't exist, use a default ---- filter resolution service else { ServiceContainer serviceContainer = new ServiceContainer(); serviceContainer.AddService(typeof(IFilterResolutionService), new SimpleDesignTimeFilterResolutionService(data.Filter)); builderServiceProvider = serviceContainer; } controlBuilder.SetServiceProvider(builderServiceProvider); try { Control control = (Control)controlBuilder.BuildObject(data.ShouldApplyTheme); parsedControls.Add(control); } finally { controlBuilder.SetServiceProvider(null); } if (returnFirst) { break; } } // To preserve backwards compatibility, we don't add LiteralControls // to the control collection when parsing for a single control else if (!returnFirst && (cur is string)) { LiteralControl literalControl = new LiteralControl(cur.ToString()); parsedControls.Add(literalControl); } } } data.SetUserControlRegisterEntries(parser.UserControlRegisterEntries, parser.TagRegisterEntries); return (Control[])parsedControls.ToArray(typeof(Control)); }
public static Control[] ParseControls(DesignTimeParseData data) { return default(Control[]); }
public static ITemplate ParseTemplate(DesignTimeParseData data) { return default(ITemplate); }
public static ITemplate ParseTemplate(DesignTimeParseData data) { return(default(ITemplate)); }
public static Control ParseControl(DesignTimeParseData data) { return default(Control); }
internal static Control[] DeserializeControlsInternal(string text, IDesignerHost host, List<Triplet> userControlRegisterEntries) { if (host == null) { throw new ArgumentNullException("host"); } if ((text == null) || (text.Length == 0)) { throw new ArgumentNullException("text"); } string directives = GetDirectives(host); if ((directives != null) && (directives.Length > 0)) { text = directives + text; } DesignTimeParseData data = new DesignTimeParseData(host, text, GetCurrentFilter(host)) { DataBindingHandler = GlobalDataBindingHandler.Handler }; Control[] controlArray = null; lock (typeof(LicenseManager)) { LicenseContext currentContext = LicenseManager.CurrentContext; try { LicenseManager.CurrentContext = new WebFormsDesigntimeLicenseContext(host); LicenseManager.LockContext(licenseManagerLock); controlArray = DesignTimeTemplateParser.ParseControls(data); } catch (TargetInvocationException exception) { throw exception.InnerException; } finally { LicenseManager.UnlockContext(licenseManagerLock); LicenseManager.CurrentContext = currentContext; } } if ((userControlRegisterEntries != null) && (data.UserControlRegisterEntries != null)) { foreach (Triplet triplet in data.UserControlRegisterEntries) { userControlRegisterEntries.Add(triplet); } } return controlArray; }