Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
vtkUndoElement Class Referenceabstract

unit undo-redo-able operation. More...

#include <vtkUndoElement.h>

Inheritance diagram for vtkUndoElement:
Inheritance graph
[legend]
Collaboration diagram for vtkUndoElement:
Collaboration graph
[legend]

Public Types

typedef vtkObject Superclass
 

Public Member Functions

virtual const char * GetClassName ()
 
virtual int IsA (const char *type)
 
void PrintSelf (ostream &os, vtkIndent indent) override
 
virtual int Undo ()=0
 Undo the operation encapsulated by this element. More...
 
virtual int Redo ()=0
 Redo the operation encaspsulated by this element. More...
 
virtual bool Merge (vtkUndoElement *vtkNotUsed(new_element))
 Called on the older element in the UndoSet to merge with the element being added if both the elements are mergeable. More...
 
virtual void SetUndoSetWorkingContext (vtkCollection *workCTX)
 
virtual bool GetMergeable ()
 Returns if this undo element can be merged with other undo elements. More...
 
- Public Member Functions inherited from vtkObject
 vtkBaseTypeMacro (vtkObject, vtkObjectBase)
 
virtual void DebugOn ()
 
virtual void DebugOff ()
 
bool GetDebug ()
 
void SetDebug (bool debugFlag)
 
virtual void Modified ()
 
virtual vtkMTimeType GetMTime ()
 
void RemoveObserver (unsigned long tag)
 
void RemoveObservers (unsigned long event)
 
void RemoveObservers (const char *event)
 
void RemoveAllObservers ()
 
int HasObserver (unsigned long event)
 
int HasObserver (const char *event)
 
int InvokeEvent (unsigned long event)
 
int InvokeEvent (const char *event)
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 
vtkCommandGetCommand (unsigned long tag)
 
void RemoveObserver (vtkCommand *)
 
void RemoveObservers (unsigned long event, vtkCommand *)
 
void RemoveObservers (const char *event, vtkCommand *)
 
int HasObserver (unsigned long event, vtkCommand *)
 
int HasObserver (const char *event, vtkCommand *)
 
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
unsigned long AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
int InvokeEvent (unsigned long event, void *callData)
 
int InvokeEvent (const char *event, void *callData)
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 
vtkCommandGetCommand (unsigned long tag)
 
void RemoveObserver (vtkCommand *)
 
void RemoveObservers (unsigned long event, vtkCommand *)
 
void RemoveObservers (const char *event, vtkCommand *)
 
int HasObserver (unsigned long event, vtkCommand *)
 
int HasObserver (const char *event, vtkCommand *)
 
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
unsigned long AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
int InvokeEvent (unsigned long event, void *callData)
 
int InvokeEvent (const char *event, void *callData)
 
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 
virtual void Delete ()
 
virtual void FastDelete ()
 
void Print (ostream &os)
 
virtual void Register (vtkObjectBase *o)
 
virtual void UnRegister (vtkObjectBase *o)
 
void SetReferenceCount (int)
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 
int GetReferenceCount ()
 
void PrintRevisions (ostream &)
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 
int GetReferenceCount ()
 
void PrintRevisions (ostream &)
 

Static Public Member Functions

static int IsTypeOf (const char *type)
 
static vtkUndoElementSafeDownCast (vtkObject *o)
 
- Static Public Member Functions inherited from vtkObject
static vtkObjectNew ()
 
static void BreakOnError ()
 
static void SetGlobalWarningDisplay (int val)
 
static void GlobalWarningDisplayOn ()
 
static void GlobalWarningDisplayOff ()
 
static int GetGlobalWarningDisplay ()
 
static void SetGlobalWarningDisplay (int val)
 
static void GlobalWarningDisplayOn ()
 
static void GlobalWarningDisplayOff ()
 
static int GetGlobalWarningDisplay ()
 
- Static Public Member Functions inherited from vtkObjectBase
static vtkTypeBool IsTypeOf (const char *name)
 
static vtkObjectBaseNew ()
 
static vtkObjectBaseNew ()
 

Protected Member Functions

 vtkUndoElement ()
 
 ~vtkUndoElement () override
 
- Protected Member Functions inherited from vtkObject
 vtkObject ()
 
virtual ~vtkObject ()
 
void RegisterInternal (vtkObjectBase *, vtkTypeBool check) VTK_OVERRIDE
 
void UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) VTK_OVERRIDE
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL)
 
void InternalReleaseFocus ()
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL)
 
