Navigation
API > API/Editor > API/Editor/ContentBrowserData
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UContentBrowserDataSource
- UContentBrowserAliasDataSource
- UContentBrowserAssetDataSource
- UContentBrowserClassDataSource
- UContentBrowserFileDataSource
References
| Module | ContentBrowserData |
| Header | /Engine/Source/Editor/ContentBrowserData/Public/ContentBrowserDataSource.h |
| Include | #include "ContentBrowserDataSource.h" |
Syntax
class UContentBrowserDataSource :
public UObject,
public IModularFeature
Remarks
A common implementation of a "do nothing" data source for the Content Browser. You should derive from this type to create new data sources for the Content Browser, overriding any required functionality and validation logic.
Data sources create and operate on FContentBrowserItemData instances that represent the folders and files within each data source. FContentBrowserItemData itself is a concrete type, so extensibility is handled via the IContentBrowserItemDataPayload interface, which can be used to store any data source defined payload data that is required to operate on the underlying thing that the item represents.
This is the only API you need to implement to create a data source, as each FContentBrowserItemData instance knows which data source owns it, and uses that information to pass itself back into the correct data source instance when asked to perform actions or validation. In that sense you can think of this like a C API, where the data source returns an opaque object that is later passed back into the data source functions so that they can interpret the opaque object and provide functionality for it.
Variables
| Type | Name | Description | |
|---|---|---|---|
| FContentBrowserVirtualPathTree | RootPathVirtualTree | Tree of virtual paths that ends with internal roots. Used for enumeration and conversion of paths. |
Functions
| Type | Name | Description | |
|---|---|---|---|
| bool | AppendItemReference
(
const FContentBrowserItemData& InItem, |
Attempt to append any path references for the given item to the given string. | |
| void | Rebuilds the tree of virtual paths that ends with internal roots | ||
| bool | BulkCopyItems
(
TArrayView< const FContentBrowserItemData > InItems, |
Attempt to copy the given items to the given virtual path. | |
| bool | BulkDeleteItems
(
TArrayView< const FContentBrowserItemData > InItems |
Attempt to delete the given items. | |
| bool | BulkDuplicateItems
(
TArrayView< const FContentBrowserItemData > InItems, |
Attempt to synchronously duplicate the given items. | |
| bool | BulkEditItems
(
TArrayView< const FContentBrowserItemData > InItems |
Attempt to open the given item for editing. | |
| bool | BulkMoveItems
(
TArrayView< const FContentBrowserItemData > InItems, |
Attempt to move the given items to the given virtual path. | |
| bool | BulkPreviewItems
(
TArrayView< const FContentBrowserItemData > InItems |
Attempt to preview the given items. | |
| bool | BulkPrivatizeItems
(
TArrayView< const FContentBrowserItemData > InItems |
Attempt to mark the given items as private (NotExternallyReferenceable) | |
| bool | BulkSaveItems
(
TArrayView< const FContentBrowserItemData > InItems, |
Attempt to save the given items. | |
| bool | BulkViewItems
(
TArrayView< const FContentBrowserItemData > InItems |
Attempt to open the given items for read-only viewing. | |
| bool | CanCopyItem
(
const FContentBrowserItemData& InItem, |
Query whether the given item is can be copied, optionally providing error information if it cannot. | |
| bool | CanCreateFolder
(
const FName InPath, |
Query whether a folder can be created at the given virtual path, optionally providing error information if it cannot. | |
| bool | CanDeleteItem
(
const FContentBrowserItemData& InItem, |
Query whether the given item is can be deleted, optionally providing error information if it cannot. | |
| bool | CanDuplicateItem
(
const FContentBrowserItemData& InItem, |
Query whether the given item is can be duplicated, optionally providing error information if it cannot. | |
| bool | CanEditItem
(
const FContentBrowserItemData& InItem, |
Query whether the given item is can be edited, optionally providing error information if it cannot. | |
| bool | CanMoveItem
(
const FContentBrowserItemData& InItem, |
Query whether the given item is can be moved, optionally providing error information if it cannot. | |
| bool | CanPreviewItem
(
const FContentBrowserItemData& InItem, |
Query whether the given item is can be previewed, optionally providing error information if it cannot. | |
| bool | CanPrivatizeItem
(
const FContentBrowserItemData& InItem, |
Query whether the given item can be privatized, optionally providing error information if it cannot. | |
| bool | CanRenameItem
(
const FContentBrowserItemData& InItem, |
Query whether the given item is can be renamed, optionally providing error information if it cannot. | |
| bool | CanSaveItem
(
const FContentBrowserItemData& InItem, |
Query whether the given item is can be saved, optionally providing error information if it cannot. | |
| bool | CanViewItem
(
const FContentBrowserItemData& InItem, |
Query whether the given item is can be viewed (a read-only asset editor), optionally providing error information if it cannot. | |
| void | ClearCachedFilterData
(
const FContentBrowserDataFilterCacheIDOwner& IDOwner |
Tell the data source to remove the cached data for the filter compilation for this specific owner. | |
| void | CompileFilter
(
const FName InPath, |
Given a path and a data filter, produce an optimized filter that can be used to efficiently enumerate items that match it, and also query whether an item would pass it. | |
| bool | ConvertItemForFilter
(
FContentBrowserItemData& Item, |
Let the compiled filter decide the payload and the type of the item Some Compiled filter might change the type/payload of the item. | |
| bool | CopyItem
(
const FContentBrowserItemData& InItem, |
Attempt to copy the given item to the given virtual path. | |
| TSharedPtr< FDragDropOperation > | CreateCustomDragOperation
(
TArrayView< const FContentBrowserItemData > InItems |
Called to provide custom drag and drop handling when starting a drag event. | |
| bool | CreateFolder
(
const FName InPath, |
Attempt to begin the process of asynchronously creating a folder at the given virtual path, populating a temporary item that can be finalized or canceled by the user. | |
| FContentBrowserItemData | CreateVirtualFolderItem
(
const FName InFolderPath |
Creates item data for a fully virtual folder | |
| bool | DeleteItem
(
const FContentBrowserItemData& InItem |
Attempt to delete the given item. | |
| bool | DoesItemPassFilter
(
const FContentBrowserItemData& InItem, |
Query whether the given item passes the given compiled filter. | |
| bool | DuplicateItem
(
const FContentBrowserItemData& InItem, |
Attempt to begin the process of asynchronously duplicating the given item, populating a temporary item that can be finalized or canceled by the user. | |
| bool | EditItem
(
const FContentBrowserItemData& InItem |
Attempt to open the given item for editing. | |
| void | EnumerateItemsAtPath
(
const FName InPath, |
Enumerate items that have the given virtual path, optionally filtering by type, and invoking the callback for each matching item. | |
| bool | EnumerateItemsAtPaths
(
const TArrayView< FContentBrowserItemPath > InPaths, |
Enumerate the items (folders and/or files) that exist at the given content browser paths. | |
| bool | EnumerateItemsForObjects
(
const TArrayView< UObject* > InObjects, |
Enumerate the items (files) that exist for the given objects. | |
| void | EnumerateItemsMatchingFilter
(
const FContentBrowserDataCompiledFilter& InFilter, |
Enumerate items that match the given compiled filter, invoking the callback for each matching item. | |
| TArray< FContentBrowserItemPath > | GetAliasesForPath
(
const FSoftObjectPath& InInternalPath |
Get a list of other paths that the data source may be using to represent a specific path | |
| bool | GetItemAttribute
(
const FContentBrowserItemData& InItem, |
Query the value of the given attribute on the given item. | |
| bool | GetItemAttributes
(
const FContentBrowserItemData& InItem, |
Query the values of all attributes on the given item. | |
| bool | GetItemPhysicalPath
(
const FContentBrowserItemData& InItem, |
Query the physical (on-disk) path of the given item. | |
| FName | Get the name used when registering data source modular feature instances for use with the Content Browser Data Subsystem. | ||
| const FContentBrowserVirtualPathTree & | |||
| bool | HandleDragDropOnItem
(
const FContentBrowserItemData& InItem, |
Called to provide custom drag and drop handling when a drag event is dropped on an item. | |
| bool | HandleDragEnterItem
(
const FContentBrowserItemData& InItem, |
Called to provide custom drag and drop handling when a drag event enters an item, such as performing validation and reporting error information. | |
| bool | HandleDragLeaveItem
(
const FContentBrowserItemData& InItem, |
Called to provide custom drag and drop handling when a drag event leaves an item, such as clearing any error information set during earlier validation. | |
| bool | HandleDragOverItem
(
const FContentBrowserItemData& InItem, |
Called to provide custom drag and drop handling while a drag event is over an item, such as performing validation and reporting error information. | |
| void | Initialize
(
const bool InAutoRegister |
Initialize this data source instance, optionally registering it once the initialization has finished (This function is non-virtual because its signature may change on derived types, and so should be called directly on an instance of the correct type. | |
| bool | IsDiscoveringItems
(
FText* OutStatus |
Query whether this data source instance is currently discovering content, and retrieve an optional status message that can be shown in the UI. | |
| bool | IsFolderVisible
(
const FName InPath, |
Query whether the given virtual folder should be visible in the UI. | |
| bool | True if this data source is currently initialized. | ||
| bool | IsItemDirty
(
const FContentBrowserItemData& InItem |
Query whether the given item is considered dirty (ie, has unsaved changes). | |
| bool | IsVirtualPathUnderMountRoot
(
const FName InPath |
Test whether the given virtual path is under the virtual mount root that was passed to Initialize. | |
| bool | Legacy_TryConvertAssetDataToVirtualPath
(
const FAssetData& InAssetData, |
Attempt to convert the given asset data to a virtual path associated with this data source. | |
| bool | Legacy_TryConvertPackagePathToVirtualPath
(
const FName InPackagePath, |
Attempt to convert the given package path to a virtual path associated with this data source. | |
| bool | Legacy_TryGetAssetData
(
const FContentBrowserItemData& InItem, |
Attempt to retrieve the asset data associated with the given item. | |
| bool | Legacy_TryGetPackagePath
(
const FContentBrowserItemData& InItem, |
Attempt to retrieve the package path associated with the given item. | |
| bool | MoveItem
(
const FContentBrowserItemData& InItem, |
Attempt to move the given item to the given virtual path. | |
| void | Notify a wholesale item data update, for data sources that can't provide delta-updates. | ||
| bool | PreviewItem
(
const FContentBrowserItemData& InItem |
Attempt to preview the given item. | |
| bool | PrioritizeSearchPath
(
const FName InPath |
If possible, attempt to prioritize content discovery for the given virtual path. | |
| bool | PrivatizeItem
(
const FContentBrowserItemData& InItem |
Attempt to mark the given item as private (NotExternallyReferenceable). | |
| void | QueueItemDataUpdate
(
FContentBrowserItemDataUpdate&& InUpdate |
Queue an incremental item data update, for data sources that can provide delta-updates. | |
| void | Call after a change that could affect rules of virtual path generation. | ||
| void | Register this data source instance for use with the Content Browser Data Subsystem. | ||
| void | RemoveUnusedCachedFilterData
(
const FContentBrowserDataFilterCacheIDOwner& IDOwner, |
Tell the data source to remove any cached data for the filter compilation that might not be needed any more. | |
| bool | RenameItem
(
const FContentBrowserItemData& InItem, |
Attempt to rename the given item. | |
| void | RootPathAdded
(
const FStringView InInternalPath |
Adds internal root path to virtual path tree | |
| void | RootPathRemoved
(
const FStringView InInternalPath |
Removes internal root path from virtual path tree | |
| bool | SaveItem
(
const FContentBrowserItemData& InItem, |
Attempt to save the given item. | |
| void | SetDataSink
(
IContentBrowserItemDataSink* InDataSink |
Set the data sink that can be used to communicate with the Content Browser Data Subsystem. | |
| void | Sets a flag to force rebuild of virtual path tree with next call to RefreshVirtualPathTreeIfNeeded() | ||
| void | Shutdown () |
Shutdown this data source instance. | |
| void | Tick
(
const float InDeltaTime |
Tick this data source instance. | |
| bool | TryConvertInternalPathToVirtual
(
const FName InInternalPath, |
Convert an internal path to its virtualized form, based on the mount root set on this data source. | |
| EContentBrowserPathType | TryConvertVirtualPath
(
const FName InPath, |
Attempt to convert the given virtual path | |
| EContentBrowserPathType | TryConvertVirtualPath
(
const FStringView InPath, |
Attempt to convert the given virtual path | |
| EContentBrowserPathType | TryConvertVirtualPath
(
const FStringView InPath, |
Attempt to convert the given virtual path | |
| EContentBrowserPathType | TryConvertVirtualPath
(
const FStringView InPath, |
Attempt to convert the given virtual path | |
| bool | TryConvertVirtualPathToInternal
(
const FName InPath, |
Convert a virtualized path to its internal form, based on the mount root set on this data source. | |
| bool | TryGetCollectionId
(
const FContentBrowserItemData& InItem, |
Attempt to retrieve the identifier that should be used when storing a reference to the given item within a collection. | |
| void | Unregister this data source instance from the Content Browser Data Subsystem. | ||
| bool | UpdateThumbnail
(
const FContentBrowserItemData& InItem, |
Attempt to update the thumbnail associated with the given item. | |
| bool | ViewItem
(
const FContentBrowserItemData& InItem |
Attempt to open the given item for read-only viewing. |
Overridden from UObject
| Type | Name | Description | |
|---|---|---|---|
| void | BeginDestroy () |
Called before destroying the object. |
Deprecated Functions
| Type | Name | Description | |
|---|---|---|---|
| TArray< FContentBrowserItemPath > | GetAliasesForPath
(
FName InInternalPath |
FNames containing full asset paths are deprecated. Use FSoftObjectPath instead. | |
| bool | TryGetCollectionId
(
const FContentBrowserItemData& InItem, |
FNames containing full object paths are deprecated. Use FSoftObjectPath instead. |