Commit Graph

238 Commits

Author SHA1 Message Date
marc audy
20303348c4 Remove (the never should have been exposed) direct access to the private PropertyNode via the PropertyHandle
[CL 25458606 by marc audy in ue5-main branch]
2023-05-12 16:01:47 -04:00
jamie dale
1219471e56 Added support for overriding enum value display names on a per-property basis
This can be specified by the EnumValueDisplayNameOverrides meta-data, and is a semi-colon separated list of Name=DisplayName pairs where the DisplayName can be a raw string or a NS/LOCTEXT style localized value.

#preflight 64525920d863ba2621179ac2
#rb Rex.Hill

[CL 25323006 by jamie dale in ue5-main branch]
2023-05-03 15:27:50 -04:00
tom noonan
3a2ffb4b70 Fix for instances of verse classes inserted into an array through the editor not getting correctly initialized. Very similar to the 'add element' fix made in CL21322034
[REVIEW] [at]michael.nicolella
#preflight 645235150722d4f6a2d6d2b2

[CL 25319276 by tom noonan in ue5-main branch]
2023-05-03 12:48:31 -04:00
mikko mononen
03afbfd05a Improved standalone structure property node handling
- Added IStructureProvider which allows to edit multiple instances of structs at a time
- Improved default value handling in standalone structure nodes
- Fixed bug where expanded nodes did not retain their expansion state when structure nodes were rebuild (e.g. when editing a component)
- Removed caching from Instanced struct customization

#jira UE-172047
#rb Jamie.Dale, Adrien.Logut
#preflight 644a48360f12404fb77173f6

[CL 25214019 by mikko mononen in ue5-main branch]
2023-04-27 10:06:33 -04:00
Steve Robb
16ca60f6ed Fixed duplicates being wrongly reported when adding elements to map or set properties in the editor, where the key type is a UClass* key and the class name is a subset of a name which already exists as a key.
#rb tim.smith
#jira UE-181605
#preflight 64243247a86ae7cbcc25ac66

[CL 24834996 by Steve Robb in ue5-main branch]
2023-03-29 09:38:15 -04:00
Steve Robb
9f15ca9d25 Moved FScriptSetHelper::HasElement() to editor.
#rb robert.manuszewski
#jira none
#preflight 64242845973e6096707dad75

[CL 24834160 by Steve Robb in ue5-main branch]
2023-03-29 08:04:19 -04:00
Steve Robb
fd11bd4dba Moved FScriptMapHelper::HasKey() to editor.
#rb robert.manuszewski
#jira none
#preflight 641db48f7a393e211a01d490

[CL 24800838 by Steve Robb in ue5-main branch]
2023-03-27 07:06:38 -04:00
joe pribele
a7673567fe change to FObjectPropertyBase ParseObjectPropertyValue and FindImportedObject to take in a TObjectPtr<UObject> instead of UObject
added `SetObjectPtrPropertyValue(void* PropertyValueAddress, TObjectPtr<UObject> Value)`

this allows objects to be imported from text without resolving the object
#preflight 640900fa8832f48a4dc62ee4

[CL 24567650 by joe pribele in ue5-main branch]
2023-03-08 16:56:59 -05:00
marcus wassmer
8f4f8a3c66 Submitting for Dan O'Conner
Add the ability to add customizations via property handle that disable object instancing logic associated with CPF_InstancedReference
[REVIEW] [at]marcus.wassmer
#rb jp.flouret,marcus.wassmer,dan.oconner
#preflight 6401477c1d304a54717d2953

#localization none
#tests all relevant operations on array and non-array editable versedevices in the details panel
#preferred_allowlister marcus.wassmer

[CL 24494803 by marcus wassmer in ue5-main branch]
2023-03-02 21:57:17 -05:00
mikko mononen
b6c4bd6a3c PropertyNode: Change OnRebuildChildren to an event.
This fixes nodes not rebuilding when there are multiple listeners.
E.g. FDetailArrayBuilder generating a row that contains instanced object property. Previously changing the object instance would "freeze" the array builder.

#rb Sebastian.Nordgren
#preflight 63e4b920902d6ba787efe0e6

[CL 24094515 by mikko mononen in ue5-main branch]
2023-02-09 05:28:05 -05:00
robert manuszewski
f88a8276f7 Temporarily disabling the use of property setters and getters in property panels
[FYI] Sebastian.Nordgren
#preflight none
#rb none

[CL 23868875 by robert manuszewski in ue5-main branch]
2023-01-26 11:08:17 -05:00
robert manuszewski
3be23de4e0 Fixing a crash when selecting multiple actors in the editor
#rb trivial
#preflight none

[CL 23848140 by robert manuszewski in ue5-main branch]
2023-01-25 10:21:44 -05:00
robert manuszewski
2b1d313ae6 Property panels will now properly use C++ setters and getters
#rb Sebastian.Nordgren
#preflight 63d0d175be435f17b4b4e545

[CL 23845269 by robert manuszewski in ue5-main branch]
2023-01-25 04:08:38 -05:00
sebastian nordgren
f440a95f20 IPropertyHandle::GetMetaData and related functions (GetBoolMetaData, etc.) now always check the instance metadata as well. This is what you would expect to happen when calling SetInstanceMetaData, but was only being applied selectively by certain widgets.
Added IPropertyHandle::GetDoubleMetaData().

