AssetManagerInterface Class Reference

#include <assetmanagerinterface.h>

Detailed Description

Helper class to control the Asset Manager.

Public Types

using Filter = Delegate< Bool(const AssetDescription &desc)>
 
using AssetDragTuple = Tuple< Url, AssetDescription, String >
 
using AssetDragArray = BaseArray< AssetDragTuple >
 
using AssetDragSubtypeArray = BaseArray< Id >
 
using AssetDragArrayTuple = Tuple< AssetDragArray, AssetDragSubtypeArray >
 

Static Public Member Functions

static MAXON_METHOD void SetActiveManager (MASTERFILTER masterFilter, const GraphModelPresenterRef &presenter=GetZeroRef< GraphModelPresenterRef >(), const nodes::NodesGraphModelRef &model=GetZeroRef< nodes::NodesGraphModelRef >())
 
static MAXON_METHOD Result< BoolOpenPopup (ASSETPOPUPOPTIONS flags, MASTERFILTER masterFilter, const String &filterString, const AssetDescription &smartFilter=GetZeroRef< AssetDescription >(), const GraphModelPresenterRef &presenter=GetZeroRef< GraphModelPresenterRef >(), const nodes::NodesGraphModelRef &model=GetZeroRef< nodes::NodesGraphModelRef >(), const String &title=String(), const HashSet< Id > &inSelection=HashSet< Id >(), Delegate< void(const DragAndDropDataAssetArray &)> &&outSelection={})
 
static MAXON_METHOD Result< BoolCheckDownloadAssetWithModalProgressDialog (const AssetDescription &asset, const AssetRepositoryRef &lookupRepository)
 
static MAXON_METHOD Result< BoolCheckDownloadAssetsWithModalProgressDialog (const BaseArray< AssetDescription > &assets, const AssetRepositoryRef &lookupRepository)
 
static MAXON_METHOD Tuple< Bool, Id, Url, AssetDescription, StringGetAssetFilenameFromDragData (const void *dragData, Bool updateUsage, Bool showDownloadDialog, const Filter &filter=GetZeroRef< Filter >())
 
static MAXON_METHOD Result< AssetDragArrayTupleGetAssetFilenameFromMultiDragData (const void *dragData, Bool updateUsage, Bool showDownloadDialog, const Filter &filter=GetZeroRef< Filter >())
 
static MAXON_METHOD Result< void > RevealAsset (const Block< AssetDescription > &assets)
 
static MAXON_METHOD Result< BoolLoadAssets (const AssetRepositoryRef &searchRepository, const HashMap< Id, String > &selectionAndFilterString, const GraphModelPresenterRef &presenter=GetZeroRef< GraphModelPresenterRef >(), const nodes::NodesGraphModelRef &graphModelRef=GetZeroRef< nodes::NodesGraphModelRef >())
 
static MAXON_METHOD Result< BoolLoadAssets (const AssetRepositoryRef &searchRepository, const HashMap< Id, String > &selectionAndFilterString, const GraphModelPresenterRef &presenter, const nodes::NodesGraphModelRef &graphModelRef, const String &source)
 
static MAXON_METHOD Result< AssetManagerSubDialogRef > GetAssetManagerSubDialogRef ()
 

Private Member Functions

 MAXON_INTERFACE_NONVIRTUAL (AssetManagerInterface, MAXON_REFERENCE_STATIC, "net.maxon.mvp.assetmanager.interface")
 

Member Typedef Documentation

◆ Filter

using Filter = Delegate<Bool(const AssetDescription& desc)>

◆ AssetDragTuple

using AssetDragTuple = Tuple<Url, AssetDescription, String>

◆ AssetDragArray

◆ AssetDragSubtypeArray

◆ AssetDragArrayTuple

Member Function Documentation

◆ MAXON_INTERFACE_NONVIRTUAL()

MAXON_INTERFACE_NONVIRTUAL ( AssetManagerInterface  ,
MAXON_REFERENCE_STATIC  ,
"net.maxon.mvp.assetmanager.interface"   
)
private

◆ SetActiveManager()

static MAXON_METHOD void SetActiveManager ( MASTERFILTER  masterFilter,
const GraphModelPresenterRef &  presenter = GetZeroRef< GraphModelPresenterRef >(),
const nodes::NodesGraphModelRef &  model = GetZeroRef< nodes::NodesGraphModelRef >() 
)
static

SetActiveManager sets the active asset manager mode.

Parameters
[in]masterFiltersee MASTERFILTER.
[in]presenterOptional parameter to pass a NodeGraph presenter.
[in]modelOptional parameter to pass a NodeGraph.

◆ OpenPopup()

