Commit Graph

107 Commits

Author SHA1 Message Date
jaime cifuentes
6a8c54d0f8 Added structure data provider interface support to the details category builder.
#rb karen.jirak, mikko.mononen
#jira UE-199675

[CL 29860506 by jaime cifuentes in ue5-main branch]
2023-11-21 03:55:17 -05:00
charles lefebvre
e6d1258b95 Fix external objects collapsing on edit
#rb karen.jirak
#tests Tested in PIE
[FYI] jamie.dale

[CL 29847387 by charles lefebvre in ue5-main branch]
2023-11-20 14:22:17 -05:00
josh may
9c91b803c3 Added a way to define EditConditionHides behavior for FDetailPropertyRows with custom EditConditions defined.
- Added EditConditionHides interface method to IDetailPropertyRow (and corresponding implementation in FDetailPropertyRow). This serves as a counterpart for the existing EditCondition interface method exposed for defining custom edit conditions on manually created FDetailPropertyRows.

[CL 29689177 by josh may in ue5-main branch]
2023-11-13 13:28:23 -05:00
karen jirak
edb517056d Customizations that use FDetailPropertyRow::CustomWidget and set the visibility attribute do not honor it
Customizations that use the "CustomWidget" call on the FDetailPropertyRow are not being added to the tickable nodes for the details panel for the visibility to be reassessed, and the tick function is what checks and updates the visibility attribute. To fix:

* In DetailItemNode.cpp,  check to see if it has a CustomPropertyWidget for the row  and if it does, then add it to the tickable nodes

* In  FDetailPropertyRow::GetPropertyVisibility() ensure to update the visibility based on the custom widget

#jira UE-199425
#rb Brooke.Hubert

[CL 29531220 by karen jirak in ue5-main branch]
2023-11-07 15:41:40 -05:00
jaime cifuentes
85274caae6 Added single struct property support to PropertyEditor
Integrated OOM issue fix from [at]benoit.gadreau when building a single struct property

#rb karen.jirak, benoit.gadreau, mikko.mononen
#jira UE-198466, UE-198749

[CL 29274176 by jaime cifuentes in ue5-main branch]
2023-10-31 10:18:53 -04:00
jordan hoffmann
6f13ccfe68 [PerfFix] Diff algorithm was constructing widgets unintentionally when attempting to get property handles from the DetailCategoryBuilder
#rb matt.kuhlenschmidt

[CL 26615791 by jordan hoffmann in ue5-main branch]
2023-07-26 14:30:46 -04:00
George Rolfe
5e0cea2325 PropertyEditor category based copy/paste
#jira UE-154146
#jira UE-184925
#rb karen.jirak
#preflight 647165ac5152deaa101230f2

[CL 25658027 by George Rolfe in ue5-main branch]
2023-05-26 22:34:43 -04:00
lauren barnes
94e45bab42 [Backout] - CL24860754
[FYI] alex.kahn
Original CL Desc
-----------------------------------------------------------------
[Backout] - CL24859089 - CIS Compile Error part 2
[FYI] Lauren.Barnes
Original CL Desc
-----------------------------------------------------------------
Copy and paste on a details row containing an asset picker will now go through the SPropertyEditorAsset paste first.
#jira UE-181542
#preflight 6425a77450546ea33640c424
#rb Matt.Kuhlenschmidt

[CL 24871532 by lauren barnes in ue5-main branch]
2023-03-31 10:59:51 -04:00
alex kahn
93c376610c [Backout] - CL24859089 - CIS Compile Error part 2
[FYI] Lauren.Barnes
Original CL Desc
-----------------------------------------------------------------
Copy and paste on a details row containing an asset picker will now go through the SPropertyEditorAsset paste first.
#jira UE-181542
#preflight 6425a77450546ea33640c424
#rb Matt.Kuhlenschmidt

[CL 24867877 by alex kahn in ue5-main branch]
2023-03-31 02:44:06 -04:00
lauren barnes
1808b74992 Copy and paste on a details row containing an asset picker will now go through the SPropertyEditorAsset paste first.
#jira UE-181542
#preflight 6425a77450546ea33640c424
#rb Matt.Kuhlenschmidt

[CL 24867863 by lauren barnes in ue5-main branch]
2023-03-31 02:42:22 -04:00
andrew rodham
aa33e075ea Remove default value for enabled attributes on detail rows
These default to being enabled at the call-site, and having them always set in the constructor causes IPropertyTypeCustomizations to always override enabled states that are set by an owning IDetailCustomization

#rb Jamie.Dale

