public static void Add(this IComponentTree componentTree, ITvControl control) { var metadata = componentTree.Add(control.AsComponent()); var ctree = componentTree.RootControls() as ControlsTree; ctree.Add(control.Metadata); }
public static void InsertAfter(this IComponentTree componentTree, ITvControl control, int position) { var metadata = componentTree.Add(control.AsComponent()); var ctree = componentTree.RootControls() as ControlsTree; ctree.InsertAfter(control.Metadata, position); }
public static bool Remove(this IComponentTree componentTree, ITvControl control) { var removed = componentTree.Remove(control.AsComponent()); if (removed) { var ctree = componentTree.RootControls() as ControlsTree; ctree.Remove(control.Metadata); } return(removed); }
public static IEnumerable <TvControlMetadata> OwnedControls(this IComponentTree componentTree) { var allControls = componentTree.RootControls(); foreach (var ctlMetadata in allControls.ControlsMetadata) { var ownedComponent = componentTree.Components.SingleOrDefault(c => c.ComponentId == ctlMetadata.ControlId); if (ownedComponent != null) { yield return(ctlMetadata); } } }