void InternalReleaseFocus ()
 
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
 
virtual ~vtkObjectBase ()
 
virtual void CollectRevisions (ostream &)
 
virtual void ReportReferences (vtkGarbageCollector *)
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 
bool Mergeable
 Subclasses must set this flag to enable merging of consecutive elements in an UndoSet. More...
 
vtkCollectionUndoSetWorkingContext
 Subclasses must set this flag to enable merging of consecutive elements in an UndoSet. More...
 
virtual void SetMergeable (bool)
 Subclasses must set this flag to enable merging of consecutive elements in an UndoSet. More...
 

Additional Inherited Members

- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
vtkAtomicInt32 ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

Detailed Description

unit undo-redo-able operation.

This is an abstract class that defines the API for an undo-redo-able operation. One or more vtkUndoElement objects can define a single undo-redo step. Every concrete implementation of this class must know how to undo as well as redo the operation, and save and load the state as an XML.

vtkUndoElement, vtkUndoSet and vtkUndoStack form the undo/redo framework core.

See also
vtkUndoStack vtkUndoSet

Definition at line 25 of file vtkUndoElement.h.

Member Typedef Documentation

◆ Superclass

Definition at line 28 of file vtkUndoElement.h.

Constructor & Destructor Documentation

◆ vtkUndoElement()

vtkUndoElement::vtkUndoElement ( )
protected

◆ ~vtkUndoElement()

vtkUndoElement::~vtkUndoElement ( )
overrideprotected

Member Function Documentation

◆ GetClassName()

virtual const char* vtkUndoElement::GetClassName ( )
virtual

◆ IsTypeOf()

static int vtkUndoElement::IsTypeOf ( const char *  type)
static

◆ IsA()

virtual int vtkUndoElement::IsA ( const char *  type)
virtual

◆ SafeDownCast()

static vtkUndoElement* vtkUndoElement::SafeDownCast ( vtkObject o)
static

◆ PrintSelf()

void vtkUndoElement::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
overridevirtual

Reimplemented from vtkObject.

◆ Undo()

virtual int vtkUndoElement::Undo ( )
pure virtual

Undo the operation encapsulated by this element.

Returns
the status of the operation, 1 on success, 0 otherwise.

Implemented in vtkSMRemoteObjectUpdateUndoElement, vtkSMPropertyModificationUndoElement, pqProxyModifiedStateUndoElement, and vtkSMComparativeAnimationCueUndoElement.

◆ Redo()

virtual int vtkUndoElement::Redo ( )
pure virtual

Redo the operation encaspsulated by this element.

Returns
the status of the operation, 1 on success, 0 otherwise.

Implemented in vtkSMRemoteObjectUpdateUndoElement, vtkSMPropertyModificationUndoElement, pqProxyModifiedStateUndoElement, and vtkSMComparativeAnimationCueUndoElement.

◆ GetMergeable()

virtual bool vtkUndoElement::GetMergeable ( )
virtual

Returns if this undo element can be merged with other undo elements.

When an undo element is added to a vtkUndoSet unsing AddElement, an attempt is made to "merge" the element with the most recently added undo element, if any, if both the undo elements are mergeable.

◆ Merge()

virtual bool vtkUndoElement::Merge ( vtkUndoElement vtkNotUsednew_element)
inlinevirtual

Called on the older element in the UndoSet to merge with the element being added if both the elements are mergeable.

Returns if the merge was successful. Default implementation doesn't do anything.

Reimplemented in vtkSMPropertyModificationUndoElement.

Definition at line 61 of file vtkUndoElement.h.

◆ SetUndoSetWorkingContext()

virtual void vtkUndoElement::SetUndoSetWorkingContext ( vtkCollection workCTX)
inlinevirtual

Definition at line 70 of file vtkUndoElement.h.

◆ SetMergeable()

virtual void vtkUndoElement::SetMergeable ( bool  )
protectedvirtual

Subclasses must set this flag to enable merging of consecutive elements in an UndoSet.

Member Data Documentation

◆ Mergeable

bool vtkUndoElement::Mergeable
protected

Subclasses must set this flag to enable merging of consecutive elements in an UndoSet.

Definition at line 84 of file vtkUndoElement.h.

◆ UndoSetWorkingContext

vtkCollection* vtkUndoElement::UndoSetWorkingContext
protected

Subclasses must set this flag to enable merging of consecutive elements in an UndoSet.

Definition at line 85 of file vtkUndoElement.h.


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