[CL 24173884 by andrew rodham in ue5-main branch]
2023-02-13 09:26:02 -05:00
sebastian nordgren
580749370b Reverted PR #9121, which was causing key properties with customized value editors (eg. vectors, transforms) to display incorrectly.
#jira UE-162777
#rb none
#rnx
#preflight 632040c529254beccb5b4443

[CL 21980086 by sebastian nordgren in ue5-main branch]
2022-09-13 05:01:43 -04:00
VesCodes
ed098ed102 PR #9234: Fix property display for ReadOnlyKeys (Contributed by VesCodes)
#rb sebastian.nordgren
#preflight 630c978ce54ec9d5815190e8

[CL 21823912 by VesCodes in ue5-main branch]
2022-09-06 14:06:35 -04:00
ameaninglessname
ae1f9daca4 PR #9121: Let custom row take precedence over default widget for key node (Contributed by ameaninglessname)
#rb sebastian.nordgren
#preflight 63048b720061f895d00eb85c

[CL 21503382 by ameaninglessname in ue5-main branch]
2022-08-23 04:13:48 -04:00
sebastian nordgren
07c0b0671f GetParentLayoutImpl() now returns a TSharedPtr rather than requiring an IsParentLayoutValid() call first.
IDetailsView::IsCustomRowVisible is now called using the new FDetailPropertyRow::GetRowName() method instead of having to check the type.

#review-20890541 @lauren.barnes
#preflight 62bd8a8b6d5ebc990f8ed23d
#rnx

[CL 20894976 by sebastian nordgren in ue5-main branch]
2022-06-30 10:11:58 -04:00
julien stjean
c1a47beb57 Added an apply change button to apply the change to a nanite displaced mesh asset on demand.
Like the static mesh editor the property edited in that category are not transacted but the apply is.

Some change to the property editor module where needed for this.
1- IDetailCategoryBuilder::AddAllExternalStructureProperties can now optionally output the IDetailPropertyRow interface of the properties added.
2- The non customized (and non external) children of a FDetailPropertyRow now respect the propagate to children property of the CustomResetToDefault.

#rb Graham.Wihlidal
#preflight 629eb995f73a9b013d7a7d30

#ROBOMERGE-AUTHOR: julien.stjean
#ROBOMERGE-SOURCE: CL 20537372 via CL 20537382 via CL 20537390
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v954-20466795)

[CL 20540874 by julien stjean in ue5-main branch]
2022-06-07 13:24:20 -04:00
vlad golovan
18eaee09f1 Improvements to PropertyGenerationAllowListPaths feature to hide and remove validation on properties nodes not shown. Improves editor tick time.
[REVIEW] [at]marshall.beachy, [at]jay.Nakai, [at]sebastian.nordgren
#rb sebastian.nordgren

#ROBOMERGE-AUTHOR: vlad.golovan
#ROBOMERGE-SOURCE: CL 20182570 via CL 20182589 via CL 20182597
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20184274 by vlad golovan in ue5-main branch]
2022-05-13 13:44:48 -04:00
sebastian nordgren
0933fac735 Added default value of true to IsParentEnabled in FDetailPropertyRow::GetEnabledState().
This is a pretty rare case that only occurs if you bypass OnItemNodeInitialized() by creating and adding a property row outside of a CustomizeDetails() call in a property customization. However, the use case is pretty innocuous and this seems more correct anyway, so there's not really any harm to changing the behaviour.

Reported in UDN case 00426747.

#review-19806378 @lauren.barnes
#preflight 6261522f080c66006373c9e5

[CL 19848082 by sebastian nordgren in ue5-main branch]
2022-04-21 09:11:05 -04:00
jamie dale
3f7a466324 Allow a detail customization to override "ShouldAutoExpand" on the header row
#jira
#preflight 623ce6b15c488c89d6d888fd
#rb Sebastian.Nordgren
#rnx

#ROBOMERGE-AUTHOR: jamie.dale
#ROBOMERGE-SOURCE: CL 19504038 via CL 19505115 via CL 19505728 via CL 19505787
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v937-19513599)

[CL 19514635 by jamie dale in ue5-main branch]
2022-03-25 12:35:48 -04:00
sebastian nordgren
b2dd11e5ae Fixed issues while searching details panels (most notably Project Settings) introduced by change 19171653.
Fixed crash when accessing and invalid PropertyEditor in FDetailPropertyRow.

Fixed performance issue caused by calling GetWidgetRow() on FDetailPropertyRow for every row, which caused the row's widgets to be constructed again when filtering.

Added GetCustomResetToDefault() to IDetailLayoutRow, which allows us to bypass the performance penalty of creating the WidgetRow by directly accessing the FResetToDefaultOverride of the row.

