QCAD
Open Source 2D CAD
ROperation Class Referenceabstract

This abstract class is an interface for all operation implementations. More...

#include <ROperation.h>

Inheritance diagram for ROperation:
RRequireHeap RNonCopyable RAddObjectsOperation RChangePropertyOperation RClickReferencePointOperation RClipboardOperation RDeleteAllEntitiesOperation RDeleteObjectsOperation RMixedOperation RMoveReferencePointOperation RMoveSelectionOperation RScaleSelectionOperation

Public Member Functions

virtual RTransaction apply (RDocument &document, bool preview=false)=0
 Applies this operation to selection in the given document. More...
 
RS::EntityType getEntityTypeFilter () const
 
QString getText () const
 
int getTransactionGroup () const
 
 ROperation (bool undoable=true, RS::EntityType entityTypeFilter=RS::EntityAll)
 
void setAllowAll (bool on)
 
void setAllowInvisible (bool on)
 
void setRecordAffectedObjects (bool on)
 
void setSpatialIndexDisabled (bool on)
 
void setText (const QString &t)
 
void setTransactionGroup (int g)
 
virtual ~ROperation ()
 
- Public Member Functions inherited from RRequireHeap
void doDelete ()
 

Protected Attributes

bool allowAll
 
bool allowInvisible
 
RS::EntityType entityTypeFilter
 
bool recordAffectedObjects
 
bool spatialIndexDisabled
 
QString text
 
int transactionGroup
 
bool undoable
 

Additional Inherited Members

- Protected Member Functions inherited from RRequireHeap
virtual ~RRequireHeap ()
 
- Private Member Functions inherited from RNonCopyable
 RNonCopyable ()
 
 ~RNonCopyable ()
 

Detailed Description

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.

Constructor & Destructor Documentation

ROperation::ROperation ( bool  undoable = true,
RS::EntityType  entityTypeFilter = RS::EntityAll 
)
inline
virtual ROperation::~ROperation ( )
inlinevirtual

Member Function Documentation

virtual RTransaction ROperation::apply ( RDocument document,
bool  preview = false 
)
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.

Implemented in RPasteOperation, RAddObjectsOperation, RMixedOperation, RChangePropertyOperation, RDeleteObjectsOperation, RClipboardOperation, RDeleteAllEntitiesOperation, RMoveSelectionOperation, RMoveReferencePointOperation, RScaleSelectionOperation, RCopyOperation, RDeleteSelectionOperation, and RClickReferencePointOperation.

RS::EntityType ROperation::getEntityTypeFilter ( ) const
inline
QString ROperation::getText ( ) const
inline
int ROperation::getTransactionGroup ( ) const
inline
void ROperation::setAllowAll ( bool  on)
inline
void ROperation::setAllowInvisible ( bool  on)
inline
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

Member Data Documentation

bool ROperation::allowAll
protected
bool ROperation::allowInvisible
protected
RS::EntityType ROperation::entityTypeFilter
protected
bool ROperation::recordAffectedObjects
protected
bool ROperation::spatialIndexDisabled
protected
QString ROperation::text
protected
int ROperation::transactionGroup
protected
bool ROperation::undoable
protected

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