Commit Graph

90 Commits

Author SHA1 Message Date
jared cotton
6d13f63c39 UE-191200 - "Add UE support for [at]editable fields of optional types"
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]
2023-09-26 18:57:13 -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
jordan hoffmann
e30fdfd316 [RegressionFix] ParentClass and ImplementedInterfaces properties aren't diffing in class settings panel
#jira UE-189412
#rb dan.oconnor

[CL 26441430 by jordan hoffmann in ue5-main branch]
2023-07-18 14:34:58 -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
Michael Galetzka
0947e3f4d0 Fixed a bug where the details view would not properly show rows with changed visibility after a tree refresh
#jira none
#rb karen.jirak
#preflight 6446934027014596f3709a8f

[CL 25230338 by Michael Galetzka in ue5-main branch]
2023-04-28 07:02:52 -04:00
ronald koppers
6f5addd262 Renamed PropertyEditorPermissionList to PropertyPermissionList.
#preflight 63fd04f5c35a14198011368b
#rb Rex.Hill

[CL 24432348 by ronald koppers in ue5-main branch]
2023-02-27 16:27:44 -05:00
HertzDonut
2156253ca1 PR #8883: Groups added in details customizations can now be formatted as though they are subcategories (Contributed by HertzDonut)
#rb sebastian.nordgren
#preflight 638db5954c3ce8ae5ddd32e5

[CL 23388067 by HertzDonut in ue5-main branch]
2022-12-05 04:36:39 -05: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
sebastian nordgren
bd6536e0bf FDetailItemNode::GetChildren() now reserves space for its children immediately.
#rb trivial
#rnx
#preflight 62fe360c0f2aefc97af47134

[CL 21440741 by sebastian nordgren in ue5-main branch]
2022-08-18 09:09:50 -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
Lauren Barnes
6248f8d412 Replacing legacy EditorStyle calls with AppStyle
#preflight 6272a74d2f6d177be3c6fdda
#rb Matt.Kuhlenschmidt

#ROBOMERGE-OWNER: Lauren.Barnes
#ROBOMERGE-AUTHOR: lauren.barnes
#ROBOMERGE-SOURCE: CL 20057269 via CL 20070159 via CL 20072035 via CL 20072203
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)
#ROBOMERGE-CONFLICT from-shelf

[CL 20105363 by Lauren Barnes in ue5-main branch]
2022-05-09 13:12:28 -04:00
jamie dale
78c3b736ff Fixed sub-categories being left visible if all their child nodes had been hidden
#jira
#preflight 623ce69e33709ff50127f1ed
#rb Sebastian.Nordgren
#rnx

#ROBOMERGE-AUTHOR: jamie.dale
#ROBOMERGE-SOURCE: CL 19504027 via CL 19505114 via CL 19505727 via CL 19505784
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v937-19513599)

[CL 19514634 by jamie dale in ue5-main branch]
2022-03-25 12:35:41 -04:00
jeanfrancois dube
86437b50f4 World Partition
- 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]
2022-03-24 18:01:12 -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
sebastian nordgren
03c8e7c243 Details view's IsPropertyReadOnly delegate is now evaluated every frame instead of only when refreshing the tree, similar to how IsPropertyVisible now works.
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]
2022-02-28 11:11:53 -05:00
sebastian nordgren
85b68fa164 Show Only Modified will now also take into account the visibility of a custom reset to default provided to FDetailWidgetRow::OverrideResetToDefault().
#jira UE-142439
#review-19050410 @daren.cheng
#preflight 621ca1396e5ae46efd3c7ae6

[CL 19171653 by sebastian nordgren in ue5-main branch]
2022-02-28 05:32:19 -05:00
sebastian nordgren
fbe733e5f5 Subcategory nodes now hide themselves if no children are visible. This was most evident with eg. EditInstanceOnly metadata set for a property while editing the CDO - the property would be hidden, but the subcategory would still be visible.
#jira UE-112640
[REVIEW] [at]lauren.barnes
#preflight 61f2b191304c93e2cba43cda

#ROBOMERGE-AUTHOR: sebastian.nordgren
#ROBOMERGE-SOURCE: CL 18753805 in //UE5/Release-5.0/... via CL 18753814 via CL 18756962
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18757283 by sebastian nordgren in ue5-main branch]
2022-01-27 14:10:26 -05:00
frank fella
93da4f3c70 Property Editor - Update the IDetailTreeNode to expose initial expansion information which can be set through customizations so that uses of the property row generator can access that data consistently.
#rb lauren.barnes

#ROBOMERGE-AUTHOR: frank.fella
#ROBOMERGE-SOURCE: CL 18423580 in //UE5/Release-5.0/... via CL 18423606
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18423632 by frank fella in ue5-release-engine-test branch]
2021-12-09 15:12:40 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
aurel cordonnier
a12d56ff31 Merge from Release-Engine-Staging @ 17791557 to Release-Engine-Test
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485

[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-12 21:21:22 -04:00
sebastian nordgren
5b669b5b87 Moved SDetailCategoryTableRow into its own file instead of hiding in DetailCategoryGroupNode.
#rb paul.chipchase
#preflight 6135cb4a4f2c7c0001e65bf4

#ROBOMERGE-AUTHOR: sebastian.nordgren
#ROBOMERGE-SOURCE: CL 17437158 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17437174 by sebastian nordgren in ue5-release-engine-test branch]
2021-09-06 05:48:26 -04:00
sebastian nordgren
427c03f8cb The IsEnabled() attribute of FDetailPropertyRows and FDetailWidgetRows is now correctly used.
#jira UE-118847
#rb lauren.barnes
#preflight 6130a707f09c6e00015db076

#ROBOMERGE-SOURCE: CL 17403168 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)

[CL 17403204 by sebastian nordgren in ue5-release-engine-test branch]
2021-09-02 10:42:32 -04:00
sebastian nordgren
394e3fcc62 Added FDetailsViewConfig to store various details view settings, using the new EditorConfig system.
Renamed FDetailFilter properties to be consistent with one another.

#review-16449481 @lauren.barnes

[CL 16468647 by sebastian nordgren in ue5-main branch]
2021-05-26 09:46:13 -04:00
aurel cordonnier
8eebe8841f Merge UE5/RET @ 16305968 to UE5/Main
This represents UE4/Main @ 16261013 and Dev-PerfTest @ 16259937

[CL 16306996 by aurel cordonnier in ue5-main branch]
2021-05-12 18:10:03 -04:00
UnrealBot
8afb476248 Branch snapshot for CL 16260158
[CL 16260158 in ue5-release-engine-staging branch]
2021-10-05 20:06:24 +00:00