protected override void CreateChildControls() { if (!string.IsNullOrEmpty(Label)) { Controls.AddAt(0, new Label { Text = Label, CssClass = "editorLabel" }); } foreach (ContentItem item in GetItems()) { CreateItemEditor(item); } addPanel.Controls.Add(new Label { Text = Utility.GetLocalResourceString("Add") ?? "Add", CssClass = "addLabel" }); var allowedChildren = Parts.GetAllowedDefinitions(ParentItem, ZoneName, Page.User).ToList(); foreach (ItemDefinition definition in allowedChildren) { if (!MinimumType.IsAssignableFrom(definition.ItemType)) { continue; } var button = new LinkButton { ID = "iel" + ID + "_" + definition.GetDiscriminatorWithTemplateKey().Replace('/', '_'), Text = string.Format("<img src='{0}' alt='ico'/>{1}", definition.IconUrl, definition.Title), ToolTip = definition.ToolTip, CausesValidation = false }; var closureDefinition = definition; button.Command += (s, a) => { ContentItem item = CreateItem(closureDefinition); item.ZoneName = ZoneName; AddedDefinitions.Add(closureDefinition.GetDiscriminatorWithTemplateKey()); CreateItemEditor(item); }; addPanel.Controls.Add(button); } base.CreateChildControls(); }
private LinkButton CreateButton(Control container, TemplateDefinition template) { var button = new LinkButton { ID = "iel" + ID + "_" + template.Definition.GetDiscriminatorWithTemplateKey().Replace('/', '_'), Text = string.IsNullOrEmpty(template.Definition.IconUrl) ? string.Format("<b class='{0}'></b> {1}", template.Definition.IconClass, template.Definition.Title) : string.Format("<img src='{0}' alt='ico'/>{1}", template.Definition.IconUrl, template.Definition.Title), ToolTip = template.Definition.ToolTip, CausesValidation = false, CssClass = "addButton" }; var closureDefinition = template.Definition; button.Command += (s, a) => { ContentItem item = CreateItem(closureDefinition); item.ZoneName = ZoneName; AddedDefinitions.Add(closureDefinition.GetDiscriminatorWithTemplateKey()); CreateItemEditor(item); }; container.Controls.Add(button); return(button); }