public ItemDefinition Clone() { var id = new ItemDefinition(ItemType); id.AllowedChildFilters = AllowedChildFilters.ToList(); id.AllowedIn = AllowedIn; id.AllowedParentFilters = AllowedParentFilters.ToList(); id.AllowedZoneNames = AllowedZoneNames.ToList(); id.AuthorizedRoles = AuthorizedRoles != null?AuthorizedRoles.ToList() : AuthorizedRoles; id.AvailableZones = AvailableZones.ToList(); id.Containers = Containers.ToList(); id.Description = Description; id.Discriminator = Discriminator; id.Displayables = Displayables.ToList(); id.Editables = Editables.ToList(); id.Enabled = Enabled; id.IconUrl = IconUrl; id.Installer = Installer; id.IsDefined = IsDefined; id.EditableModifiers = EditableModifiers.ToList(); id.ContentModifiers = ContentModifiers.ToList(); id.NumberOfItems = 0; id.RelatedTo = RelatedTo; id.SortOrder = SortOrder; id.Template = Template; id.Title = Title; id.ToolTip = ToolTip; //id.ReloadRoot(); return(id); }
/// <summary>Adds an enumeration of containable editor or container to existing editors and to a container.</summary> /// <param name="containables">The editables to add.</param> public void AddRange(IEnumerable <IUniquelyNamed> containables) { foreach (var containable in containables) { if (containable is IEditable) { Editables.AddOrReplace(containable as IEditable); } if (containable is IEditableContainer) { Containers.AddOrReplace(containable as IEditableContainer); } if (containable is EditorModifierAttribute) { EditableModifiers.Add(containable as EditorModifierAttribute); } if (containable is IDisplayable) { Displayables.AddOrReplace(containable as IDisplayable); } if (containable is IContentModifier) { ContentModifiers.Add(containable as IContentModifier); } } //ReloadRoot(); }
public void RemoveRange(IEnumerable <IUniquelyNamed> containables) { foreach (var containable in containables) { if (containable is IEditable) { Editables.Remove(containable as IEditable); } if (containable is IEditableContainer) { Containers.Remove(containable as IEditableContainer); } if (containable is IDisplayable) { Displayables.Remove(containable as IDisplayable); } if (containable is IContentModifier) { ContentModifiers.Remove(containable as IContentModifier); } } //ReloadRoot(); }
public void RegisterModifier(IContentTransformer modifier) { ContentModifiers.Add(modifier); }