Commit Graph

1079 Commits

Author SHA1 Message Date
Max Chen
bd8dd4fbb1 UMG: When replacing a binding with new widgets, create a new binding, move the content of the old to the new rather than reuse the existing binding. This fixes issues where old possessable bindings are kept around (with their old binding names and their old possessed object classes).
#jira UE-160154
#preflight 62d9cc44185da2495f65d75c
#rb mike.zyracki

[CL 21406089 by Max Chen in ue5-main branch]
2022-08-16 11:55:33 -04:00
Jared Therriault
57deec702c Core/UMG
-Add support for struct properties to USinglePropertyView

#jira UE-156803

#rb Jason.Walter
#rb Matt.Kuhlenschmidt
#rb Lauren.Barnes

#preflight https://horde.devtools.epicgames.com/job/62f40fb4466f8c150dbca07c

[CL 21325328 by Jared Therriault in ue5-main branch]
2022-08-10 16:40:52 -04:00
UnrealBot
73409369c0 Branch snapshot for CL 21319338
[CL 21319338 in ue5-main branch]
2022-08-10 16:03:37 +00:00
bryan sefcik
98b51354ed Ran IWYU on Public headers under Engine/Source/Editor/...
Headers are updated to contain any missing #includes needed to compile and #includes are sorted.  Nothing is removed.

#ushell-cherrypick of 21065253 by bryan.sefcik
#jira
#preflight 62d5b3e91062f2e63014598e

#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21152630 via CL 21156388 via CL 21157044
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21181817 by bryan sefcik in ue5-main branch]
2022-07-20 11:56:29 -04:00
sebastian nordgren
00ef9b36b9 Added SReadOnlyHierarchyView widget to display the UWidgetTree of a UWidgetBlueprint without all of the additional features baked into UMG's SHierarchyView.
[REVIEW] [at]patrick.boutot
#rnx

#ROBOMERGE-AUTHOR: sebastian.nordgren
#ROBOMERGE-SOURCE: CL 21109549 via CL 21109553 via CL 21109567
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21111853 by sebastian nordgren in ue5-main branch]
2022-07-15 12:21:22 -04:00
ryugibo
bd8be16f7c PR #9365: Fix not display BindWidgetAnim in SBindWidgetView (Contributed by ryugibo)
#jira UE-158349
#preflight 62d012160625114b0cbbbe88

[CL 21089868 by ryugibo in ue5-main branch]
2022-07-14 09:10:31 -04:00
daren cheng
3c5b3bbcf6 Fix widgets missing when using palette filtering & crashing on drop when using generated classes.
#rb Jason.Stasik
#preflight 62ba1ec5642209972489dfca 62bce0c5b447118888a9001b

#ROBOMERGE-AUTHOR: daren.cheng
#ROBOMERGE-SOURCE: CL 20943803 via CL 21079370 via CL 21079750 via CL 21080304
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21083057 by daren cheng in ue5-main branch]
2022-07-13 18:30:24 -04:00
bryan sefcik
435d89dea4 Manually updated a few files in Engine/Source/Editor/... to include some headers that were found to be missing after running IWYU.
#preflight 62cdac5084556536d0e57c64

[CL 21058996 by bryan sefcik in ue5-main branch]
2022-07-12 13:45:01 -04:00
Robb Surridge
0a5a02c5b2 Coding standard fixes: gender-inclusive language
#jira UE-156429
#preflight 62b32e826a25ba6ae52f94bd
#rb jason.walter

[CL 20795375 by Robb Surridge in ue5-main branch]
2022-06-23 11:14:07 -04:00
patrick boutot
f02d21609b UMG: Update ButtonSlot, CanvasPanelSlot and GridSlot with accessors.
#preflight 62a1e602cf774bcd46e5e282

#ROBOMERGE-AUTHOR: patrick.boutot
#ROBOMERGE-SOURCE: CL 20646224 via CL 20646236 via CL 20646252
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20649163 by patrick boutot in ue5-main branch]
2022-06-14 11:03:37 -04:00
jordan hoffmann
490bccda39 [Feature] blueprint diff node outlines colored by diff state
#jira UE-150555
#rb aditya.ravichandran
#preflight 62a38ead2558795127e232d0

[CL 20600224 by jordan hoffmann in ue5-main branch]
2022-06-10 14:52:59 -04:00
nick darnell
f09705d808 UMG - Additional improvements to the named slot inheritance system. Named slots use to also allow you to include content as 'example' or 'seed' data whenever you dropped the widgets into a parent. That behavior was and is probably a little sketchy, I don't believe it saw much usage. However, in order to maintain backwards compatability, version bumping the introduction of the inheritance, and introudcing a field to named slots, called, bExposeOnInstanceOnly. This will be checked for any upraded named slot, effectively disabling named slot inheritance for that slot. By default this will be false, so going forward inheritance is the preferred setup methodology.
[REVIEW] [at]editor-ui-systems

