DreamGUI
Reference

UDreamPanelLayoutBase

Dream Panel Layout Base

Inherits from UDreamLayoutContainer.

Declared in Public/Core/Components/DreamPanelLayouts.h.

Dream Panel Layout Base

Functions

FunctionKindDescription
UDreamPanelSlot* AddChild(UDreamWidget* InChild, int32 InSiblingIndex)callableReturns the child's slot, or null -- see UDreamWidget::AddChild for what null can mean.
void DestroyAllChildren()callableUMG's ClearChildren under the name this plugin already gave it: UMG merely detaches and lets GC take the pieces, which here would leave live registered widgets with nobody holding them.
TArray<UDreamWidget*> GetAllChildren()pureGet All Children
UDreamWidget* GetChildAt(int32 InIndex)pureGet Child At
int32 GetChildIndex(UDreamWidget* InChild)pureGet Child Index
int32 GetChildrenCount()pureUMG's UPanelWidget child API, forwarded to the widget that owns this container.
bool HasAnyChildren()pureHas Any Children
bool HasChild(UDreamWidget* InChild)pureHas Child
bool RemoveChild(UDreamWidget* InChild)callableRemove Child
bool RemoveChildAt(int32 InIndex)callableRemove Child At
bool ReplaceChildAt(int32 InIndex, UDreamWidget* InContent)callableUOverlay::ReplaceOverlayChildAt and UStackBox::ReplaceStackBoxChildAt, once, for every panel.
void RequestLayoutRefresh()callableRequest Layout Refresh

Compared with UMG

Every Blueprint-facing member of the UMG class, and where it went. adopt: same name, same meaning. map: here under another name or on another type. reject: deliberately absent, with the reason.

UMGMemberStatusHereNote
UPanelWidgetGetChildrenCountadoptGetChildrenCountThe whole family forwards to the widget that owns the container: the hierarchy belongs to UDreamWidget, and a second child list on the panel would be the one thing guaranteed to disagree with it.
UPanelWidgetGetChildAtadoptGetChildAt
UPanelWidgetGetAllChildrenadoptGetAllChildren
UPanelWidgetGetChildIndexadoptGetChildIndex
UPanelWidgetHasChildadoptHasChild
UPanelWidgetRemoveChildAtadoptRemoveChildAt
UPanelWidgetAddChildadoptAddChildReturns the slot. UMG needs a typed AddChildTo<Panel> per panel because each panel has its own slot class; there is one UDreamPanelSlot here, so there is one verb.
UPanelWidgetRemoveChildadoptRemoveChildDetaches and leaves the child alive, as UMG's does; ownership passes to the caller.
UPanelWidgetHasAnyChildrenadoptHasAnyChildren
UPanelWidgetClearChildrenmapDestroyAllChildrenNamed for what it has to do here. UMG's merely detaches and lets GC take the pieces, which in this plugin would leave live registered widgets with nobody holding them.

On this page