protected virtual void RegisterControlResourcesInManager(ResourceManager manager, BaseControl ctrl) { ctrl.RegisterStyles(manager); ctrl.RegisterScripts(manager); }
protected List <BaseControl> FindControls(Control seed, bool searchOnly, StringBuilder sb, List <Icon> icons, List <string> ns) { if (seed == null) { return(null); } if (icons == null) { icons = new List <Icon>(); } if (ns == null) { ns = new List <string>(); } ResourceManager manager = this.ResourceManager; if (sb != null && !searchOnly && manager != null) { try { List <UserControl> userControls = ControlUtils.FindControls <UserControl>(this.Control); foreach (UserControl userControl in userControls) { manager.AddDirectMethodControl(userControl, true); } string proxies = manager.BuildDirectMethodProxies(true); foreach (UserControl userControl in userControls) { manager.RemoveDirectMethodControl(userControl, true); } if (!string.IsNullOrEmpty(proxies)) { sb.Append(proxies); } } catch (Exception) { } } if (ReflectionUtils.IsTypeOf(seed, typeof(BaseControl), false)) { BaseControl ctrl = (BaseControl)seed; if (!searchOnly) { this.CheckIcon(ctrl, icons); this.CheckNS(ctrl, ns); this.CheckResources(ctrl, manager); } ctrl.IsDynamic = true; ctrl.EnsureChildControlsInternal(); if (!searchOnly) { ctrl.CallOnPreRender(); ctrl.RegisterStyles(manager); ctrl.RegisterScripts(manager); } } List <BaseControl> foundControls = new List <BaseControl>(); foreach (Control control in seed.Controls) { if (this.ExcludeControl(seed, control)) { continue; } if (ReflectionUtils.IsTypeOf(control, typeof(BaseControl), false) && !(control is UserControlLoader)) { BaseControl ctrl = (BaseControl)control; if (!searchOnly) { this.CheckIcon(ctrl, icons); this.CheckResources(ctrl, manager); } foundControls.Add(ctrl); ctrl.IsDynamic = true; ctrl.EnsureChildControlsInternal(); if (!searchOnly) { ctrl.CallOnPreRender(); ctrl.RegisterStyles(manager); ctrl.RegisterScripts(manager); } } if (ControlUtils.HasControls(control)) { foundControls.AddRange(this.FindControls(control, searchOnly, null, icons, ns)); } } if (sb != null && !searchOnly) { /*if (icons.Count > 0) * { * string[] arr = new string[icons.Count]; * * for (int i = 0; i < icons.Count; i++) * { * arr[i] = icons[i].ToString(); * } * * sb.Append("Ext.net.ResourceMgr.registerIcon("); * sb.Append(JSON.Serialize(arr)); * sb.Append(");"); * sb.Append(script); * }*/ if (ns.Count > 0) { sb.Append("Ext.ns("); foreach (var n in ns) { sb.Append("\"").Append(n).Append("\","); } sb.Remove(sb.Length - 1, 1); sb.Append(");"); } } return(foundControls); }