Commit Graph

79 Commits

Author SHA1 Message Date
Phillip Kavan
dfa32e9708 Extends the class viewer module to support multiple custom class filters along with an optional associated view option flag.
Additional changes:
- Deprecates the previous method for specifying a singular custom class viewer filter and updates all existing occurrences of this pattern in engine code.
- Extends the property editor utilities interface to expose custom class filter(s) that can be applied to the class picker widget used for editing class property values.
- Adds an implementation of this interface to SDetailsView such that additional class filter(s) can now be configured to be applied to all underlying class property nodes.

#jira UE-108316
#rb Lauren.Barnes
#preflight 60c2102e8ae8960001110d50

[CL 16623084 by Phillip Kavan in ue5-main branch]
2021-06-10 10:31:37 -04:00
sebastian nordgren
ca7a047932 Edit conditions for properties that don't support edit condition toggles no longer checkSlow when retrieving the check state, but rather only when setting it.
CustomEditConditionValueChanged handlers are now postfixed with a call to FPropertyNode::InvalidateCachedState(), which causes the IsEditConst state to refresh.

Removed unnecessary code to access the PropertyEditor->IsEditConditionMet(), which is stored in EditConditionValue now.

#review @lauren.barnes, @patric.boutot
#jira FROST-1702

[CL 16008018 by sebastian nordgren in ue5-main branch]
2021-04-14 13:15:46 -04:00
sebastian nordgren
0aace23acf FPropertyEditorHelpers::GetMetadataOptionsKey now returns an FName. Internally, FProperty::GetMetaData deals with FName keys, so it makes sense to introduce them as early as possible.
#fyi luke.thatcher

[CL 15872334 by sebastian nordgren in ue5-main branch]
2021-03-31 04:11:32 -04:00
Luke Thatcher
199fe78b79 Add "GetKeyOptions" and "GetValueOptions" uproperty metadata to allow combobox dropdowns on TMap FString/FName key/value pairs.
This makes it possible to declare a UPROPERTY like so:

    UPROPERTY(EditAnywhere, meta = (GetKeyOptions="GetValidItemKeys"))
    TMap<FString, FString> MapOfItems;

and have the dropdown appear only on the key field.

#rb Lauren.Barnes
#fyi Vincent.Gauthier,Sebastian.Nordgren
#preflight 606229ea57aca40001ff1441

[CL 15855122 by Luke Thatcher in ue5-main branch]
2021-03-29 16:34:46 -04:00
sebastian nordgren
489b61f167 SEditConditionWidget now has a GetVisibility() instead of using a lambda, which makes it easier to see that the class controls its own visibility.
#rb paul.chipchase

