Open Reality Reference Guide
FBUndoManager Class Reference

Access to global undo and redo functionality. More...

#include <fbundomanager.h>

Inheritance diagram for FBUndoManager:

Public Member Functions

 FBUndoManager (HIObject pObject=NULL)
 Constructor. More...
 
bool Clear ()
 Clear the undo and redo stacks. More...
 
void Redo ()
 Redo last undone action. More...
 
void Undo (bool pNoRedo=false)
 Undo last action. More...
 
bool TransactionBegin (const char *pTransactionName)
 Open transaction stack for adding transactions. More...
 
bool TransactionIsOpen ()
 Query if transaction stack is already open. More...
 
bool TransactionAdd (FBUndo *pUndo, FBArrayPlug *pDepdendPlugArray=NULL)
 Add Transaction if transaction stack is open. More...
 
bool TransactionAddModelTRS (FBModel *pModel)
 Add Transaction if transaction stack is open. More...
 
bool TransactionAddProperty (FBProperty *pProperty)
 Add Transaction if transaction stack is open. More...
 
bool TransactionAddObjectDestroy (FBObject *pObject)
 Add Transaction if transaction stack is open. More...
 
bool TransactionEnd ()
 Close transaction stack. More...
 
bool ActiveOperation ()
 Determine if an undo operation is in action. More...
 
- Public Member Functions inherited from FBComponent
 FBComponent (HIObject pObject)
 Constructor. More...
 
virtual ~FBComponent ()
 Destructor. More...
 
virtual bool FBCreate ()
 Open Reality Creation function. More...
 
virtual void FBDestroy ()
 Open Reality destruction function. More...
 
virtual void FBDelete () override
 Open Reality deletion function. More...
 
virtual bool SetHIObject (HIObject pObject, bool pSDKComponent) override
 Assign component to an internal pointer. More...
 
virtual int PropertyAdd (FBProperty *pProperty)
 Add a property to the component's property manager. More...
 
bool PropertyAddReferenceProperty (FBProperty *pReferenceProperty)
 Add a reference property to the component's property manager. More...
 
void PropertyRemove (FBProperty *pProperty)
 Remove a Property from the component's Property manager. More...
 
void PropertyGetModifiedList (FBArrayTemplate< FBProperty * > &pPropList, FBPlugModificationFlag pModificationFlags)
 Get list of properties which have been modified since last loading. More...
 
FBPropertyPropertyCreate (const char *pName, FBPropertyType pType, const char *pDataType, bool pAnimatable, bool pIsUser=false, FBProperty *pReferenceSource=NULL)
 Create user or dynamic property. More...
 
FBObjectFlag GetObjectFlags ()
 Get all Object Flags (concatenated). More...
 
void SetObjectFlags (FBObjectFlag pFlags)
 SetObjectFlags. More...
 
bool HasObjectFlags (FBObjectFlag pFlags)
 Check whether a specific object flag is enabled. More...
 
void EnableObjectFlags (FBObjectFlag pFlags)
 Enable a specific Object Flags. More...
 
void DisableObjectFlags (FBObjectFlag pFlags)
 Disable a specific Object Flags. More...
 
void SetObjectStatus (FBObjectStatus pStatus, bool pValue)
 Enable/Disable a specific Object Status. More...
 
bool GetObjectStatus (FBObjectStatus pStatus)
 Check to see if an object status is enabled. More...
 
bool ProcessNamespaceHierarchy (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=NULL, bool pAddRight=true)
 ProcessNamespaceHierarchy. More...
 
bool ProcessObjectNamespace (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=NULL, bool pAddRight=true)
 ProcessObjectNamespace. More...
 
virtual const char * ClassName () override
 Get the class name. More...
 
virtual bool UseCustomPropertyViewSet () const
 Use the custom property viewSet or not. More...
 
const char * GetFullName (void)
 Get the full name. More...
 
void SetOwnerNamespace (FBNamespace *pOwnerNSObj)
 Set the owner Namespace object. More...
 
FBNamespaceGetOwnerNamespace (void)
 Get the owner Namespace object. More...
 
FBFileReferenceGetOwnerFileReference (void)
 Get the owner FileReference object. More...
 
void HardSelect ()
 HardSelect. More...
 
virtual bool Is (int pTypeId) override
 Returns true if object is of type TypeId. More...
 
virtual int GetTypeId () override
 GetTypeId( int pTypeId ) More...
 
- Public Member Functions inherited from FBWrapperHolder
FBScriptWrapperGetWrapper ()
 Return the wrapper interface of this FBObject. More...
 
void AddWrapper (FBScriptWrapper *)
 
void RemoveWrapper (FBScriptWrapper *)
 

Static Public Member Functions

static FBUndoManagerTheOne ()
 
- Static Public Member Functions inherited from FBComponent
static int GetInternalClassId ()
 
static void FBComponentSetName (FBComponent *pObject, const char *pName)
 
static const char * FBComponentGetName (FBComponent *pObject)
 
static void FBComponentSetLongName (FBComponent *pObject, const char *pName)
 
