Skip to content

ROperation

Class in Core Module
Header: #include <src/core/ROperation.h>
Inherits: RRequireHeap, RNonCopyable (private)
Inherited by: RAddObjectsOperation, RChangePropertyOperation, RClickReferencePointOperation, RClipboardOperation, RDeleteAllEntitiesOperation, RDeleteObjectsOperation, RMixedOperation, RMoveReferencePointOperation, RMoveSelectionOperation, RMultiOperation, RScaleSelectionOperation

This abstract class is an interface for all operation implementations.

An operation encapsulates a modification that can be applied to a document. An implementing class might for example implement a move operation that moves all selected entities by a given vector.

Scriptable: This class is available in script environments.

ROperation(bool undoable=true, RS::EntityType entityTypeFilter=RS::EntityAll)
virtual ~ROperation()
virtual RTransaction apply(RDocument &document, bool preview=false)=0 = 0
Applies this operation to selection in the given document.
RS::EntityType getEntityTypeFilter() const
QString getText() const
int getTransactionGroup() const
bool getTransactionType(RTransaction::Type t) const
RTransaction::Types getTransactionTypes() const
void setAllowAll(bool on)
void setAllowInvisible(bool on)
void setKeepChildren(bool on)
Keep child entities (e.g.
void setRecordAffectedObjects(bool on)
void setSpatialIndexDisabled(bool on)
void setText(const QString &t)
void setTransactionGroup(int g)
void setTransactionType(RTransaction::Type t, bool on=true)
bool allowAll
bool allowInvisible
RS::EntityType entityTypeFilter
bool keepChildren
bool recordAffectedObjects
bool spatialIndexDisabled
QString text
int transactionGroup
RTransaction::Types transactionTypes
bool undoable

ROperation::ROperation(bool undoable=true, RS::EntityType entityTypeFilter=RS::EntityAll)

inline

virtual ROperation::~ROperation()

virtual inline

virtual RTransaction ROperation::apply(RDocument &document, bool preview=false)=0 = 0

pure virtual

Applies this operation to selection in the given document.

This is used for both previews and the actual apply. In case of a preview, the given document is a temporary document with a storage that is linked to the real document for realistic condiditions for the preview.

Reimplemented in apply, apply, apply, apply, apply, apply, apply, apply, apply, apply, apply, apply, apply, apply.

RS::EntityType ROperation::getEntityTypeFilter() const

inline const

QString ROperation::getText() const

inline const

int ROperation::getTransactionGroup() const

inline const

bool ROperation::getTransactionType(RTransaction::Type t) const

inline const

RTransaction::Types ROperation::getTransactionTypes() const

inline const

void ROperation::setAllowAll(bool on)

inline

void ROperation::setAllowInvisible(bool on)

inline

void ROperation::setKeepChildren(bool on)

inline

Keep child entities (e.g.

keep block attributes when deleting block references)

void ROperation::setRecordAffectedObjects(bool on)

inline

void ROperation::setSpatialIndexDisabled(bool on)

inline

void ROperation::setText(const QString &t)

inline

void ROperation::setTransactionGroup(int g)

inline

void ROperation::setTransactionType(RTransaction::Type t, bool on=true)

inline

bool ROperation::allowAll

protected

bool ROperation::allowInvisible

protected

RS::EntityType ROperation::entityTypeFilter

protected

bool ROperation::keepChildren

protected

bool ROperation::recordAffectedObjects

protected

bool ROperation::spatialIndexDisabled

protected

QString ROperation::text

protected

int ROperation::transactionGroup

protected

RTransaction::Types ROperation::transactionTypes

protected

bool ROperation::undoable

protected