#ROBOMERGE-AUTHOR: nick.darnell
#ROBOMERGE-SOURCE: CL 20541430 via CL 20541439 via CL 20541452
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v954-20466795)

[CL 20544460 by nick darnell in ue5-main branch]
2022-06-07 16:17:22 -04:00
dave jones2
691117c109 UE-154770 - Saving Widget Blueprints directly can put them in a bad state.
The fixup code for delegates only updated the pins on the result node. However, we also need to fixup the user pins. Otherwise, reallocation of pins can potentially lose the original double->float conversion. This leaves the BP in a broken state since it's linker version is up to date, but it still has pins that need a double->float conversion.

#jira UE-154770
#preflight 629f6e84f73a9b013dc031a7
#rb phillip.kavan

#ROBOMERGE-AUTHOR: dave.jones2
#ROBOMERGE-SOURCE: CL 20539465 in //UE5/Release-5.0/... via CL 20540728
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v954-20466795)

[CL 20543242 by dave jones2 in ue5-main branch]
2022-06-07 15:19:32 -04:00
patrick boutot
f88a5c2d84 UMG: Update HorizontalBoxSlot, SizeBoxSlot, UniformGridSlot, VerticalBoxSlot, WidgetSwitcherSlot, WindowTitleBarAreaSlot, WrapBoxSlot with accessors.
#preflight 6287e0ca5b568e576100c821

#ROBOMERGE-AUTHOR: patrick.boutot
#ROBOMERGE-SOURCE: CL 20490714 via CL 20490722 via CL 20490730
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v954-20466795)

[CL 20495497 by patrick boutot in ue5-main branch]
2022-06-03 19:13:42 -04:00
vincent gauthier
7312b38948 UMG Designer: Prevent crash accessing a nullptr when pasting Widget at the root of a UserWidget.
#jira UE-152527
#rb patrick.boutot
#preflight 6298d38af269bddede0a762f
#lockdown jeanmichel.dignard

#ROBOMERGE-AUTHOR: vincent.gauthier
#ROBOMERGE-SOURCE: CL 20471754 in //UE5/Release-5.0/... via CL 20472638
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v954-20466795)

[CL 20475252 by vincent gauthier in ue5-main branch]
2022-06-02 16:33:21 -04:00
nick darnell
401f1ed31d UMG - Further refining the named slot inheritance, we now extend the inheritance through multiple parent classes, and if a parent uses up a slot, then that slot becomes unavailable to subclasses to then be extended. They can also introduce new named slots along the way, so as it refines the structure, it can refine the available named slots. Also fixing being able to drag out of inherited named slots to be moved to other locations, previously was cloning the widget.
[REVIEW] [at]editor-ui-systems
#preflight 629769ba00746d43a2c3832a

#ROBOMERGE-AUTHOR: nick.darnell
#ROBOMERGE-SOURCE: CL 20452348 via CL 20452353 via CL 20452357
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v952-20449836)

[CL 20460595 by nick darnell in ue5-main branch]
2022-06-01 18:07:15 -04:00
robert manuszewski
d1443992e1 Deprecating ANY_PACKAGE.
This change consists of multiple changes:

Core:
- Deprecation of ANY_PACKAGE macro. Added ANY_PACKAGE_DEPRECATED macro which can still be used for backwards compatibility purposes (only used in CoreUObject)
- Deprecation of StaticFindObjectFast* functions that take bAnyPackage parameter
- Added UStruct::GetStructPathName function that returns FTopLevelAssetPath representing the path name (package + object FName, super quick compared to UObject::GetPathName) + wrapper UClass::GetClassPathName to make it look better when used with UClasses
- Added (Static)FindFirstObject* functions that find a first object given its Name (no Outer). These functions are used in places I consider valid to do global UObject (UClass) lookups like parsing command line parameters / checking for unique object names
- Added static UClass::TryFindType function which serves a similar purpose as FindFirstObject however it's going to throw a warning (with a callstack / maybe ensure in the future?) if short class name is provided. This function is used  in places that used to use short class names but now should have been converted to use path names to catch any potential regressions and or edge cases I missed.
- Added static UClass::TryConvertShortNameToPathName utility function
- Added static UClass::TryFixShortClassNameExportPath utility function
- Object text export paths will now also include class path (Texture2D'/Game/Textures/Grass.Grass' -> /Script/Engine.Texture2D'/Game/Textures/Grass.Grass')
- All places that manually generated object export paths for objects will now use FObjectPropertyBase::GetExportPath
- Added a new startup test that checks for short type names in UClass/FProperty MetaData values

AssetRegistry:
- Deprecated any member variables (FAssetData / FARFilter) or functions that use FNames to represent class names and replaced them with FTopLevelAssetPath
- Added new member variables and new function overloads that use FTopLevelAssetPath to represent class names
- This also applies to a few other modules' APIs to match AssetRegistry changes