static const char * FBComponentGetLongName (FBComponent *pObject)
 

Public Attributes

FBPropertyEvent OnUndo
 Event: An undo operation will be executed. More...
 
FBPropertyEvent OnUndoCompleted
 Event: An undo operation has been executed. More...
 
FBPropertyEvent OnRedo
 Event: A redo operation will be executed. More...
 
FBPropertyEvent OnRedoCompleted
 Event: A redo operation has been executed. More...
 
- Public Attributes inherited from FBComponent
FBPropertyManager PropertyList
 Read Only Property: Manages all of the properties for the component. More...
 
FBPropertyListComponent Components
 List: List of components. More...
 
FBPropertyListComponent Parents
 List: Parents. More...
 
FBPropertyBool Selected
 Read Write Property: Selected property. More...
 
FBPropertyString Name
 Read Write Property: Unique name of object. More...
 
FBPropertyString LongName
 Read Write Property: Name and namespace for object.
More...
 
FBPropertyFolder Folder
 Read Write Property: The folder that contain this component. More...
 

Additional Inherited Members

- Static Public Attributes inherited from FBComponent
static int TypeInfo
 Contains the Type information of the object. More...
 
- Protected Member Functions inherited from FBPlug
bool IsSDKComponent ()
 Return whether or not item is an SDK component. More...
 