#ROBOMERGE-SOURCE: CL 15386873 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15386877 by sebastian nordgren in ue5-main branch]
2021-02-11 07:59:17 -04:00
sebastian nordgren
442330ff02 Array properties now display Index[#] as their display name.
Simplified logic for how SPropertyEditorTitle creates the name textblock.

#rb lauren.barnes
#jira UETOOL-2658

[CL 15279023 by sebastian nordgren in ue5-main branch]
2021-02-02 05:20:29 -04:00
sebastian nordgren
548ca6c766 IWYU. Removed unnecessary includes of SResetToDefaultPropertyEditor.
[CL 15009203 by sebastian nordgren in ue5-main branch]
2021-01-07 05:41:03 -04:00
sebastian nordgren
125fb573d2 Fixed EditCondition showing up for every row in the property matrix, and crashing the editor if unchecked.
#rb lauren.barnes

[CL 14809458 by sebastian nordgren in ue5-main branch]
2020-11-24 09:41:05 -04:00
sebastian nordgren
e9d2587de1 Details view now shades nested property rows based on their nesting level, and displays a drop shadow to indicate hierarchy.
#fyi matt.kuhlenschmidt

[CL 14478469 by sebastian nordgren in ue5-main branch]
2020-10-13 07:05:42 -04:00
sebastian nordgren
09b15cf70d Exposed SResetToDefaultPropertyEditor publicly to allow it to be used for material slots.
#rb lauren.barnes

[CL 14444449 by sebastian nordgren in ue5-main branch]
2020-10-08 03:21:16 -04:00
sebastian nordgren
5050b88330 Details view reskin phase 1.
The details view now displays gridlines between rows, and now has 4 columns - edit condition, name, value, and reset/extensions.

Edit condition widgets are now created in SDetailSingleItemRow and are placed in their own fixed column on the left of the details view. FEditConditionParser is now in FPropertyNode rather FPropertyEditor, which allows access to it more broadly - notably in SDetailSingleItemRow.

The Reset to Default SWidget can no longer be replaced - the logic for it being visible and a handler for when it is pressed is still customizable. SPropertyEditorAsset no longer has a special slot for the reset to default widget.

All extension widgets are now placed in a resizable column on the right of the panel, including the Keyframe button.

FDetailColumnSizeData is now publicly exposed by IDetailsView, and is no longer passed around as much.

#rb matt.kuhlenschmidt

[CL 14375859 by sebastian nordgren in ue5-main branch]
2020-09-23 08:16:20 -04:00
Marc Audy
a7c9001a94 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14075166
#rb
#rnx

[CL 14075271 by Marc Audy in ue5-main branch]
2020-08-11 01:36:57 -04:00
JeanMichel Dignard
99b55fb883 Merged main @ cl 10981486
#rb none
#rnx

[CL 10985598 by JeanMichel Dignard in Dev-Tools-Staging branch]
2020-01-14 14:45:07 -05:00
Robert Manuszewski
2a28abf1ec Fixing compiling GameplayEffect Blueprint resulting in its Modifier's Attribute property to be reset (FProperty fallout)
#rb Steve.Robb
#jira UE-86578

[CL 10942138 by Robert Manuszewski in Main branch]
2020-01-10 11:49:42 -05:00
JeanMichel Dignard
70d074639f Merging //UE4/Dev-Main @ 10886849 to Dev-Tools-Staging (//UE4/Dev-Tools-Staging)
#rb none
#rnx

[CL 10906274 by JeanMichel Dignard in Dev-Tools-Staging branch]
2020-01-08 13:26:18 -05:00
jeanmichel dignard
2ce7666d2d Copying //UE4/Dev-Core [at] 10708550 to Dev-Main (//UE4/Dev-Main)
#rb none

#ROBOMERGE-OWNER: jeanmichel.dignard
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 10708666 in //UE4/Main/...
#ROBOMERGE-BOT: TOOLS (Main -> Dev-Tools-Staging) (v626-10872990)

[CL 10898071 by jeanmichel dignard in Dev-Tools-Staging branch]
2020-01-07 15:54:23 -05:00
ryan durand
627baf970a Updating copyright for Engine Editor.
#rnx
#rb none


#ROBOMERGE-SOURCE: CL 10869241 via CL 10869527 via CL 10869904
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870586 by ryan durand in Main branch]
2019-12-26 15:33:43 -05:00
Chris Gagnon
346a4b05ea Copy up from Dev-Editor @10681378
#rb none

[CL 10837446 by Chris Gagnon in Dev-Tools-Staging branch]
2019-12-19 18:07:47 -05:00
Robert Manuszewski
7b6f840f7f Copying //UE4/Dev-Core @ 10708550 to Dev-Main (//UE4/Dev-Main)
#rb none

[CL 10708666 by Robert Manuszewski in Main branch]
2019-12-13 11:07:03 -05:00
projectgheist
2020a06cfc PR #6287: More editor tooltips show property values (Contributed by projectgheist)
#rb sebastian.nordgren

[CL 9614880 by sebastian nordgren in Dev-Editor branch]
2019-10-16 06:47:12 -04:00
Chris Gagnon
2e87118a18 Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main) Interim 4.24.
#rb none

[CL 8614014 by Chris Gagnon in Main branch]
2019-09-10 11:35:20 -04:00
Max Chen
4561801a81 Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor) @7119039
#rb none

[CL 7120528 by Max Chen in Dev-Editor branch]
2019-06-21 01:21:43 -04:00
sebastian nordgren
a22345d981 Added ShouldBeVisible to PropertyEditorHelpers that contains the most common checks that are duplicated to determine visibility for details nodes.
#rb chris.gagnon

[CL 7090456 by sebastian nordgren in Dev-Editor branch]
2019-06-19 09:18:14 -04:00
bob tellez
396eacbdc1 Partial merge. Will redo SClassViewer.cpp implementation since the structure is different in UE4/Main. All other changes came over cleanly
#UE4 Added AssetReferenceFilter. An editor feature to allow projects to specify a filter to disallow editor systems to form references between certain assets. Add a listener for UUnrealEdEngine::OnMakeAssetReferenceFilter which returns a subclass of IAssetReferenceFilter that was constructed with the supplied context. PassesFilter will be called on this filter object to determine if the reference is allowed. Currently respected by asset picker, class picker, details panels, and edgraph drag/drop operations.

#jira UE-75912


#ROBOMERGE-SOURCE: CL 7046716
#ROBOMERGE-BOT: (v367-6836689)

[CL 7046768 by bob tellez in Main branch]
2019-06-17 13:36:16 -04:00
JeanMichel Dignard
0f9ad96858 Copying //UE4/Dev-Enterprise @ cl 6890376 to Dev-Main (//UE4/Dev-Main)
#lockdown nick.penwarden
#rb none

[CL 6890764 by JeanMichel Dignard in Main branch]
2019-06-07 11:22:52 -04:00