#include <gcp/operation.h>
Public Member Functions | |
Operation (Document *pDoc, unsigned long ID) | |
virtual void | Undo ()=0 |
virtual void | Redo ()=0 |
virtual void | AddObject (gcu::Object *pObject, unsigned type=0) |
virtual void | AddNode (xmlNodePtr node, unsigned type=0) |
Protected Member Functions | |
void | Add (unsigned type=0) |
void | Delete (unsigned type=0) |
Protected Attributes | |
xmlNodePtr * | m_Nodes |
Definition at line 61 of file operation.h.
gcp::Operation::Operation | ( | Document * | pDoc, | |
unsigned long | ID | |||
) |
pDoc | a document. | |
ID | a unique operation ID for the document and the session. |
void gcp::Operation::Add | ( | unsigned | type = 0 |
) | [protected] |
type | a number indicationg the role of the stored objects. |
Adds the stored objects to the document owning the operation.
virtual void gcp::Operation::AddNode | ( | xmlNodePtr | node, | |
unsigned | type = 0 | |||
) | [virtual] |
node | an xml node related to the changes. | |
type | a number indicationg the role of the stored objects. |
Adds the node to the document owning the operation. This might be used when Objects are not available such as when editing text.
virtual void gcp::Operation::AddObject | ( | gcu::Object * | pObject, | |
unsigned | type = 0 | |||
) | [virtual] |
pObject | an Object affected by the changes. | |
type | a number indicationg the role of the stored objects. |
Adds an object to the operation. Typically, modifying an object whould need code like:
Object *obj; // Initialize the object pointer so that it points to a valid object ... Document *doc = obj->GetDocument (); Operation *op = doc->GetNewOperation (GCP_MODIFY_OPERATION); op->AddObject (obj, 0); // Modify the object ... op->AddObject (obj, 1); doc->FinishOperation ();
void gcp::Operation::Delete | ( | unsigned | type = 0 |
) | [protected] |
type | a number indicationg the role of the stored objects. |
Deletes the stored objects to the document owning the operation.
virtual void gcp::Operation::Redo | ( | ) | [pure virtual] |
Redo the changes represented by this operation.
Implemented in gcp::AddOperation, gcp::DeleteOperation, and gcp::ModifyOperation.
virtual void gcp::Operation::Undo | ( | ) | [pure virtual] |
Undo the changes represented by this operation.
Implemented in gcp::AddOperation, gcp::DeleteOperation, and gcp::ModifyOperation.
xmlNodePtr* gcp::Operation::m_Nodes [protected] |
The xml nodes storing the changes.
Definition at line 145 of file operation.h.