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

#ROBOMERGE-OWNER: phillip.kavan
#ROBOMERGE-AUTHOR: phillip.kavan
#ROBOMERGE-SOURCE: CL 16623084 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v831-16623017)
#ROBOMERGE-CONFLICT from-shelf

[CL 16623246 by phillip kavan in ue5-release-engine-test branch]
This commit is contained in:
phillip kavan
2021-06-10 10:40:50 -04:00
parent ccf76ef606
commit 1b6914ca4b
70 changed files with 313 additions and 79 deletions

View File

@@ -57,13 +57,18 @@ enum class EClassViewerNameTypeToDisplay : uint8
* Settings for the Class Viewer set by the programmer before spawning an instance of the widget. This
* is used to modify the class viewer's behavior in various ways, such as filtering in or out specific classes.
*/
PRAGMA_DISABLE_DEPRECATION_WARNINGS
class FClassViewerInitializationOptions
{
public:
/** The filter to use on classes in this instance. */
/** [Deprecated] The filter to use on classes in this instance. */
UE_DEPRECATED(5.0, "Please add to the ClassFilters array member instead.")
TSharedPtr<class IClassViewerFilter> ClassFilter;
/** The filter(s) to use on classes in this instance. */
TArray<TSharedRef<class IClassViewerFilter>> ClassFilters;
/** Mode to operate in */
EClassViewerMode::Type Mode;
@@ -146,6 +151,7 @@ public:
{
}
};
PRAGMA_ENABLE_DEPRECATION_WARNINGS
/**
* Class Viewer module