public RenderElementDrawingContext(IContainerRenderElement container, IRenderElementFactory factory) { this.container = container; this.factory = factory; this.availableChildren = container.Children?.ToList(); this.children = new List <object>(); }
private void SetInnerContext(IContainerRenderElement innerContainer) { if (innerContext != null) { throw new Granular.Exception("Inner context is already set"); } innerContext = new RenderElementDrawingContext(innerContainer, factory); innerContext.Closed += (sender, e) => innerContext = null; }
protected override object CreateRenderElementContentOverride(IRenderElementFactory factory) { if (drawingRenderElement == null) { renderElementFactory = factory; drawingRenderElement = factory.CreateDrawingRenderElement(this); RenderAsync(); } return(drawingRenderElement); }
public void OpenHinge() { if (_isOpen) { return; } _isOpen = true; //----------------------------------- if (LandPart == null) { return; } if (FloatPart == null) { return; //may be null } switch (FloatPartStyle) { default: case HingeFloatPartStyle.Popup: { RenderElement renderE = LandPart.CurrentPrimaryRenderElement; if (renderE != null) { IContainerRenderElement topRenderBox = renderE.GetTopWindowRenderBox(); if (topRenderBox != null) { Point globalLocation = LandPart.GetGlobalLocation(); FloatPart.SetLocation(globalLocation.X, globalLocation.Y + LandPart.Height); _floatPartRenderElement = FloatPart.GetPrimaryRenderElement(); topRenderBox.AddChild(_floatPartRenderElement); } } } break; case HingeFloatPartStyle.Embeded: { } break; } }
public static void SetChildren(this IContainerRenderElement container, IEnumerable <object> children) { if (container.Children.SequenceEqual(children)) { return; } foreach (object child in container.Children.ToArray()) { container.RemoveChild(child); } int index = 0; foreach (object child in children) { container.InsertChild(index, child); index++; } }
public void Remove(UIElement parent, T ui) { parent._needContentLayout = true; parent._hasMinSize = false; IContainerRenderElement parentContainer = parent.CurrentPrimaryRenderElement as IContainerRenderElement; if (parentContainer != null) { parentContainer.RemoveChild(ui.GetPrimaryRenderElement()); } _list.Remove(ui);//*** ui.ParentUI = null; //--- //presentation if (parentContainer != null) { CollectionHelper.UpdateLayout(parent, ui); } }
public static void AddChild(this IContainerRenderElement renderBox, UIElement ui) { renderBox.AddChild(ui.GetPrimaryRenderElement()); }