Add's support for `[at]editable` on optionals:
`FOptionalProperty` changes:
- Added custom `__INIT__` logic for `FOptionalProperty::ExportText` which previously could output no text as the optional value was initialized but returned an empty string as its export text (ie: empty arrays, maps, sets, etc). This caused the future text imports to be incorrect.
`FPropertyNode` changes:
- Added `OptionalValueNode` as private member similar in idea to existing `PropertyKeyNode`. It stores the generated `FPropertyNode` for a FOptionalValue's Value when it is set.
- Added helper function `GetOrCreateOptionalValueNode` which either returns the existing `OptionalValueNode` OR creates one if appropriate.
- Note: This is where we bind a lambda to our Optional's Value FPropertyNode's `RebuildChildren` event which is how we update/rebuild when needed. In places where we would update/rebuild we instead call our Value to do so instead if set and then update after that has been done via this callback.
Added new widget `SPropertyEditorOptional`
- This either:
- shows a dropdown of "Set all" or "Unset all" if we have multiple values selected
- generates the editor for whatever our set value is if we have a single value (See `GetSingleReadAddress`)
- shows a 'set value' button if we are not set
#JIRA UE-191200
#rb karen.jirak
#rb kurtis.schmidt
[CL 28253719 by jared cotton in ue5-main branch]
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]
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]
- Edigrate 19149766 from Main: wp by default with disabled streaming to mimic classic level streaming with data layers as a bonus.
- Revert part of 18994482: removed option to force load everything in the editor.
- Warn the user when the world is large enough to justify enabling streaming.
#rb richard.malo
#preflight 623c57bdbe1e4104d37b6dd5
#rnx
#ROBOMERGE-OWNER: jeanfrancois.dube
#ROBOMERGE-AUTHOR: jeanfrancois.dube
#ROBOMERGE-SOURCE: CL 19494492 via CL 19495530 via CL 19501961 via CL 19501993
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v936-19480137)
[CL 19503573 by jeanfrancois dube in ue5-main branch]
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]
IsPropertyReadOnly and IsPropertyVisible removed from update args, because they were only evaluated in conjunction with a full refresh.
#review @michael.noland
#preflight 621cf1bf6e5ae46efd48a323
[CL 19174367 by sebastian nordgren in ue5-main branch]
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485
[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
Renamed FDetailFilter properties to be consistent with one another.
#review-16449481 @lauren.barnes
[CL 16468647 by sebastian nordgren in ue5-main branch]