42 _CurrentClassRestriction(UArticyObject::StaticClass()),
43 _TopLevelClassRestriction(UArticyObject::StaticClass()),
45 _bExactClassEditable(
true),
46 _bClassFilterEditable(
true)
48 SLATE_EVENT(FOnAssetSelected, OnArticyObjectSelected)
49 SLATE_ARGUMENT(UClass*, CurrentClassRestriction)
50 SLATE_ATTRIBUTE(UClass*, TopLevelClassRestriction)
51 SLATE_ATTRIBUTE(
bool, bExactClass)
52 SLATE_ATTRIBUTE(
bool, bExactClassEditable)
53 SLATE_ATTRIBUTE(
bool, bClassFilterEditable)
54 SLATE_EVENT(FOnClassPicked, OnClassPicked)
73 virtual void Tick(
const FGeometry& AllottedGeometry,
const double InCurrentTime,
const float InDeltaTime)
override;
86 void SelectAsset(TWeakObjectPtr<UArticyObject> AssetItem, ESelectInfo::Type SelectInfo)
const;
92 void CreateInternalWidgets();
106 TSharedRef<SWidget> CreateClassPicker();
113 void OnExactClassCheckBoxChanged(ECheckBoxState NewState);
120 void OnClassPicked_Func(UClass* InChosenClass);
127 FText GetChosenClassName()
const;
136 TSharedRef<class ITableRow> MakeTileViewWidget(TWeakObjectPtr<UArticyObject> Entity,
const TSharedRef<STableViewBase>& OwnerTable)
const;
143 float GetTileViewHeight()
const;
150 float GetTileViewWidth()
const;
155 void OnClear()
const;
162 void OnSearchBoxChanged(
const FText& InSearchText)
const;
170 void OnSearchBoxCommitted(
const FText& InSearchText, ETextCommit::Type CommitInfo)
const;
175 void RefreshSourceItems();
182 void SetSearchBoxText(
const FText& InSearchText)
const;
187 void OnFrontendFiltersChanged();
195 bool TestAgainstFrontendFilters(
const FAssetData& Item)
const;
204 EActiveTimerReturnType FocusSearchField(
double InCurrentTime,
float InDeltaTime)
const;
207 FOnAssetSelected OnAssetSelected;
208 FOnClassPicked OnClassPicked;
209 TAttribute<UClass*> TopLevelClassRestriction;
210 UClass* CurrentClassRestriction =
nullptr;
211 TAttribute<bool> bExactClass;
212 TAttribute<bool> bExactClassEditable;
213 TAttribute<bool> bClassFilterEditable;
216 TSharedPtr<SAssetSearchBox> SearchField;
217 TSharedPtr<SWidget> AssetViewContainer;
218 TSharedPtr<SListView<TWeakObjectPtr<UArticyObject>>> AssetView;
219 TSharedPtr<SHorizontalBox> FilterBox;
220 TSharedPtr<SComboButton> ClassFilterButton;
223 TSharedPtr<FArticyObjectFilterCollectionType> FrontendFilters;
224 TSharedPtr<FArticyClassRestrictionFilter> ClassFilter;
225 TSharedPtr<FFrontendFilter_ArticyObject> ArticyObjectFilter;
227 TArray<FAssetData> ArticyPackageDataAssets;
228 TArray<TWeakObjectPtr<UArticyObject>> FilteredObjects;
229 bool bSlowFullListRefreshRequested =
false;
virtual void Tick(const FGeometry &AllottedGeometry, const double InCurrentTime, const float InDeltaTime) override
Ticks the widget for updates.
Definition SArticyObjectAssetPicker.cpp:117
void SelectAsset(TWeakObjectPtr< UArticyObject > AssetItem, ESelectInfo::Type SelectInfo) const
Selects an asset in the asset picker.
Definition SArticyObjectAssetPicker.cpp:471