类参考
UDreamWidget
Base class for almost all UI related things.
本页由 DreamGUIReferenceDocs commandlet 从反射生成,正文是头文件注释的原文(英文),所以不翻译——这样它永远和代码一致。概念讲解见核心概念。
Inherits from UObject.
Declared in Public/Core/Components/DreamWidget.h.
Base class for almost all UI related things.
Properties
| Name | Type | Category | In the details panel | From Blueprint | Description |
|---|---|---|---|---|---|
RelativeLocation | FVector | Transform | yes | read only | Local space position. DuiHidden: the setter recomputes the anchors, and AnchorData is what a .dui spells -- a reflective sweep that also wrote this would author one position twice. |
RelativeRotation | FQuat | Transform | - | read only | Local space rotation. Not marked Interp: Sequencer has no property track for FQuat, so this cannot be keyed directly. Animate RelativeRotationEuler instead, which mirrors this value. // DuiHidden: RelativeRotationEuler is the authored face of this value, and a quaternion has no // spelling -- but FQuat is an ordinary struct, so without the tag a reflective sweep would // recurse it and write X/Y/Z/W component lines beside the euler it already wrote. |
RelativeRotationEuler | FRotator | Transform | yes | read only | Local space rotation as euler angles, mirroring RelativeRotation so that rotation can be animated: Sequencer has an FRotator property track but none for FQuat. |
RelativeScale | FVector | Transform | yes | read only | Local space scale |
RenderTranslation | FVector | Render Transform | yes | read only | RENDER TRANSFORM. |
RenderRotation | FRotator | Render Transform | yes | read only | Render-only rotation about RenderTransformPivot, in degrees. FRotator rather than FQuat for the same reason RelativeRotationEuler exists: Sequencer has a property track for one and not the other. No transient mirror is needed here because this is itself the serialized source of truth. |
RenderScale | FVector | Render Transform | yes | read only | Render-only scale about RenderTransformPivot. |
RenderTransformPivot | FVector2D | Render Transform | yes | read only | What RenderRotation and RenderScale turn about, normalized within the widget's own rect. (0,0) is bottom-left and (1,1) top-right, matching AnchorData.Pivot rather than UMG's top-left origin -- consistency inside this fork beats consistency with the other engine. Two-dimensional because the rect is: it resolves to a point on the widget's own plane. Independent of AnchorData.Pivot, which belongs to layout. |
RenderShear | FVector2D | Render Transform | yes | read only | Render-only slant about this widget's own pivot, in DEGREES, applied to this widget and its whole subtree. See GetRenderShear for what it does and does not affect. |
RenderLayer | EDreamWidgetRenderLayer | Render Transform | yes | - | Whether this widget may be a render layer of its canvas, and when: once its render transform keeps changing (Auto), whenever it can be (Always), or never. A layer's transform is applied on the GPU to everything under it. |
bPerspective | bool | Perspective | yes | read only | PERSPECTIVE, in the shape CSS uses. |
PerspectiveFieldOfView | float | Perspective | yes | read only | The angle the subtree is viewed through, in degrees. Wider is a stronger effect, and it means exactly what UDreamCanvas::FieldOfView means -- the eye distance is derived from it with the same formula, against this widget's own width. |
PerspectiveOrigin | FVector2D | Perspective | yes | read only | Where the eye stands over this widget's own rect, normalized: (0,0) bottom-left, (1,1) top-right, matching RenderTransformPivot. The CSS perspective-origin, and the vanishing point a subtree converges toward. |
AnchorData | FDreamUIAnchorData | DreamGUI-AnchorData | yes | - | AnchorData contains rect transform and color |
AnimatableWidth | float | DreamGUI-AnchorData | yes | read only | Animatable mirrors of the resolved geometry, one per channel Sequencer can key. Sequencer reads property memory directly while writing through the setter (the RelativeRotationEuler story), so each must be a real stored field; SyncAnimatableGeometryMirrors keeps them equal to the caches below. A stale cache and its mirror go stale together, which is exactly what the details panel shows too. // DuiHidden on all six: they are Interp mirrors of AnchorData for Sequencer, and their setters // write through to it -- which is exactly what exempts them from the transient refusal and // exactly why a reflective sweep must not spell them: AnchorData already carries the value. |
AnimatableHeight | float | DreamGUI-AnchorData | yes | read only | |
AnimatableAnchorLeft | float | DreamGUI-AnchorData | yes | read only | |
AnimatableAnchorRight | float | DreamGUI-AnchorData | yes | read only | |
AnimatableAnchorTop | float | DreamGUI-AnchorData | yes | read only | |
AnimatableAnchorBottom | float | DreamGUI-AnchorData | yes | read only | |
RenderOpacity | float | DreamGUI | yes | read only | |
Clipping | EDreamWidgetClipping | DreamGUI | yes | read only | |
ClippingCornerRadius | FVector4f | DreamGUI | yes | read only | X- RightBottom, Y- RightTop, Z- LeftTop, W- LeftBottom |
ClippingMargin | FMargin | DreamGUI | yes | read only | Expand clip area outward. |
bUniformSetClippingCornerRadius | bool | DreamGUI | yes | - | |
bWidgetActive | bool | DreamGUI | yes | read only | If not WidgetActive, then not visible, not take layout space, not interactable, not hit-testable |
Visibility | EDreamWidgetVisibility | DreamGUI | yes | read only | Controls layout, painting and hit testing independently from WidgetActive. |
Shown | bool | DreamGUI | - | read only | Visibility as a yes or no: true is Visible, false is Collapsed. What Shown <- HasSave() binds in a .dui, and what an if block binds on each widget of its branches. Nothing of its own is kept -- reading it reads Visibility (anything but Collapsed is shown), writing it writes Visibility -- so the field below is only the slot reflection needs for a property with a getter and a setter. DuiHidden: Visibility is what the write-back spells, so a sweep must not author the same value twice. |
PixelSnapping | EWidgetPixelSnapping | DreamGUI | yes | read only | If the widget will draw snapped to the nearest pixel. Improves clarity but might cause visible stepping in animation. |
Raycastable | EDreamWidgetRaycastableType | DreamGUI | yes | read only | |
Interactable | EDreamWidgetInteractableType | DreamGUI | yes | read only | If the widget enable for interaction? |
bIsEnabled | bool | Behavior | yes | read only | UMG's bIsEnabled: the switch a game flips to grey a thing out and stop it responding. |
bRestrictNavigationArea | uint8 | DreamGUI | yes | read only | Restrict navigation area to only children of this UI node, to forbid it navigate out. |
NavigationBoundaryRule | EDreamUINavigationBoundaryRule | DreamGUI | yes | read only | What happens when a directional move reaches the edge of this area. Only read on a widget that is itself a restricted area; Stop keeps the behaviour every existing prefab already has. |
bIgnoreLayout | bool | DreamGUI | yes | read only | Ignore parent layout container |
Visual | TObjectPtr<UDreamVisual> | Visual | yes | read only | |
LayoutContainer | TObjectPtr<UDreamLayoutContainer> | LayoutContainer | yes | read only | |
LayoutSelf | TObjectPtr<UDreamLayoutSelf> | LayoutSelf | yes | read only | |
PanelSlot | TObjectPtr<UDreamPanelSlot> | PanelSlot | yes | read only | Parent-panel-owned layout data. This is separate from LayoutSelf so legacy Flex/Grid assets remain valid. |
bIsFocusable | bool | Interaction | Focus | yes | read only |
bIsTabStop | bool | Interaction | Focus | yes | read only |
TabIndex | int32 | Interaction | Focus | yes | read only |
TabNavigation | EDreamWidgetTabNavigation | Interaction | Focus | yes | read only |
Cursor | TEnumAsByte<EMouseCursor::Type> | Interaction | yes | read only | |
ToolTipText | FText | Interaction | yes | read only | |
ToolTipWidgetClass | TSubclassOf<UDreamUserWidget> | Interaction | yes | read only | Show THIS widget class as the tooltip instead of the built-in text bubble. Beats ToolTipText when both are set, matching the order the tooltip service already resolves its two content paths in. |
FlowDirectionPreference | EDreamFlowDirectionPreference | Localization | yes | read only | Which way this widget's layout flows. Inherit -- the default, and what every asset authored before this existed holds -- takes the answer from the nearest ancestor that states one, so a whole screen is mirrored by setting Culture once on its root. |
AccessibleBehavior | EDreamAccessibleBehavior | Accessibility | yes | read only | |
AccessibleText | FText | Accessibility | yes | read only | |
AccessibleSummaryText | FText | Accessibility | yes | read only | |
SiblingIndex | int32 | DreamGUI | yes | - | hierarchy index, hierarchy order, render order |
FlattenHierarchyIndex | int32 | DreamGUI | - | - | Flatten depth/hierarchyIndex, relative to root DreamWidget. -1 means not set yet. RootWidget - 0 Widget - 1 Widget - 2 Widget - 3 Widget - 4 Widget - 5 Widget - 6 |
DisplayName | FString | DreamGUI | - | - | This is useful when you need to find child UI element by name, use function "FindChildByDisplayName" or "FindChildArrayByDisplayName" to do it. Mostly the displayName is the same as Actor's ActorLabel. If you want to change it, just change the actor label( Actor's name in world outliner). If Actor's ActorLabel start with "//", then the "//" will be ignored. ActorLabel is only valid in editor, but this is also valid on runtime. |
Functions
| Function | Kind | Description |
|---|---|---|
UDreamPanelSlot* AddChild(UDreamWidget* InChild, int32 InSiblingIndex) | callable | UMG's UPanelWidget::AddChild, adapted. UMG needs eight typed variants because each panel has its own slot class; here there is one UDreamPanelSlot, so one verb returns it and you can set padding straight off the result. |
UDreamUIBehaviour* AddComponent(TSubclassOf<UDreamUIBehaviour> ComponentClass) | callable | Add Component |
UDreamTweener* AnchoredPositionTo(FVector2D endValue, float duration, float delay, EDreamTweenEase ease) | callable | Anchored Position To |
void AnnounceAccessibleText(FText Announcement) | callable | Sends text through Slate's platform accessibility announcement channel. |
bool CanAcceptAdditionalChildren(int32 AdditionalChildCount) | pure | Can Accept Additional Children |
bool CanAcceptChild(UDreamWidget* InChild) | pure | Can Accept Child |
void ClearFocus(int32 UserIndex, int32 PointerId) | callable | Clear Focus |
void ClearKeyboardFocus() | callable | Give up focus if this widget holds the owning player's. |
void ClearRenderTransform() | callable | Back to drawing exactly where layout put it, in one invalidation. |
UDreamLayoutContainer* CreateNewLayoutContainer(TSubclassOf<UDreamLayoutContainer> Class) | callable | Create New Layout Container |
UDreamLayoutSelf* CreateNewLayoutSelf(TSubclassOf<UDreamLayoutSelf> Class) | callable | Create New Layout Self |
UDreamPanelSlot* CreateNewPanelSlot(TSubclassOf<UDreamPanelSlot> SlotClass) | callable | Create New Panel Slot |
UDreamVisual* CreateNewVisual(TSubclassOf<UDreamVisual> VisualClass) | callable | Create New Visual |
void DestroyAllChildren() | callable | Destroy every child and their subtrees. Named for what it does: UMG's ClearChildren merely detaches and lets GC take the pieces, which here would leave live registered widgets behind with nobody holding them. |
bool DestroyChild(UDreamWidget* InChild) | callable | Detach and destroy a child, and everything below it. Use this when you are finished with it. "Destroy" is DestroyWidget's sense of the word: IsValid(InChild) answers false afterwards. |
void DestroyWidget() | callable | Tear this widget and its whole subtree down: unregister, detach from the parent, end play, and mark every widget in it as garbage. |
TArray<UDreamWidget*> FindChildArrayByDisplayName(FString InName, bool IncludeChildren) | pure | Like "FindChildByDisplayName", but return all children that match the case. @param InName The child's name that need to find, case sensitive @param IncludeChildren Also search in children |
UDreamWidget* FindChildByDisplayName(FString InName, bool IncludeChildren) | pure | Search in children and return the first UIItem that the displayName match input name. Support hierarchy nested search, eg: InName = "Content/ListItem/NameLabel". @param InName The child's name that need to find, case sensitive @param IncludeChildren Also search in children |
void ForceLayoutPrepass() | callable | Lay this widget's tree out NOW rather than on the next pass -- UMG's ForceLayoutPrepass. |
EDreamAccessibleBehavior GetAccessibleBehavior() | pure | Get Accessible Behavior |
FText GetAccessibleSummaryText() | pure | Get Accessible Summary Text |
FText GetAccessibleText() | pure | Get Accessible Text |
TArray<UDreamUIBehaviour*> GetAllComponents() | pure | Get All Components |
FDreamUIAnchorData GetAnchorData() | pure | Get Anchor Data |
FVector2D GetAnchoredPosition() | pure | Get Anchored Position |
FVector2D GetAnchorMax() | pure | Get Anchor Max |
FVector2D GetAnchorMin() | pure | Get Anchor Min |
FMargin GetAnchorOffset() | pure | Get Anchor Offset |
float GetAnchorOffsetBottom() | pure | Get Anchor Offset Bottom |
float GetAnchorOffsetLeft() | pure | Get Anchor Offset Left |
float GetAnchorOffsetRight() | pure | Get Anchor Offset Right |
float GetAnchorOffsetTop() | pure | Get Anchor Offset Top |
USceneComponent* GetAttachedRootSceneComponent() | pure | Get Attached Root Scene Component |
UDreamWidget* GetChildByIndex(int32 index) | pure | Get Child by Index |
int32 GetChildIndex(UDreamWidget* InChild) | pure | Position of InChild among this widget's children, or INDEX_NONE if it is not one. |
TArray<UDreamWidget*> GetChildren() | pure | Get Children |
int32 GetChildrenCount() | pure | Get Children Count |
bool GetChildrenHitTestVisibleInHierarchy() | pure | Get Children Hit Test Visible in Hierarchy |
EDreamWidgetClipping GetClipping() | pure | Get Clipping |
FVector4f GetClippingCornerRadius() | pure | Get Clipping Corner Radius |
FMargin GetClippingMargin() | pure | Get Clipping Margin |
UDreamUIBehaviour* GetComponent(TSubclassOf<UDreamUIBehaviour> ComponentClass) | pure | Get Component |
UDreamUIBehaviour* GetComponentByInterface(UClass* InterfaceClass) | pure | Get Component by Interface |
TArray<UDreamUIBehaviour*> GetComponents(TSubclassOf<UDreamUIBehaviour> ComponentClass) | pure | Get Components |
FLinearColor GetContentTint() | pure | Get Content Tint |
TEnumAsByte<EMouseCursor::Type> GetCursor() | pure | Get Cursor |
FVector2D GetDesiredSize() | pure | How big this widget WANTS to be, as its parent panel would measure it. |
FString GetDisplayName() | pure | Get Display Name |
float GetFinalRenderOpacity() | pure | Retrieves the final opacity value used during rendering for this widget, considering all relevant settings and parent opacity. This value is influenced by the widget's own RenderOpacity property and hierarchical parent RenderOpacity. |
int32 GetFlattenHierarchyIndex() | pure | Get index order of the widget from top most widget in flatten hierarchy. |
EDreamFlowDirectionPreference GetFlowDirectionPreference() | pure | Get Flow Direction Preference |
FVector GetForwardVector() | pure | Get Forward Vector |
UGameInstance* GetGameInstance() | pure | Get Game Instance |
float GetHeight() | pure | Get Height |
bool GetHitTestVisibleInHierarchy() | pure | Get Hit Test Visible in Hierarchy |
float GetHorizontalAnchoredPosition() | pure | Get Horizontal Anchored Position |
bool GetIgnoreLayout() | pure | Get Ignore Layout |
FLinearColor GetInheritedContentTint() | pure | The product of every ancestor's ContentTint, this widget's own left out: what this widget's visual is tinted by. White when none tints. |
EDreamWidgetInteractableType GetInteractable() | pure | Get Interactable |
bool GetInteractableInHierarchy() | pure | Get if this widget is interactable when use input interaction, considering all parent settings. @return If this widget is interactable |
bool GetIsEnabled() | pure | This widget's own enabled switch. Ask GetIsEnabledInHierarchy for the answer that counts. |
bool GetIsEnabledInHierarchy() | pure | True when this widget and every ancestor are enabled. The cascaded answer. |
bool GetIsFocusable() | pure | Get Is Focusable |
bool GetIsTabStop() | pure | See bIsTabStop. |
UDreamLayoutContainer* GetLayoutContainer() | pure | Get Layout Container |
UDreamLayoutSelf* GetLayoutSelf() | pure | Get Layout Self |
bool GetLayoutVisibleInHierarchy() | pure | Hidden still participates in layout; Collapsed does not. |
float GetLocalSpaceBottom() | pure | Get Local Space Bottom |
FVector2D GetLocalSpaceCenter() | pure | Get Local Space Center |
float GetLocalSpaceLeft() | pure | Get Local Space Left |
FVector2D GetLocalSpaceLeftBottomPoint() | pure | Get Local Space Left Bottom Point |
float GetLocalSpaceRight() | pure | Get Local Space Right |
FVector2D GetLocalSpaceRightTopPoint() | pure | Get Local Space Right Top Point |
float GetLocalSpaceTop() | pure | Get Local Space Top |
int32 GetMaxChildrenCapacity() | pure | Minimum child capacity imposed by the current LayoutContainer and Behaviours. INDEX_NONE is unlimited. |
UDreamWidgetNavigation* GetNavigation() | pure | This widget's per-direction navigation rules, or null when it has none. |
EDreamUINavigationBoundaryRule GetNavigationBoundaryRule() | pure | Get Navigation Boundary Rule |
UDreamWidgetNavigation* GetOrCreateNavigation() | callable | The rules, creating an untouched set if this widget had none. Never null on a live widget. |
ULocalPlayer* GetOwningLocalPlayer() | pure | Get Owning Local Player |
APlayerController* GetOwningPlayer() | pure | The local player this widget belongs to: the nearest user widget above it owns it, and a tree with no user widget in it belongs to the first local player, which is the whole answer in a single-player game. |
int32 GetOwningPlayerIndex() | pure | The local player INDEX this widget's screen, focus and input use -- the same number a UDreamEventSystem, a raycaster and a pointer event all carry. 0 when it cannot be resolved. |
UDreamPanelSlot* GetPanelSlot() | pure | Get Panel Slot |
UDreamWidget* GetParent() | pure | Get Parent |
FString GetPathDisplayName(UObject* StopOuter) | pure | Get Path Display Name |
bool GetPerspective() | pure | Get Perspective |
float GetPerspectiveDistance() | pure | The eye distance the field of view works out to against the current width. |
float GetPerspectiveFieldOfView() | pure | Get Perspective Field Of View |
FVector2D GetPerspectiveOrigin() | pure | Get Perspective Origin |
FVector2D GetPivot() | pure | Get Pivot |
EWidgetPixelSnapping GetPixelSnapping() | pure | Get Pixel Snapping |
bool GetPixelSnappingInHierarchy() | pure | Get Pixel Snapping in Hierarchy |
EDreamWidgetRaycastableType GetRaycastable() | pure | Get Raycastable |
bool GetRaycastableInHierarchy() | pure | Get Raycastable in Hierarchy |
FVector GetRelativeLocation() | pure | Get Relative Location |
FQuat GetRelativeRotation() | pure | Get Relative Rotation |
FRotator GetRelativeRotationEuler() | pure | Euler-angle mirror of GetRelativeRotation, for animating rotation through Sequencer. |
FVector GetRelativeScale() | pure | Get Relative Scale |
UDreamCanvas* GetRenderCanvas() | pure | Get the canvas that render and update this UI element |
EDreamWidgetRenderLayer GetRenderLayerMode() | pure | Whether this widget may be a render layer of its canvas, and when. IsRenderLayer says whether it is one now. |
float GetRenderOpacity() | pure | Get Render Opacity |
FRotator GetRenderRotation() | pure | Get Render Rotation |
FVector GetRenderScale() | pure | Get Render Scale |
FVector2D GetRenderShear() | pure | The slant applied when this widget and everything under it are DRAWN -- UMG's FWidgetTransform::Shear, in degrees, about this widget's own pivot. |
float GetRenderTransformAngle() | pure | Get Render Transform Angle |
FVector2D GetRenderTransformPivot() | pure | Get Render Transform Pivot |
FVector GetRenderTranslation() | pure | Get Render Translation |
bool GetRenderVisibleInHierarchy() | pure | Get Render Visible in Hierarchy |
EDreamFlowDirection GetResolvedFlowDirection() | pure | Which way this widget's layout actually flows, after following Inherit up the parent chain. |
bool GetRestrictNavigationArea() | pure | Get Restrict Navigation Area |
UDreamWidget* GetRestrictNavigationAreaWidget() | pure | Search up parent DreamWidget which bRestrictNavigationArea is true and return it, include this DreamWidget self |
FVector GetRightVector() | pure | Get Right Vector |
UDreamCanvas* GetRootCanvas() | pure | Get root canvas of hierarchy |
UDreamWidget* GetRootWidgetInHierarchy() | pure | return root Widget in hierarchy, could be null if not initialized yet. |
bool GetShown() | pure | Anything but Collapsed. See Shown. |
int32 GetSiblingIndex() | pure | Get Sibling Index |
FVector2D GetSize() | pure | Get Size |
FVector2D GetSizeDelta() | pure | Get Size Delta |
int32 GetTabIndex() | pure | See TabIndex. |
EDreamWidgetTabNavigation GetTabNavigation() | pure | See TabNavigation. |
FText GetToolTipText() | pure | Get Tool Tip Text |
TSubclassOf<UDreamUserWidget> GetToolTipWidgetClass() | pure | Get Tool Tip Widget Class |
FVector GetUpVector() | pure | Get Up Vector |
float GetVerticalAnchoredPosition() | pure | Get Vertical Anchored Position |
EDreamWidgetVisibility GetVisibility() | pure | Get Visibility |
UDreamVisual* GetVisual() | pure | Get Visual |
bool GetWidgetActive() | pure | Get WidgetActive property value @return WidgetActive self property |
bool GetWidgetActiveInHierarchy() | pure | Get widget active in hierarchy @return Is widget active in hierarchy |
float GetWidth() | pure | Get Width |
FVector GetWorldLocation() | pure | Get World Location |
FQuat GetWorldRotation() | pure | Get World Rotation |
FVector GetWorldScale() | pure | Get World Scale |
FTransform GetWorldTransform() | pure | Get World Transform |
bool HasAnyChildren() | pure | Has Any Children |
bool HasAnyUserFocus() | pure | Does ANY local player's focus sit on this widget? |
bool HasChild(UDreamWidget* InChild) | pure | Has Child |
bool HasFocus(int32 UserIndex, int32 PointerId) | pure | Has Focus |
bool HasFocusedDescendants() | pure | Does any local player's focus sit on something BELOW this widget? UMG spells it the same way. |
bool HasInheritedPerspective() | pure | True when an ANCESTOR declares one. Distinct from HasPerspectiveApplied, which includes this widget's own. |
bool HasKeyboardFocus() | pure | Has Keyboard Focus |
bool HasMouseCapture() | pure | Is a pointer holding its button down on this widget? The nearest thing this framework has to Slate's mouse capture: there is no capture object here, but a pressed pointer's PressWidget is exactly who keeps receiving its drag and its release, which is what capture means to a caller. |
bool HasMouseCaptureByUser(int32 InUserIndex, int32 InPointerIndex) | pure | Same question for one player, and optionally one pointer. -1 means any of that player's pointers. |
bool HasOwnRenderShear() | pure | This widget's own shear, ignoring the chain. |
bool HasPanelSlots() | pure | Whether this widget's layout container hands its children a UDreamPanelSlot. This is the question behind AddChild returning null: a widget can take children with no container at all, and the Dream flex box and grid arrange children without slots, so "arranges children" and "has slots" are not the same thing. |
bool HasPerspectiveApplied() | pure | True when a scope shapes THIS widget's own geometry -- its own declaration or an ancestor's. A widget is inside its own perspective: the scope's plane is taken from where layout put the widget, so its own render rotation is measured against that plane and foreshortens like anything else. A widget with no render transform is flat in that plane and comes back untouched, so switching Perspective on still changes nothing until something gains depth. |
bool HasPerspectiveInHierarchy() | pure | True when this widget or any ancestor declares a perspective. One bit, kept up to date with the transform. |
bool HasRenderTransform() | pure | True while any render channel is off its default, i.e. while drawing differs from layout. |
bool HasShearApplied() | pure | True when this widget or any ancestor is sheared -- the bit that chooses the matrix path. |
bool HasUserFocus(APlayerController* InPlayerController) | pure | Has User Focus |
bool HasUserFocusedDescendants(APlayerController* InPlayerController) | pure | Has User Focused Descendants |
UDreamTweener* HeightTo(float endValue, float duration, float delay, EDreamTweenEase ease) | callable | Height To |
UDreamTweener* HorizontalAnchoredPositionTo(float endValue, float duration, float delay, EDreamTweenEase ease) | callable | Horizontal Anchored Position To |
void InvalidateLayoutAndVolatility() | callable | Ask for a layout pass on this widget next frame. UMG's name; the volatility half of it has no counterpart here and is not implied -- see the parity table. |
bool IsChildOf(UDreamWidget* InTarget) | pure | Recurses up the list of parents and returns true if this widget is a descendant of the InTarget. |
bool IsHovered() | pure | Is a pointer over this widget -- or over anything inside it? UMG's IsHovered, and hover reaching ancestors is what makes a button's own hover survive the pointer being over its label. |
bool IsInViewport() | pure | Is this widget, or something it hangs under, currently on a player's screen? |
bool IsPointVisibleOnClip(FVector Value) | pure | Is Point Visible on Clip |
bool IsRendered() | pure | Visible AND actually contributing colour. A subtree faded to nothing is visible but not rendered. |
bool IsRenderTargetUI() | pure | Is this UI element render to a RenderTarget? |
bool IsScreenSpaceOverlayUI() | pure | Is this UI element render to screen space overlay? |
bool IsVisible() | pure | UMG's IsVisible. The hierarchy is folded in, unlike UMG's, which asks only this widget: the cascaded answer is the one already cached here and the one every caller means by "on screen". |
bool IsWorldSpaceUI() | pure | Is this UI element render in world space? |
UDreamTweener* LocalPositionTo(FVector endValue, float duration, float delay, EDreamTweenEase ease) | callable | Local Position To |
UDreamTweener* LocalPositionXTo(double endValue, float duration, float delay, EDreamTweenEase ease) | callable | Local Position X To |
UDreamTweener* LocalPositionYTo(double endValue, float duration, float delay, EDreamTweenEase ease) | callable | Local Position Y To |
UDreamTweener* LocalPositionZTo(double endValue, float duration, float delay, EDreamTweenEase ease) | callable | Local Position Z To |
UDreamTweener* LocalRotationQuaternionTo(FQuat endValue, float duration, float delay, EDreamTweenEase ease) | callable | Rotate absolute quaternion rotation value |
UDreamTweener* LocalRotatorTo(FRotator endValue, bool shortestPath, float duration, float delay, EDreamTweenEase ease) | callable | Rotate absolute rotator value |
UDreamTweener* LocalScaleTo(FVector endValue, float duration, float delay, EDreamTweenEase ease) | callable | Local Scale To |
UDreamTweener* LocalUniformScaleTo(float endValue, float duration, float delay, EDreamTweenEase ease) | callable | Local Uniform Scale To |
void MarkLayoutForRebuild(UDreamWidget* InWidget) | callable | Mark Layout for Rebuild |
void MoveComponentToIndex(UDreamUIBehaviour* Component, int32 NewIndex) | callable | Move Component to Index |
void RebuildLayoutImmediately(UDreamWidget* InWidget) | callable | Rebuild Layout Immediately |
bool RemoveChild(UDreamWidget* InChild) | callable | Detach a child and leave it alive: still registered, subtree intact, ready to be added somewhere else. It goes back to the not-yet-added state a freshly created widget is in, so it draws nothing and its behaviours are disabled in the meantime -- which is what makes this the verb to pool with, and why a pooled widget still shows up as held rather than leaked. |
bool RemoveChildAt(int32 InIndex) | callable | Remove Child At |
void RemoveComponent(UDreamUIBehaviour* Component) | callable | Remove Component |
bool RemoveFromParent() | callable | Take THIS widget off whatever it is attached to, and stay alive -- UMG's RemoveFromParent, from the child's side. Returns false when it was not attached to anything. |
void RemoveLayoutContainer() | callable | Remove Layout Container |
void RemoveLayoutSelf() | callable | Remove Layout Self |
void RemovePanelSlot() | callable | Remove Panel Slot |
void RemoveVisual() | callable | Remove Visual |
UDreamTweener* RenderAngleTo(float endValue, float duration, float delay, EDreamTweenEase ease) | callable | Render Angle To |
UDreamTweener* RenderOffsetTo(FVector2D endValue, float duration, float delay, EDreamTweenEase ease) | callable | Render Offset To |
UDreamTweener* RenderOpacityTo(float endValue, float duration, float delay, EDreamTweenEase ease) | callable | Render Opacity To |
UDreamTweener* RenderScaleTo(FVector endValue, float duration, float delay, EDreamTweenEase ease) | callable | Render Scale To |
UDreamTweener* RenderTranslationTo(FVector endValue, float duration, float delay, EDreamTweenEase ease) | callable | The render transform's tweens: they move, scale and turn what is drawn and hit and never the layout, so they are the ones for a widget a panel places -- a row of a vertical box sliding in, a tab nudged aside, a line growing from its left. The anchored-position and size tweens above write the widget's layout instead, which its panel overrides on its next pass. RenderTranslationTo is in local space (X depth, Y right, Z up); RenderOffsetTo is the same move on the canvas plane (x right, y up), depth kept; RenderAngleTo is the in-plane angle (SetRenderTransformAngle). |
void ResetCursor() | callable | Back to having no opinion, so an ancestor's cursor shows through again. UMG's ResetCursor. |
void SetAccessibleBehavior(EDreamAccessibleBehavior Value) | callable | Set Accessible Behavior |
void SetAccessibleSummaryText(FText Value) | callable | Set Accessible Summary Text |
void SetAccessibleText(FText Value) | callable | Set Accessible Text |
void SetAnchorData(FDreamUIAnchorData Value) | callable | Set Anchor Data |
void SetAnchoredPosition(FVector2D Value) | callable | Set Anchored Position |
void SetAnchoredPositionAndSizeDelta(FVector2D Position, FVector2D Size) | callable | Set Anchored Position and Size Delta |
void SetAnchorMax(FVector2D Value) | callable | Set Anchor Max |
void SetAnchorMin(FVector2D Value) | callable | Set Anchor Min |
void SetAnchorOffset(FMargin Value) | callable | Set Anchor Offset |
void SetAnchorOffsetBottom(float Value) | callable | This function only valid if UIItem have parent |
void SetAnchorOffsetLeft(float Value) | callable | This function only valid if UIItem have parent |
void SetAnchorOffsetRight(float Value) | callable | This function only valid if UIItem have parent |
void SetAnchorOffsetTop(float Value) | callable | This function only valid if UIItem have parent |
void SetAsFirstSibling() | callable | Set as First Sibling |
void SetAsLastSibling() | callable | Set as Last Sibling |
void SetClipping(EDreamWidgetClipping Value) | callable | Set Clipping |
void SetClippingCornerRadius(FVector4f Value) | callable | Set Clipping Corner Radius |
void SetClippingMargin(FMargin Value) | callable | Set Clipping Margin |
void SetContentTint(FLinearColor Value) | callable | Tint everything drawn below this widget -- its descendants' visuals, never its own -- as UMG's content colour does (a border's ContentColorAndOpacity reaching its child, SCompoundWidget's ColorAndOpacity). Multiplied in linear space, with every ancestor's, into each descendant visual's UDreamVisual::GetFinalColor; marks their colours dirty. White changes nothing. |
void SetCursor(TEnumAsByte<EMouseCursor::Type> Value) | callable | The cursor to show while the pointer is over this widget. Default means "no opinion" and lets whatever is underneath claim it, which is why there is no separate override flag here as there is in UMG -- DreamPointerPolicy::ResolveCursor walks the hover stack innermost first and takes the first widget with an opinion. |
void SetDisplayName(FString InName) | callable | Set Display Name |
void SetFlowDirectionPreference(EDreamFlowDirectionPreference Value) | callable | Changing this re-arranges this widget and every descendant that inherits the answer from it. |
bool SetFocus(int32 UserIndex, int32 PointerId) | callable | Set Focus |
void SetHeight(float Value) | callable | Set Height |
void SetHorizontalAnchoredPosition(float Value) | callable | Set Horizontal Anchored Position |
void SetHorizontalAnchorMinMax(FVector2D Value, bool bKeepSize, bool bKeepRelativeLocation) | callable | Set Horizontal Anchor Min Max |
void SetHorizontalAndVerticalAnchorMinMax(FVector2D MinValue, FVector2D MaxValue, bool bKeepSize, bool bKeepRelativeLocation) | callable | Set Horizontal and Vertical Anchor Min Max |
void SetIgnoreLayout(bool Value) | callable | Set Ignore Layout |
void SetInteractable(EDreamWidgetInteractableType Value) | callable | Set Interactable |
void SetIsEnabled(bool bInIsEnabled) | callable | Disable (or re-enable) this widget and everything under it: the subtree stops taking input and every control in it takes on its disabled look, because both read GetInteractableInHierarchy and this is AND-ed into it. |
void SetIsFocusable(bool Value) | callable | Turning this off also gives up any focus the widget currently holds. |
void SetIsTabStop(bool Value) | callable | Set Is Tab Stop |
bool SetKeyboardFocus() | callable | Take focus on the owning player's event system. Returns false when it could not be given. |
void SetNavigationBoundaryRule(EDreamUINavigationBoundaryRule Value) | callable | Set Navigation Boundary Rule |
void SetParent(UDreamWidget* InParent, bool InKeepWorldPosition, int32 InSiblingIndex) | callable | Set parent of this widget, could use null to detach it from origin parent. @InKeepWorldPosition true - keep world position & rotation & scale after change parent, false - keep relative position & rotation & scale. @InSiblingIndex if InParent is a valid widget, then put the widget at specific index in parent's children list, -1 or other out of range value means the widget will be put at tail. |
void SetPerspective(bool Value) | callable | Set Perspective |
void SetPerspectiveFieldOfView(float Value) | callable | Set Perspective Field Of View |
void SetPerspectiveOrigin(FVector2D Value) | callable | Set Perspective Origin |
void SetPivot(FVector2D Value) | callable | Set Pivot |
void SetPixelSnapping(EWidgetPixelSnapping Value) | callable | Set Pixel Snapping |
void SetPositionAndSizeForLayoutAnimation(FVector2D Position, FVector2D Size) | callable | Set Position and Size for Layout Animation |
void SetPositionForLayoutAnimation(FVector2D Position) | callable | Set Position for Layout Animation |
void SetRaycastable(EDreamWidgetRaycastableType Value) | callable | Set Raycastable |
void SetRelativeLocation(FVector Value) | callable | Set Relative Location |
void SetRelativeLocationAndRotation(FVector InLocation, FQuat InRotation) | callable | Set Relative Location and Rotation |
void SetRelativeRotation(FQuat Value) | callable | Set Relative Rotation |
void SetRelativeRotationEuler(FRotator Value) | callable | Set rotation from euler angles. This is the rotation entry point Sequencer drives. |
void SetRelativeScale(FVector Value) | callable | Set Relative Scale |
void SetRenderLayerMode(EDreamWidgetRenderLayer Value) | callable | Whether this widget may be a render layer of its canvas, and when; its canvas makes it one, or takes it back, at its next update. |
void SetRenderOpacity(float Value) | callable | Set Render Opacity |
void SetRenderRotation(FRotator Value) | callable | Set Render Rotation |
void SetRenderScale(FVector Value) | callable | Set Render Scale |
void SetRenderShear(FVector2D Value) | callable | Set Render Shear |
void SetRenderTransformAngle(float InAngle) | callable | The in-plane rotation, in degrees -- UMG's render transform angle. |
void SetRenderTransformPivot(FVector2D Value) | callable | Set Render Transform Pivot |
void SetRenderTranslation(FVector Value) | callable | Set Render Translation |
void SetRestrictNavigationArea(bool Value) | callable | Set Restrict Navigation Area |
void SetShown(bool Value) | callable | Visible when true, Collapsed when false; a shown widget that is Hidden or hit-test invisible keeps that. See Shown. |
void SetSiblingIndex(int32 Value) | callable | Set the sibling index of this widget in its parent's children list. |
void SetSizeDelta(FVector2D Value) | callable | Set Size Delta |
void SetSizeForLayoutAnimation(FVector2D Position) | callable | Set Size for Layout Animation |
void SetTabIndex(int32 Value) | callable | Set Tab Index |
void SetTabNavigation(EDreamWidgetTabNavigation Value) | callable | Set Tab Navigation |
void SetToolTipText(FText Value) | callable | Set Tool Tip Text |
void SetToolTipWidgetClass(TSubclassOf<UDreamUserWidget> Value) | callable | UMG's SetToolTip, by class. Null goes back to the text bubble. |
bool SetUserFocus(APlayerController* InPlayerController) | callable | Take focus on a named player's event system. |
void SetVerticalAnchoredPosition(float Value) | callable | Set Vertical Anchored Position |
void SetVerticalAnchorMinMax(FVector2D Value, bool bKeepSize, bool bKeepRelativeLocation) | callable | Set Vertical Anchor Min Max |
void SetVisibility(EDreamWidgetVisibility Value) | callable | Set Visibility |
void SetWidgetActive(bool Value) | callable | Set WidgetActive self property @param Value |
void SetWidgetTweenerAffectByGamePauseAndTimeDilation(UDreamWidget* Widget, UDreamTweener* Tweener) | callable | Set Widget Tweener Affect by Game Pause and Time Dilation |
void SetWidth(float Value) | callable | Set Width |
void SetWorldLocation(FVector Value) | callable | Set World Location |
void SetWorldLocationAndRotation(FVector InLocation, FQuat InRotation) | callable | Set World Location and Rotation |
void SetWorldRotation(FQuat Value) | callable | Set World Rotation |
UDreamTweener* SizeDeltaTo(FVector2D endValue, float duration, float delay, EDreamTweenEase ease) | callable | Size Delta To |
bool SupportsKeyboardFocus() | pure | UMG's SupportsKeyboardFocus: the same answer as GetIsFocusable, under the name UMG uses. |
bool TrySetParent(UDreamWidget* InParent, bool InKeepWorldPosition, int32 InSiblingIndex) | callable | Same operation as SetParent, but reports capacity/cycle rejection to the caller. |
UDreamTweener* VerticalAnchoredPositionTo(float endValue, float duration, float delay, EDreamTweenEase ease) | callable | Vertical Anchored Position To |
UDreamTweener* WidthTo(float endValue, float duration, float delay, EDreamTweenEase ease) | callable | Width To |
UDreamTweener* WorldPositionTo(FVector endValue, float duration, float delay, EDreamTweenEase ease) | callable | World Position To |
UDreamTweener* WorldPositionXTo(double endValue, float duration, float delay, EDreamTweenEase ease) | callable | World Position X To |
UDreamTweener* WorldPositionYTo(double endValue, float duration, float delay, EDreamTweenEase ease) | callable | World Position Y To |
UDreamTweener* WorldPositionZTo(double endValue, float duration, float delay, EDreamTweenEase ease) | callable | World Position Z To |
UDreamTweener* WorldRotationQuaternionTo(FQuat endValue, float duration, float delay, EDreamTweenEase ease) | callable | Rotate absolute quaternion rotation value |
UDreamTweener* WorldRotatorTo(FRotator endValue, bool shortestPath, float duration, float delay, EDreamTweenEase ease) | callable | Rotate absolute rotator value |
Events
| Event | Signature | Description |
|---|---|---|
OnVisibilityChanged | void DreamWidgetVisibilityChangedEvent__DelegateSignature(EDreamWidgetVisibility Visibility) | |
OnFocusReceived | void DreamWidgetFocusEvent__DelegateSignature(int32 UserIndex, int32 PointerId) | Public, the way UMG's are: a delegate a Blueprint can bind is one C++ should be able to bind too, and a control that relays focus from one of its parts raises these on itself. |
OnFocusLost | void DreamWidgetFocusEvent__DelegateSignature(int32 UserIndex, int32 PointerId) |
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.
| UMG | Member | Status | Here | Note |
|---|---|---|---|---|
UWidget | Slot | map | PanelSlot | One UDreamPanelSlot class for every panel instead of a slot class per panel, so there is nothing to cast. GetPanelSlot / CreateNewPanelSlot / HasPanelSlots are the verbs. |
UWidget | ToolTipText | adopt | ToolTipText | Drawn by UDreamUITooltipSubsystem, which resolves the nearest ancestor offering text or a tooltip widget. |
UWidget | ToolTipWidget | map | ToolTipWidgetClass | A CLASS, not an instance: the tooltip service instantiates its content when the bubble appears and destroys it when the bubble goes, so nothing is kept alive per host for a bubble shown seconds at a time. |
UWidget | RenderTransform | map | RenderTranslation | Split into RenderTranslation / RenderRotation / RenderScale / RenderTransformPivot / RenderShear, and 3D rather than UMG's FWidgetTransform, because the authored transform it mirrors is FVector/FQuat/FVector. RenderShear is stored apart from the other three and is NOT part of HasRenderTransform: those three compose into an FTransform and a shear cannot survive that trip, so it is applied on the matrix path instead. |
UWidget | RenderTransformPivot | adopt | RenderTransformPivot | Normalized in the widget's own rect with (0,0) at bottom-left, matching AnchorData.Pivot rather than UMG's top-left origin. |
UWidget | FlowDirectionPreference | adopt | FlowDirectionPreference | EDreamFlowDirectionPreference mirrors EFlowDirectionPreference value for value. GetResolvedFlowDirection is the resolved answer; a tree that states nothing reads left to right, because DreamGUI never joins Slate's paint pass and so cannot read GSlateFlowDirection meaningfully. |
UWidget | bIsEnabled | adopt | bIsEnabled | AND-ed into the existing three-valued Interactable cascade, so GetInteractableInHierarchy -- which input, navigation and every control's disabled look already read -- is the single answer. A disabled ancestor outranks a descendant pinned Interactable=Enabled. GetIsEnabledInHierarchy is the cascaded query. |
UWidget | bOverrideAccessibleDefaults | reject | There is no Slate accessible-widget layer here to take defaults FROM: a DreamGUI widget is a mesh, not an SWidget, so accessibility is the AccessibleBehavior/AccessibleText pair on the widget itself and there is nothing for an override flag to switch between. | |
UWidget | bCanChildrenBeAccessible | reject | Same reason: no accessible widget tree is built, so there is no child accessibility to suppress. AccessibleBehavior=NotAccessible is the per-widget answer. | |
UWidget | AccessibleBehavior | adopt | AccessibleBehavior | EDreamAccessibleBehavior mirrors ESlateAccessibleBehavior's Auto/NotAccessible/Summary/Custom. |
UWidget | AccessibleSummaryBehavior | map | AccessibleBehavior | One behaviour covers both texts here rather than two: AccessibleBehavior=Summary announces AccessibleSummaryText, Custom announces AccessibleText. |
UWidget | AccessibleText | adopt | AccessibleText | |
UWidget | AccessibleSummaryText | adopt | AccessibleSummaryText | |
UWidget | bIsVolatile | reject | Volatility is a Slate invalidation-panel concept -- 'do not cache this widget's draw elements'. DreamGUI rebuilds draw calls from its own dirty flags and has no cached element list to opt out of. | |
UWidget | Cursor | adopt | Cursor | Resolved per frame by DreamPointerPolicy::ResolveCursor over the hover stack, innermost first; EMouseCursor::Default means 'no opinion', which is why there is no separate bOverride_Cursor. |
UWidget | Clipping | adopt | Clipping | EDreamWidgetClipping mirrors EWidgetClipping; ClippingCornerRadius and ClippingMargin are extra. |
UWidget | Visibility | adopt | Visibility | EDreamWidgetVisibility maps ESlateVisibility one for one (Visible/Hidden/Collapsed/HitTestInvisible/SelfHitTestInvisible). Hit testing is additionally gated by Raycastable, which has no UMG counterpart, and by WidgetActive, which is the behaviour lifecycle switch. |
UWidget | PixelSnapping | adopt | PixelSnapping | The engine's own EWidgetPixelSnapping type. |
UWidget | RenderOpacity | adopt | RenderOpacity | Inherited down the tree here; GetFinalRenderOpacity is the accumulated answer. |
UWidget | Navigation | map | GetOrCreateNavigation | The per-direction rules live on a UDreamWidgetNavigation behaviour, as UMG hangs them off a UWidgetNavigation object. GetNavigation reads it, GetOrCreateNavigation makes one. |
UWidget | SetRenderTransform | map | SetRenderTranslation | Four channel setters instead of one FWidgetTransform: SetRenderTranslation, SetRenderRotation, SetRenderScale, SetRenderTransformPivot, plus ClearRenderTransform to put them all back. |
UWidget | SetRenderScale | adopt | SetRenderScale | Takes an FVector, not an FVector2D: this framework's widgets are 3D and world-space canvases exist. |
UWidget | SetRenderShear | adopt | SetRenderShear | Rides the matrix path that a perspective scope already uses, because a perspective remap IS a shear and the vertex transform had to grow that branch for it. An unsheared tree still takes the FTransform branch, byte for byte. Two differences from UMG, both noted on the property: layout never sees it, and HIT TESTING DOES NOT FOLLOW -- the raycaster switches to the matrix only inside a perspective scope, so a sheared widget is clicked on its un-slanted rect. |
UWidget | SetRenderTransformAngle | adopt | SetRenderTransformAngle | Writes the Roll channel of RenderRotation -- depth runs along local X here, so roll is the rotation that keeps a widget flat against the canvas. Pitch and yaw are left alone. |
UWidget | GetRenderTransformAngle | adopt | GetRenderTransformAngle | |
UWidget | SetRenderTranslation | adopt | SetRenderTranslation | Takes an FVector. Negative X brings a widget toward the viewer. |
UWidget | SetRenderTransformPivot | adopt | SetRenderTransformPivot | |
UWidget | GetIsEnabled | adopt | GetIsEnabled | This widget's own switch; GetIsEnabledInHierarchy is the cascaded answer. |
UWidget | SetIsEnabled | adopt | SetIsEnabled | Virtual, as UMG's is. Cascades through GetInteractableInHierarchy, which is what input, navigation and the controls' disabled look already read. |
UWidget | IsInViewport | adopt | IsInViewport | Walks up to the nearest tracked page, because the caller is usually a widget several levels inside one. |
UWidget | SetToolTipText | adopt | SetToolTipText | |
UWidget | SetToolTip | map | SetToolTipWidgetClass | By class rather than by instance; see the ToolTipWidget row. |
UWidget | SetCursor | adopt | SetCursor | |
UWidget | ResetCursor | adopt | ResetCursor | Back to EMouseCursor::Default, which here means 'no opinion' rather than 'force the arrow'. |
UWidget | IsRendered | adopt | IsRendered | Visible AND contributing colour: a subtree faded to zero opacity is visible but not rendered. |
UWidget | IsVisible | adopt | IsVisible | The hierarchy is folded in, unlike UMG's, which asks only the widget itself. The cascaded answer is the one already cached and the one callers mean by 'on screen'. |
UWidget | GetVisibility | adopt | GetVisibility | |
UWidget | SetVisibility | adopt | SetVisibility | |
UWidget | GetRenderOpacity | adopt | GetRenderOpacity | GetFinalRenderOpacity is the same value with ancestors folded in. |
UWidget | SetRenderOpacity | adopt | SetRenderOpacity | |
UWidget | GetClipping | adopt | GetClipping | |
UWidget | SetClipping | adopt | SetClipping | |
UWidget | ForceVolatile | reject | See bIsVolatile: there is no cached Slate element list to opt a widget out of. | |
UWidget | IsHovered | adopt | IsHovered | True for the widget under the pointer and for every ancestor it entered through, which is what Slate's hover propagation gives UMG for free. Asked of the owning player's event system. |
UWidget | HasKeyboardFocus | adopt | HasKeyboardFocus | Moved down from UDreamUserWidget so any widget can answer it. Uses the owning player's index rather than player zero. |
UWidget | SupportsKeyboardFocus | adopt | SupportsKeyboardFocus | The same answer as GetIsFocusable, under UMG's name. |
UWidget | HasMouseCapture | adopt | HasMouseCapture | There is no capture object here; a pointer still holding its button down on this widget is what capture means to a caller -- its drags and its release come here regardless of what it moves over. |
UWidget | HasMouseCaptureByUser | adopt | HasMouseCaptureByUser | Pointer index -1 means any of that player's pointers, as in UMG. |
UWidget | SetKeyboardFocus | adopt | SetKeyboardFocus | Returns bool rather than UMG's void -- the pre-existing signature in this framework, kept. |
UWidget | HasUserFocus | adopt | HasUserFocus | |
UWidget | HasAnyUserFocus | adopt | HasAnyUserFocus | Asks every local player's event system. |
UWidget | HasFocusedDescendants | adopt | HasFocusedDescendants | Strictly descendants, as in UMG. |
UWidget | HasUserFocusedDescendants | adopt | HasUserFocusedDescendants | |
UWidget | SetFocus | adopt | SetFocus | Pre-existing, with UserIndex and PointerId defaulted, so a Blueprint calls it with no arguments as in UMG. Returns false when the widget cannot take focus. |
UWidget | SetUserFocus | adopt | SetUserFocus | Returns bool rather than void, matching SetFocus in this framework. |
UWidget | ForceLayoutPrepass | adopt | ForceLayoutPrepass | The widget's own face on what UDreamUIBPLibrary::ForceLayoutPrepass already did. |
UWidget | InvalidateLayoutAndVolatility | adopt | InvalidateLayoutAndVolatility | The layout half only; the volatility half is rejected for the reason on bIsVolatile. |
UWidget | GetDesiredSize | adopt | GetDesiredSize | Answered by the parent panel, because measuring is a conversation between a container and its child. A widget with no measuring parent reports the size it has. |
UWidget | SetAllNavigationRules | map | UDreamWidgetNavigation::SetAllNavigationRules | Reach the component with UDreamWidget::GetOrCreateNavigation. |
UWidget | SetNavigationRuleBase | map | UDreamWidgetNavigation::SetRule | |
UWidget | SetNavigationRuleExplicit | map | UDreamWidgetNavigation::SetExplicitTarget | Null clears the direction back to Escape. |
UWidget | SetNavigationRuleCustom | map | UDreamWidgetNavigation::SetCustomDelegate | |
UWidget | SetNavigationRuleCustomBoundary | map | UDreamWidgetNavigation::SetNavigationRuleCustomBoundary | EDreamUINavigationRule::CustomBoundary, added at the END of the enum so no serialized value moved. The scan runs first and the delegate is asked only when it found nothing in that direction -- which is what 'the move left the area' means here. Distinct from Custom, which is asked for every move and so has to answer the ordinary steps too. |
UWidget | GetParent | adopt | GetParent | Returns a UDreamWidget: any widget can take children here, so there is no separate panel class to return. |
UWidget | RemoveFromParent | adopt | RemoveFromParent | Leaves the widget alive and parked, and frees its screen-page name if it had one. |
UWidget | GetCachedGeometry | map | UDreamUIWidgetGeometryLibrary::GetWidgetGeometry | FDreamUIWidgetGeometry stands in for FGeometry. There is one geometry rather than three, because there is no deferred paint pass to lag behind the tick -- see the GetTickSpaceGeometry and GetPaintSpaceGeometry rows. |
UWidget | GetTickSpaceGeometry | map | UDreamUIWidgetGeometryLibrary::GetWidgetGeometry | Same value as GetCachedGeometry: DreamGUI arranges and draws in one pass, so tick space and paint space cannot disagree. |
UWidget | GetPaintSpaceGeometry | map | UDreamUIWidgetGeometryLibrary::GetWidgetGeometry | Same value as GetCachedGeometry, for the same reason. |
UWidget | K2_AddFieldValueChangedDelegate | map | UDreamUserWidget::K2_AddFieldValueChangedDelegate | Field notification is implemented by UDreamUserWidget, which is what a Blueprint author subclasses; a bare UDreamWidget has no compiled field list to notify about. |
UWidget | K2_RemoveFieldValueChangedDelegate | map | UDreamUserWidget::K2_RemoveFieldValueChangedDelegate | |
UWidget | K2_BroadcastFieldValueChanged | map | UDreamUserWidget::K2_BroadcastFieldValueChanged | BlueprintInternalUseOnly, as UMG marks it: the node an author uses is the one a field-notify property generates, not this by-name call. Same two guards as the add and the remove -- an id naming no field on this class is an authoring mistake, not a broadcast to nobody. |
UWidget | GetGameInstance | adopt | GetGameInstance | |
UWidget | GetOwningPlayer | adopt | GetOwningPlayer | Virtual on UDreamWidget; UDreamUserWidget overrides it to check an explicitly set controller first. |
UWidget | GetOwningLocalPlayer | adopt | GetOwningLocalPlayer | |
UWidget | GetAccessibleText | adopt | GetAccessibleText | |
UWidget | GetAccessibleSummaryText | adopt | GetAccessibleSummaryText |