Reported on UDN.

#rb lauren.barnes
#preflight 6373878332484253052694ab

[CL 23134410 by sebastian nordgren in ue5-main branch]
2022-11-15 07:58:57 -05:00
bob tellez
b5b16dfb3e [Backout] - CL22508713
[FYI] Nick.Darnell
Original CL Desc
-----------------------------------------------------------------
Editor - When reading ObjectPropertyNodes, treat them as TObjectPtrs so that we can keep them unloaded in a latent loaded situations.

[REVIEW] [at]Zousar.Shaker, [at]Joe.Pribele

[CL 22536361 by bob tellez in ue5-main branch]
2022-10-14 17:56:51 -04:00
michael galetzka
9878dec2a1 Fixed a bug where duplicating or deleting array elements in the property editor could cause a crash
#rb lauren.barnes
#preflight 634820bdf622f6c4bbc508f7

[CL 22536216 by michael galetzka in ue5-main branch]
2022-10-14 17:53:53 -04:00
nick darnell
bb1b038038 Editor - When reading ObjectPropertyNodes, treat them as TObjectPtrs so that we can keep them unloaded in a latent loaded situations.
[REVIEW] [at]Zousar.Shaker, [at]Joe.Pribele

[CL 22534564 by nick darnell in ue5-main branch]
2022-10-14 17:03:50 -04:00
jared therriault
5dbfe987c2 Property Editor:
-Fix assert resolving null to shared ref with vector properties

#jira UE-163209

#rb Jason.Walter
#rb Jamie.Dale

#preflight https://horde.devtools.epicgames.com/job/63191b2fd135b61bc5d99437

[CL 22240335 by jared therriault in ue5-main branch]
2022-09-28 22:17:58 -04:00
rob gay
c23e7530ae Swap set property functional iterator to GetElement to for API conformity
#rb ryan.mangin
#rnx
#jira none
#preflight 631fad09f7369c49efdf9fae

[CL 21985205 by rob gay in ue5-main branch]
2022-09-13 12:30:33 -04:00
rob gay
3f94473cc9 ModulationDestinations Upgrade
- Support sets of input modulators
- Support union of modulation heirarchy
#rb alfaroh.corney
#jira UE-163157
#preflight 63191cc3ec45fbf3d708437c

[CL 21892756 by rob gay in ue5-main branch]
2022-09-08 09:18:28 -04:00
Robert Millar
d8015b2802 FNames containing asset paths are deprecated. FSoftObjectPath or FTopLevelAssetPath should be used instead.
Fixups for property editors.

#jira UE-161932
#rb phillip.kavan
#fyi sebastien.nordgen
#preflight 6317cfcbd135b61bc58d4d71

[CL 21833804 by Robert Millar in ue5-main branch]
2022-09-06 19:06:54 -04:00
jordan hoffmann
7e1f00cbeb [BugFix] The class settings in the blueprint diff tool are missing the implemented interfaces
Because the interfaces settings in blueprints use IDetailCustomization to create custom widgets in the details panel, This bugfix required implementing the neccesary infrustructure to attribute properties to the custom widgets so they can be diffed and highlighted.
#jira UE-153238
#preflight 63124236da1671f997cf88f0

[CL 21825924 by jordan hoffmann in ue5-main branch]
2022-09-06 14:54:43 -04:00
michael nicolella
126a427d64 Fix an editor issue where expanding a container of non-nullable objects would append a null element, now we create a new object to assign to the new element
#preflight 62f3c7a33b773d0416769fa2

#ROBOMERGE-AUTHOR: michael.nicolella
#ROBOMERGE-SOURCE: CL 21322034 via CL 21322055 via CL 21322073 via CL 21322094
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21325746 by michael nicolella in ue5-main branch]
2022-08-10 16:58:12 -04:00
Mateo Egey
ca5186f3a6 Added a set of OnPropertyValueChanged delegates for property handles that include the propertychanged event.
This is particularly useful for details panel external structures/objects, as these don't have the "PostEditChange" calls bubble up to the actual owning object.
This enables us to detect whether an interactive change or a direct set change has taken place on an external property, so we can manually call NotifyPostChange with the correct data

#jira none
#rb vincent.gauthier
#preflight skip

[CL 21200722 by Mateo Egey in ue5-main branch]
2022-07-21 10:29:38 -04:00
nick darnell
3ee1f37df2 Editor - FStructurePropertyNode::InitChildNodes() initialized the child nodes of a struct, in the proper order, with the proper visibility...etc. But then some subsiquent code after the InitNode(...) code would run for a structure in FPropertyHandleBase::AddChildStructure, we'd re-iterate the properties of the struct adding them in, but no in the proper order that was already determined in initChildNodes. So, was messing up any kind of DisplayPriority/DisplayAfter rules for a struct.
[REVIEW] [at]Sebastian.Nordgren, [at]Marc.Audy, [at]Matt.Kuhlenschmidt

#ROBOMERGE-AUTHOR: nick.darnell
#ROBOMERGE-SOURCE: CL 21057816 via CL 21057823 via CL 21057824
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21078128 by nick darnell in ue5-main branch]
2022-07-13 15:33:45 -04:00