Everything else:
- Updated code that used ANY_PACKAGE (depending on the use case) to use FindObject(nullptr, PathToObject), UClass::TryFindType (used when path name is expected, warns if it's a short name) or FindFirstObject (usually for finding types based on user input but there's been a few legitimate use cases not related to user input)
- Updated code that used AssetRegistry API to use FTopLevelAssetPaths and USomeClass::StaticClass()->GetClassPathName() instead of GetFName()
- Updated meta data and hardcoded FindObject(ANY_PACKAGE, "EEnumNameOrClassName") calls to use path names

#jira UE-99463
#rb many.people
[FYI] Marcus.Wassmer
#preflight 629248ec2256738f75de9b32

#codereviewnumbers 20320742, 20320791, 20320799, 20320756, 20320809, 20320830, 20320840, 20320846, 20320851, 20320863, 20320780, 20320765, 20320876, 20320786

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 20430220 via CL 20433854 via CL 20435474 via CL 20435484
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20448496 by robert manuszewski in ue5-main branch]
2022-06-01 03:46:59 -04:00
Ben Marsh
dde2879803 Fix static analyzer warnings.
#preflight 6294df46380652524edb3498

[CL 20431977 by Ben Marsh in ue5-main branch]
2022-05-30 13:34:24 -04:00
edwin maynard
1ca7c7756d Back out changelist 20397596
[FYI] Nick.Darnell


#ROBOMERGE-AUTHOR: edwin.maynard
#ROBOMERGE-SOURCE: CL 20400220 via CL 20400224 via CL 20400228
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20401296 by edwin maynard in ue5-main branch]
2022-05-27 19:31:56 -04:00
nick darnell
71f7a858ed UMG - Further refining the named slot inheritance, we now extend the inheritance through multiple parent classes, and if a parent uses up a slot, then that slot becomes unavailable to subclasses to then be extended. They cans also introduce new named slots along the way, so as it refines the structure, it can refine the available named slots.
[REVIEW] [at]ui-editor-systems

#ROBOMERGE-AUTHOR: nick.darnell
#ROBOMERGE-SOURCE: CL 20397596 via CL 20397619 via CL 20397628
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20401193 by nick darnell in ue5-main branch]
2022-05-27 19:29:50 -04:00
vincent gauthier
8827f8f266 Localization Duplicate Id fix.
#jira UE-154828
#rb trivial
#preflight trivial

#ROBOMERGE-AUTHOR: vincent.gauthier
#ROBOMERGE-SOURCE: CL 20393484 via CL 20394137 via CL 20394384
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20398637 by vincent gauthier in ue5-main branch]
2022-05-27 16:48:29 -04:00
mark lintott
5cc587db36 Fix for Static Analysis warning
#rb trivial
#jira none
#p4v-preflight-copy 20391532
#preflight 6290ca1c1f0041249bed86f8

[CL 20392186 by mark lintott in ue5-main branch]
2022-05-27 09:13:34 -04:00
nick darnell
c227e52edb UMG - Introducing named slot inheritance. This new feature allows parent classes to insert named slots into their hierarchy, and for child classes to insert content into those named slots. This in effect will give people the ability to build base class templates and then derive them to further refine the look and feel in those named slots for the widgets specific purpose. For example, you could make a message box base class widget, with a few named slots for specific specialized message boxes without having to build a new widget from scratch.
[REVIEW] [at]ui-editor-systems

#ROBOMERGE-AUTHOR: nick.darnell
#ROBOMERGE-SOURCE: CL 20383614 via CL 20384610 via CL 20384741
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20386425 by nick darnell in ue5-main branch]
2022-05-26 17:58:02 -04:00
dave jones2
2435e8a548 UE-148560 - UMG property binding fixup for real numbers doesn't always work
The fixup pass for delegates in UMG bindings had faulty logic for determining the name of a function. The "FunctionName" field on the binding may not actually reflect the true name of the function. For example, a function rename can make this field stale. This would eventually cause BP compilation errors since we didn't find the matching function graph(s) that needed fixup.

Instead, we should call GetMemberName on the final path segment. This will use a GUID for determining what the actual function name is.

#rb patrick.boutot
#preflight 6262f1fbcf17922036d8d006
#jira UE-148281

#ROBOMERGE-AUTHOR: dave.jones2
#ROBOMERGE-SOURCE: CL 20381031 in //UE5/Release-5.0/... via CL 20383028
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20385737 by dave jones2 in ue5-main branch]
2022-05-26 17:11:12 -04:00
Leon Huang
19877e39c5 Fix for duplicate localization key warnings and missing localization defines/undefines in various files.
#rnx
#rb: Vincent.Gauthier
#jira: UE-151614
#preflight: 628fc4a98c23e52ef0fdfa7d

[CL 20384450 by Leon Huang in ue5-main branch]
2022-05-26 16:11:10 -04:00