static MAXON_METHOD Result<Bool> OpenPopup ( ASSETPOPUPOPTIONS  flags,
MASTERFILTER  masterFilter,
const String filterString,
const AssetDescription &  smartFilter = GetZeroRef< AssetDescription >(),
const GraphModelPresenterRef &  presenter = GetZeroRef< GraphModelPresenterRef >(),
const nodes::NodesGraphModelRef &  model = GetZeroRef< nodes::NodesGraphModelRef >(),
const String title = String(),
const HashSet< Id > &  inSelection = HashSetId >(),
Delegate< void(const DragAndDropDataAssetArray &)> &&  outSelection = {} 
)
static

OpenPopup opens an asset selection popup.

Parameters
[in]flagssee ASSETPOPUPOPTIONS.
[in]masterFiltersee MASTERFILTER.
[in]filterStringsee FilterString.
[in]smartFilterSmartFilter to select.
[in]presenterOptional parameter to pass a NodeGraph presenter.
[in]modelOptional parameter to pass a NodeGraph.
[in]titleOptional Window Title.
[out]inSelectionReturns the selected elements.
[out]outSelectionDelegate.
Returns
True on success. False if the user cancelled.

◆ CheckDownloadAssetWithModalProgressDialog()

static MAXON_METHOD Result<Bool> CheckDownloadAssetWithModalProgressDialog ( const AssetDescription &  asset,
const AssetRepositoryRef &  lookupRepository 
)
static

CheckDownloadAssetWithModalProgressDialog checks if an asset is already cached and if not it will download the asset with a modal progress dialog which can be canceled. Canceling the dialog will continue the download but returns false. Dependencies will be added to the download queue as well.

Parameters
[in]assetAsset to inspect/download.
[in]lookupRepositoryRepository to check dependencies for.
Returns
True if done. False if cancelled.

◆ CheckDownloadAssetsWithModalProgressDialog()

static MAXON_METHOD Result<Bool> CheckDownloadAssetsWithModalProgressDialog ( const BaseArray< AssetDescription > &  assets,
const AssetRepositoryRef &  lookupRepository 
)
static

◆ GetAssetFilenameFromDragData()

static MAXON_METHOD Tuple<Bool, Id, Url, AssetDescription, String> GetAssetFilenameFromDragData ( const void *  dragData,
Bool  updateUsage,
Bool  showDownloadDialog,
const Filter filter = GetZeroRef< Filter >() 
)
static

GetAssetFilenameFromDragData extracts the filename/url from the legacy d&d message. If filter is null, this will only return assets of type AssetTypes::File, otherwise only assets which pass the given filter.

Parameters
[in]dragDataDragData containing the asset filename.
Returns
Bool: false if cancelled by user, Id: Asset ID, Url: asset url, AssetDescription: asset description, String: filter string from asset browser

◆ GetAssetFilenameFromMultiDragData()

static MAXON_METHOD Result<AssetDragArrayTuple> GetAssetFilenameFromMultiDragData ( const void *  dragData,
Bool  updateUsage,
Bool  showDownloadDialog,
const Filter filter = GetZeroRef< Filter >() 
)
static

◆ RevealAsset()

static MAXON_METHOD Result<void> RevealAsset ( const Block< AssetDescription > &  assets)
static

RevealAsset opens the asset browser to show the given assets in the browser.

Parameters
[in]assetsAssets to show.
Returns
OK on success.

◆ LoadAssets() [1/2]

static MAXON_METHOD Result<Bool> LoadAssets ( const AssetRepositoryRef &  searchRepository,
const HashMap< Id, String > &  selectionAndFilterString,
const GraphModelPresenterRef &  presenter = GetZeroRef< GraphModelPresenterRef >(),
const nodes::NodesGraphModelRef &  graphModelRef = GetZeroRef< nodes::NodesGraphModelRef >() 
)
static

LoadAssets executes the load asset command from the asset browser (e.g. double click or open).

Parameters
[in]searchRepositorySearch repository.
[in]selectionAndFilterStringHashMap which contains the search terms to switch modes in the newly created node/object.
[in]presenterOptional presenter to use when creating nodes.
[in]graphModelRefOptional parameter to pass the node graph where to insert nodes.
Returns
Bool on success. True if loaded. False indicates another error state.

◆ LoadAssets() [2/2]

static MAXON_METHOD Result<Bool> LoadAssets ( const AssetRepositoryRef &  searchRepository,
const HashMap< Id, String > &  selectionAndFilterString,
const GraphModelPresenterRef &  presenter,
const nodes::NodesGraphModelRef &  graphModelRef,
const String source 
)
static

LoadAssets executes the load asset command from the asset browser (e.g. double click or open).

Parameters
[in]searchRepositorySearch repository.
[in]selectionAndFilterStringHashMap which contains the search terms to switch modes in the newly created node/object.
[in]presenterOptional presenter to use when creating nodes.
[in]graphModelRefOptional parameter to pass the node graph where to insert nodes.
[in]sourceOptional parameter to indicate the source of the action, for example "commander".
Returns
Bool on success. True if loaded. False indicates another error state.

◆ GetAssetManagerSubDialogRef()

static MAXON_METHOD Result<AssetManagerSubDialogRef> GetAssetManagerSubDialogRef ( )
static