bool ConnectSrc (FBPlug *pSrc, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a source connection. More...
 
bool ConnectDst (FBPlug *pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a destination connection. More...
 
bool ConnectSrcAt (int pDst_SrcIndex, FBPlug *pSrc, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a source connection. More...
 
bool ConnectDstAt (int pSrc_DstIndex, FBPlug *pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a destination connection. More...
 
bool DisconnectDst (FBPlug *pDst)
 Remove a destination connection. More...
 
bool DisconnectSrc (FBPlug *pSrc)
 Remove a source connection. More...
 
void DisconnectAllSrc ()
 Remove all source connections. More...
 
void DisconnectAllDst ()
 Remove all destination connections. More...
 
bool DisconnectDstAt (int pIndex)
 Remove a destination connection at a specified index. More...
 
bool DisconnectSrcAt (int pIndex)
 Remove a source connection at a specified index. More...
 
bool ReplaceDstAt (int pIndex, FBPlug *pDst)
 Replace a destination connection at a specified index. More...
 
bool ReplaceSrcAt (int pIndex, FBPlug *pSrc)
 Replace a source connection at a specified index. More...
 
bool SwapSrc (int pIndexA, int pIndexB)
 Swap source connection at index A with source connection at index B. More...
 
bool MoveSrcAt (int pIndex, int pAtIndex)
 Move source connection at pIndex to pAtIndex. More...
 
bool MoveSrcAt (FBPlug *pSrc, FBPlug *pAtSrc)
 Move source connection pSrc to the position of pAtSrc. More...
 
int GetSrcCount ()
 Get source connection count. More...
 
FBPlugGetSrc (int pIndex)
 Get a source connection's plug at specified index. More...
 
FBConnectionType GetSrcType (int pIndex)
 Get a source connection's type at specified index. More...
 
int GetDstCount ()
 Get destination connection count. More...
 
FBPlugGetDst (int pIndex)
 Get a destination connection's plug at specified index. More...
 
FBConnectionType GetDstType (int pIndex)
 Get a destination connection's type at specified index. More...
 
bool BeginChange ()
 Begins a change on multiple plugs. More...
 
void EndChange ()
 Ends a change on multiple plugs. More...
 
void SetSelfModified (FBPlugModificationFlag pFlag, bool pBool)
 Set the plug's self modification flag. More...
 
bool GetSelfModified (FBPlugModificationFlag pFlag)
 Tell if the plug's self has changed. More...
 
void SetContentModified (FBPlugModificationFlag pFlag, bool pBool)
 Set the plug's owned property/object's modification flag. More...
 
bool GetContentModified (FBPlugModificationFlag pFlag)
 Tell if the plug's content has changed. More...
 
int GetPlugConnectionModifiedList (FBPlugList &pPlugList, FBPlugModificationFlag pConnectionModificatonFlag, bool pAddRemove)
 Get plug's modified src/dst property/object connection added/removed List. More...
 
bool RevertModification (FBPlugModificationFlag pFlag=kFBAllModifiedMask)
 Revert the plug's modification to original status. More...
 
void SetStatusFlag (FBPlugStatusFlag pStatus, bool pValue)
 Set the plug's status flag. More...
 
bool GetStatusFlag (FBPlugStatusFlag pStatus) const
 Tell if the plug's status has changed. More...
 
FBPlugGetOwner ()
 Get the owner of this plug. More...
 
FBPlugGetOwned (int pIndex)
 Get the owned plug at specified index. More...
 
int GetOwnedCount ()
 Get the owned plug count. More...
 
virtual bool PlugDataNotify (FBConnectionAction pAction, FBPlug *pThis, void *pData=NULL, void *pDataOld=NULL, int pDataSize=0)
 PlugDataNotify when overloaded is equivalent of FBSystem.OnConnectionDataNotify but in the context of the derived object only. More...
 
virtual bool PlugStateNotify (FBConnectionAction pAction, FBPlug *pThis, void *pData=NULL, void *pDataOld=NULL, int pDataSize=0)
 PlugStateNotify when overloaded is equivalent of FBSystem.OnConnectionStateNotify but in the context of the derived object only. More...
 
virtual bool PlugNotify (FBConnectionAction pAction, FBPlug *pThis, int pIndex, FBPlug *pPlug=NULL, FBConnectionType pConnectionType=kFBConnectionTypeNone, FBPlug *pNewPlug=NULL)
 PlugNotify when overloaded is equivalent of FBSystem.OnConnectionNotify but in the context of the derived object only. More...
 
- Static Protected Member Functions inherited from FBPlug
static int GetInternalClassId ()
 Internal class Id. More...
 
- Protected Attributes inherited from FBPlug
bool mAllocated
 Contain the Allocation State of the Component. More...
 
HIObject mObject
 Handle on the Plug. More...
 
bool mSDKComponent
 bool Plug is an SDK component.
More...
 
- Static Protected Attributes inherited from FBPlug
static const char * ClassGroupName
 ClassGroupName of the object. More...
 
static int TypeInfo
 TypeInfo. More...
 
static int mGlobalTypeInfo
 Represente the Type Index. More...
 

Detailed Description

Access to global undo and redo functionality.

Users have the possibility of undoing and redoing actions performed using the GUI, and interacting with the undo and redo stacks with custom actions.

All undo/redo related functions should only be called inside UI event callback. Users should call TransactionBegin()/TransactionEnd() in pairs, Transaction stack must be closed before UI event callback return.

This class cannot be used as a base class.

Definition at line 80 of file fbundomanager.h.

Constructor & Destructor Documentation

◆ FBUndoManager()

FBUndoManager ( HIObject  pObject = NULL)

Constructor.

Member Function Documentation

◆ ActiveOperation()

bool ActiveOperation ( )

Determine if an undo operation is in action.

Returns
true the Undo Manager is performing an Undo or a Redo operation.

◆ Clear()

bool Clear ( )

Clear the undo and redo stacks.

Returns
A boolean value indicating success (true) or failure (false).

◆ Redo()

void Redo ( )

Redo last undone action.

◆ TransactionAdd()

bool TransactionAdd ( FBUndo pUndo,
FBArrayPlug *  pDepdendPlugArray = NULL 
)

Add Transaction if transaction stack is open.

Multiple custom actions could be added into transaction stack by calling this function multiple times.

Parameters
pUndoCustom undoable action to be added, FBUndoManager takes ownership of pUndo.
pDepdendPlugArrayUsually you shold use the default value (NULL).
Returns
true if add transaction successfully.

◆ TransactionAddModelTRS()

bool TransactionAddModelTRS ( FBModel pModel)

Add Transaction if transaction stack is open.

Quick Function to add Model TRS in Undo Stack

Parameters
pModelModel to backup TRS
Returns
true if add transaction successfully.

◆ TransactionAddObjectDestroy()

bool TransactionAddObjectDestroy ( FBObject pObject)

Add Transaction if transaction stack is open.

Function to add object to destroy in Undo Stack. No need to call FBDelete() on the object after calling this function.

Parameters
pObjectObject to backup
Returns
true if add transaction successfully.

◆ TransactionAddProperty()

bool TransactionAddProperty ( FBProperty pProperty)

Add Transaction if transaction stack is open.

Quick Function to add property value in Undo Stack

Parameters
pPropertyProperty to backup
Returns
true if add transaction successfully.

◆ TransactionBegin()

bool TransactionBegin ( const char *  pTransactionName)

Open transaction stack for adding transactions.

Users should call TransactionBegin()/TransactionEnd() in pairs, Transaction stack must be closed before UI event callback return.

Parameters
pTransactionNameName of Transaction.
Returns
true if open transaction stack successfully.

◆ TransactionEnd()

bool TransactionEnd ( )

Close transaction stack.

Users should call TransactionBegin()/TransactionEnd() in pairs, Transaction stack must be closed before UI event callback return.

Returns
true if transaction close successfully.

◆ TransactionIsOpen()

bool TransactionIsOpen ( )

Query if transaction stack is already open.

Returns
true if transaction is already open.

◆ Undo()

void Undo ( bool  pNoRedo = false)

Undo last action.

Parameters
pNoRedoIf true, once the action is undone, it cannot be redone.

Member Data Documentation

◆ OnRedo

Event: A redo operation will be executed.

Definition at line 172 of file fbundomanager.h.

◆ OnRedoCompleted

FBPropertyEvent OnRedoCompleted

Event: A redo operation has been executed.

Definition at line 173 of file fbundomanager.h.

◆ OnUndo

Event: An undo operation will be executed.

Definition at line 170 of file fbundomanager.h.

◆ OnUndoCompleted

FBPropertyEvent OnUndoCompleted

Event: An undo operation has been executed.

Definition at line 171 of file fbundomanager.h.


The documentation for this class was generated from the following file: