1
0
KF2-Dev-Scripts/Engine/Classes/UIDataStoreSubscriber.uc
2020-12-13 18:01:13 +03:00

76 lines
3.9 KiB
Ucode

/**
* Provides an interface for working with objects which retrieve data using data stores.
*
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
*/
interface UIDataStoreSubscriber
DependsOn(UIRoot)
native(UIPrivate);
/**
* Sets the data store binding for this object to the text specified.
*
* @param MarkupText a markup string which resolves to data exposed by a data store. The expected format is:
* <DataStoreTag:DataFieldTag>
* @param BindingIndex optional parameter for indicating which data store binding is being requested for those
* objects which have multiple data store bindings. How this parameter is used is up to the
* class which implements this interface, but typically the "primary" data store will be index 0.
*/
native function SetDataStoreBinding( string MarkupText, optional int BindingIndex=INDEX_NONE );
/**
* Retrieves the markup string corresponding to the data store that this object is bound to.
*
* @param BindingIndex optional parameter for indicating which data store binding is being requested for those
* objects which have multiple data store bindings. How this parameter is used is up to the
* class which implements this interface, but typically the "primary" data store will be index 0.
*
* @return a datastore markup string which resolves to the datastore field that this object is bound to, in the format:
* <DataStoreTag:DataFieldTag>
*/
native function string GetDataStoreBinding( optional int BindingIndex=INDEX_NONE ) const;
/**
* Resolves this subscriber's data store binding and updates the subscriber with the current value from the data store.
*
* @param BindingIndex optional parameter for indicating which data store binding is being requested for those
* objects which have multiple data store bindings. How this parameter is used is up to the
* class which implements this interface, but typically the "primary" data store will be index 0.
*
* @return TRUE if this subscriber successfully resolved and applied the updated value.
*/
native function bool RefreshSubscriberValue( optional int BindingIndex=INDEX_NONE );
/**
* Handler for the UIDataStore.OnDataStoreValueUpdated delegate. Used by data stores to indicate that some data provided by the data
* has changed. Subscribers should use this function to refresh any data store values being displayed with the updated value.
* notify subscribers when they should refresh their values from this data store.
*
* @param SourceDataStore the data store that generated the refresh notification; useful for subscribers with multiple data store
* bindings, to tell which data store sent the notification.
* @param bValuesInvalidated TRUE if the data values were completely invalidated; suggest a full refresh rather than an update (i.e. in lists)
* @param PropertyTag the tag associated with the data field that was updated; Subscribers can use this tag to determine whether
* there is any need to refresh their data values.
* @param SourceProvider for data stores which contain nested providers, the provider that contains the data which changed.
* @param ArrayIndex for collection fields, indicates which element was changed. value of INDEX_NONE indicates not an array
* or that the entire array was updated.
*/
native function NotifyDataStoreValueUpdated( UIDataStore SourceDataStore, bool bValuesInvalidated, name PropertyTag, UIDataProvider SourceProvider, int ArrayIndex );
/**
* Retrieves the list of data stores bound by this subscriber.
*
* @param out_BoundDataStores receives the array of data stores that subscriber is bound to.
*/
native function GetBoundDataStores( out array<UIDataStore> out_BoundDataStores );
/**
* Notifies this subscriber to unbind itself from all bound data stores
*/
native function ClearBoundDataStores();
DefaultProperties
{
}