// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "Blueprint/UserWidgetBlueprint.h" #include "BaseWidgetBlueprint.generated.h" UCLASS(Abstract, MinimalAPI) class UBaseWidgetBlueprint : public UUserWidgetBlueprint { GENERATED_UCLASS_BODY() public: #if WITH_EDITORONLY_DATA /** A tree of the widget templates to be created */ UPROPERTY() TObjectPtr WidgetTree; #endif UNREALED_API virtual void PostLoad() override; /** * Returns collection of widgets that represent the 'source' (user edited) widgets for this * blueprint - avoids calling virtual functions on instances and is therefore safe to use * throughout compilation. */ UNREALED_API TArray GetAllSourceWidgets(); UNREALED_API TArray GetAllSourceWidgets() const; /** Identical to GetAllSourceWidgets, but as an algorithm */ UNREALED_API void ForEachSourceWidget(TFunctionRef Fn); UNREALED_API void ForEachSourceWidget(TFunctionRef Fn) const; private: void ForEachSourceWidgetImpl(TFunctionRef Fn) const; };