#jira UE-144131
#rb paul.chipchase
#preflight 621de59f037be0078cecb0e4
#preflight 621df0563e14f0c7e5276836

[CL 19196340 by sebastian nordgren in ue5-main branch]
2022-03-01 05:20:41 -05:00
jeanfrancois dube
9aabdf23c3 World Partition UE5 default experience:
- Added option 'DisableStreaming' in the World Partition convert commandlet to allow disabling streaming for converted maps.
- Added flag 'bEnableStreaming' for partitioned worlds that can be used to disable streaming but keep key features such as OFPA and Data Layers.
- In this mode, the streaming generation acts as standard level streaming and can be enabled at any time by the user.
- This mode is enabled by default for new partitioned maps created from the empty template or the open world template.
- The World Partition convert commandlet will now duplicate the default HLOD layers setup.
- Show a hint in the World Partition window that streaming is disabled.
- When disabling streaming from the UI, show a dialog to warn the user about the implications of the change.
- When enabling streaming for the first time, show a dialog to warn the user that the world is about to be set up for streaming.
- When saving a map, don't duplicate its HLOD setup unless it's a template map.
- Includes changes from MattK: `Allow external object details customizations to hide the root object node`.
- TODO: Convert all template maps from the Games project to use World Partiton with streaming disabled using the new 'DisableStreaming' commandlet option.

#rb patrick.enfedaque, richard.malo
#jira UE-143719
#preflight

#ROBOMERGE-AUTHOR: jeanfrancois.dube
#ROBOMERGE-SOURCE: CL 19149766 in //UE5/Release-5.0/... via CL 19150115
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19160979 by jeanfrancois dube in ue5-main branch]
2022-02-25 19:31:01 -05:00
daren cheng
26b6f4f613 Fix config hierarchy crashes due to being enabled on array entries
#jira UE-118423
#rb Vincent.Gauthier
#preflight 620ffe48ff52bfecfc012659
#lockdown JeanMichel.Dignard

#ROBOMERGE-AUTHOR: daren.cheng
#ROBOMERGE-SOURCE: CL 19081092 in //UE5/Release-5.0/... via CL 19095743
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19140390 by daren cheng in ue5-main branch]
2022-02-24 23:12:03 -05:00
vlad golovan
485406734e Engine change to allow only building the property nodes that user is going to see.
When property view widgets get reused, we are running (generate nodes) repeatedly while scrolling. Through some trial and error, I've identified that since I am only showing a fraction of the nodes I don't need to have all the nodes built; I can get away with generating the ones I will see, which improves performance from around 130 ms to 10-20ms per widget. I am adding a way to specify the properties you want to build and ignore the rest, which ultimately dramatically speeds up the PropertyView widget for the case where you are only showing a few properties from the object.


[REVIEW] [at]jay.Nakai, [at]sebastian.nordgren, [at]david.hamm

#rb sebastian.nordgren


#ROBOMERGE-OWNER: vlad.golovan
#ROBOMERGE-AUTHOR: vlad.golovan
#ROBOMERGE-SOURCE: CL 19036849 via CL 19036854 via CL 19038143 via CL 19038155 via CL 19039279
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v918-19018356)

[CL 19039995 by vlad golovan in ue5-main branch]
2022-02-17 14:54:44 -05:00
sebastian nordgren
b9803aee28 Speculative fix for crash when an invalid FPropertyNode is passed into FDetailPropertyRow, causing it to store a null IPropertyHandle pointer that is never checked for validity.
This fix always initializes it to a valid pointer, but invalid handle, which is a state that is handled correctly in FPropertyHandleBase.

#jira UE-130580
[REVIEW] [at]lauren.barnes
#preflight 61e56664a2616066f67fbfa6

#ROBOMERGE-AUTHOR: sebastian.nordgren
#ROBOMERGE-SOURCE: CL 18639655 in //UE5/Release-5.0/... via CL 18639702 via CL 18639711
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v900-18638592)

[CL 18639724 by sebastian nordgren in ue5-main branch]
2022-01-18 09:53:00 -05:00
thomas sarkanen
d884e2b6fc Fix ExtensionContent not working for FDetailWidgetRow created via IDetailPropertyRow::CustomWidget()
#jira none
#rb Sebastian.Nordgren
[FYI] Sebastian.Nordgren
#preflight 61e57650006b17a68656d278

#ROBOMERGE-AUTHOR: thomas.sarkanen
#ROBOMERGE-SOURCE: CL 18632672 in //UE5/Release-5.0/... via CL 18633038 via CL 18633049
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18637357 by thomas sarkanen in ue5-main branch]
2022-01-18 04:29:05 -05:00