Access to global undo and redo functionality. More...
#include <fbundomanager.h>
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... | |
![]() | |
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... | |
FBProperty * | PropertyCreate (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... | |
FBNamespace * | GetOwnerNamespace (void) |
Get the owner Namespace object. More... | |
FBFileReference * | GetOwnerFileReference (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... | |
![]() | |
FBScriptWrapper * | GetWrapper () |
Return the wrapper interface of this FBObject. More... | |
void | AddWrapper (FBScriptWrapper *) |
void | RemoveWrapper (FBScriptWrapper *) |
Static Public Member Functions | |
static FBUndoManager & | TheOne () |
![]() | |
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... | |
![]() | |
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 int | TypeInfo |
Contains the Type information of the object. More... | |
![]() | |
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... | |
FBPlug * | GetSrc (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... | |
FBPlug * | GetDst (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... | |
FBPlug * | GetOwner () |
Get the owner of this plug. More... | |
FBPlug * | GetOwned (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 int | GetInternalClassId () |
Internal class Id. More... | |
![]() | |
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 const char * | ClassGroupName |
ClassGroupName of the object. More... | |
static int | TypeInfo |
TypeInfo. More... | |
static int | mGlobalTypeInfo |
Represente the Type Index. More... | |
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.
FBUndoManager | ( | HIObject | pObject = NULL | ) |
Constructor.
bool ActiveOperation | ( | ) |
Determine if an undo operation is in action.
bool Clear | ( | ) |
Clear the undo and redo stacks.
void Redo | ( | ) |
Redo last undone action.
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.
pUndo | Custom undoable action to be added, FBUndoManager takes ownership of pUndo. |
pDepdendPlugArray | Usually you shold use the default value (NULL). |
bool TransactionAddModelTRS | ( | FBModel * | pModel | ) |
Add Transaction if transaction stack is open.
Quick Function to add Model TRS in Undo Stack
pModel | Model to backup TRS |
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.
pObject | Object to backup |
bool TransactionAddProperty | ( | FBProperty * | pProperty | ) |
Add Transaction if transaction stack is open.
Quick Function to add property value in Undo Stack
pProperty | Property to backup |
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.
pTransactionName | Name of Transaction. |
bool TransactionEnd | ( | ) |
Close transaction stack.
Users should call TransactionBegin()/TransactionEnd() in pairs, Transaction stack must be closed before UI event callback return.
bool TransactionIsOpen | ( | ) |
Query if transaction stack is already open.
void Undo | ( | bool | pNoRedo = false | ) |
Undo last action.
pNoRedo | If true, once the action is undone, it cannot be redone. |
FBPropertyEvent OnRedo |
Event: A redo operation will be executed.
Definition at line 172 of file fbundomanager.h.
FBPropertyEvent OnRedoCompleted |
Event: A redo operation has been executed.
Definition at line 173 of file fbundomanager.h.
FBPropertyEvent OnUndo |
Event: An undo operation will be executed.
Definition at line 170 of file fbundomanager.h.
FBPropertyEvent OnUndoCompleted |
Event: An undo operation has been executed.
Definition at line 171 of file fbundomanager.h.