Navigation
API > API/Plugins > API/Plugins/TedsTableViewer
A Basic TEDS Filter Bar widget, which can be used to filter items of type FTedsRowHandle given a list of custom filters
NOTE: The filter functions create copies, so you want to use a reference or pointer as the template type when possible Sample Usage: SAssignNew(MyFilterBar, STedsFilterBar) .InFilterableRowNode(QueryStack) .OutFilteredNode(&MyOutNode) .Filters(MyCustomFilters) // An array of filters available to this FilterBar
Use MakeAddFilterButton() to make the button that summons the dropdown showing all the filters
| Name | STedsFilterBar |
| Type | class |
| Header File | /Engine/Plugins/Experimental/EditorDataStorageFeatures/Source/TedsTableViewer/Public/Widgets/STedsFilterBar.h |
| Include Path | #include "Widgets/STedsFilterBar.h" |
Syntax
class STedsFilterBar : public SBasicFilterBar< FTedsRowHandle & >
Inheritance Hierarchy
- FSharedFromThisBase → TSharedFromThis → SWidget → SCompoundWidget → SBasicFilterBar → STedsFilterBar
- FSlateControlledConstruction → SWidget → SCompoundWidget → SBasicFilterBar → STedsFilterBar
Structs
| Name | Remarks |
|---|---|
| FArguments |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FOnFilterChanged | typename SBasicFilterBar< FTedsRowHandle & >::FOnFilterChanged | Widgets/STedsFilterBar.h | |
| FOnPostFiltersChanged | TBaseDelegate_NoParams< void > | Widgets/STedsFilterBar.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bMarkDirty | bool | Responsible for seeing if a filter was added or removed so multiple recompiles aren't performed every frame. | Widgets/STedsFilterBar.h | |
| ClassFilterNodes | TArray< TSharedPtr< QueryStack::IRowNode > > | Array to store all filter nodes created from the active class filters. | Widgets/STedsFilterBar.h | |
| ClassFilters | TMap< FName, Queries::TConstQueryFunction< bool > > | External query functions used to filter by class, these are the only filters that use OR instead of AND. | Widgets/STedsFilterBar.h | |
| CombinedClassFilterRowNode | TSharedPtr< QueryStack::IRowNode > | The query stack node responsible for combining class filters - utilizes the unique merge approach (OR) | Widgets/STedsFilterBar.h | |
| CombinedQueryFilterRowNode | TSharedPtr< QueryStack::IRowNode > | The query stack node responsible for combining query filters - utilizes the repeated merge approach (AND) | Widgets/STedsFilterBar.h | |
| CombinedRowCollectorNode | TSharedPtr< QueryStack::IRowNode > | The query stack node responsible for collecting all rows that match the composite query on FullRefresh() | Widgets/STedsFilterBar.h | |
| CommonSectionFilters | TArray< FName > | Array of Filter FNames used to populate the 'common filters' section that filters can have a duplicate entry placed at the top of the add filter menu | Widgets/STedsFilterBar.h | |
| CompositeFilterNode | TSharedPtr< QueryStack::IRowNode > | The Node responsible for compositing the final node to be given to the OutFilteredNode. | Widgets/STedsFilterBar.h | |
| ExternalQueries | TMap< FName, TSharedPtr< QueryStack::IQueryNode > > | External query descriptions that are currently active (e.g Filters) | Widgets/STedsFilterBar.h | |
| ExternalQueryFunctions | TMap< FName, Queries::TConstQueryFunction< bool > > | External query functions that are currently active (e.g Filters) | Widgets/STedsFilterBar.h | |
| FilterNodes | TArray< TSharedPtr< QueryStack::IRowNode > > | Array to store all filter nodes created from the active query functions. | Widgets/STedsFilterBar.h | |
| InFilterableRowNode | TSharedPtr< QueryStack::IRowNode > | The row node passed in as the data to filter on. | Widgets/STedsFilterBar.h | |
| OnPostFiltersChanged | FOnPostFiltersChanged | Delegate for additional functionality to perform after the filters have been updated, performed at the end of the RecompileQueries function. | Widgets/STedsFilterBar.h | |
| OtherFiltersCategory | TSharedPtr< FFilterCategory > | Default Category if the category ptr on the Filter Data is a nullptr. | Widgets/STedsFilterBar.h | |
| OutFilteredNode | TSharedPtr< QueryStack::IRowNode > * | Pointer to the Node that is filtered and updated by the FilterBar. | Widgets/STedsFilterBar.h | |
| Storage | ICoreProvider * | Widgets/STedsFilterBar.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddClassQueryFunction
(
const FName& ClassName, |
Add an external class query function to the FilterBar (uses OR) | Widgets/STedsFilterBar.h | |
void AddExternalQuery
(
const FName& QueryName, |
Add an external query description to the FilterBar. | Widgets/STedsFilterBar.h | |
void AddExternalQueryFunction
(
const FName& QueryName, |
Add an external query function to the FilterBar. | Widgets/STedsFilterBar.h | |
TSharedPtr< FTedsFilter > AddFilter
(
const TSharedPtr< FTedsFilter > InFilter |
Add a new Filter to the menu post-initialization, will overwrite any filters with the same name | Widgets/STedsFilterBar.h | |
void AddFilters
(
const TArray< TSharedPtr< FTedsFilter > >& InFilters |
Add an array of new Filters to the menu post-initialization, will overwrite any filters with the same name | Widgets/STedsFilterBar.h | |
void AppendExternalQueries
(
DataStorage::FQueryDescription& OutQuery |
Append all external queries into the given query description. | Widgets/STedsFilterBar.h | |
void Construct
(
const FArguments& InArgs |
Constructs this widget with InArgs | Widgets/STedsFilterBar.h | |
void DeleteAllFilters() |
Remove all Filters from the menu and all references | Widgets/STedsFilterBar.h | |
void DeleteFilter
(
const FName& InFilterName |
Remove a Filter from the menu and remove any place it may be referenced | Widgets/STedsFilterBar.h | |
void RemoveClassQueryFunction
(
const FName& ClassName |
Widgets/STedsFilterBar.h | ||
void RemoveExternalQuery
(
const FName& QueryName |
Widgets/STedsFilterBar.h | ||
void RemoveExternalQueryFunction
(
const FName& QueryName |
Widgets/STedsFilterBar.h | ||
void ReplaceFilters
(
const TArray< TSharedPtr< FTedsFilter > >& InFilters, |
Remove all filters and replace them with a new array of filters with an option to persist their state (is pinned & is active) for new filters with the same FName identifier | Widgets/STedsFilterBar.h | |
| Set a new array of Common filters to appear in that section | Widgets/STedsFilterBar.h |
Public Virtual
Overridden from SWidget
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void Tick
(
const FGeometry& AllottedGeometry, |
Override tick so that filters are only recompiled once if multiple were added at once | Widgets/STedsFilterBar.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void RecompileQueries() |
Widgets/STedsFilterBar.h |
Protected Virtual
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void PopulateAddFilterMenu
(
UToolMenu* InMenu |
Widgets/STedsFilterBar.h | ||
virtual void PopulateCommonFilterSections
(
UToolMenu* InMenu |
Widgets/STedsFilterBar.h | ||
virtual void PopulateCustomFilters
(
UToolMenu* InMenu |
Widgets/STedsFilterBar.h |