QCAD
Open Source 2D CAD
RClipboardOperation Class Reference

Base class for clipboard related operations (copy, cut, paste). More...

#include <RClipboardOperation.h>

Inheritance diagram for RClipboardOperation:
ROperation RRequireHeap RNonCopyable RCopyOperation RDeleteSelectionOperation RPasteOperation

Public Member Functions

 RClipboardOperation ()
 Copyright (c) 2011-2015 by Andrew Mustun. More...
 
virtual ~RClipboardOperation ()
 
- Public Member Functions inherited from ROperation
virtual RTransaction apply (RDocument &document, bool preview=false) const =0
 Applies this operation to selection in the given document. More...
 
RS::EntityType getEntityTypeFilter () const
 
 ROperation (bool undoable=true, RS::EntityType entityTypeFilter=RS::EntityAll)
 
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 Member Functions

void copy (RDocument &src, RDocument &dest, const RVector &offset, double scale, double rotation, bool flipHorizontal, bool flipVertical, bool toCurrentLayer, bool toCurrentBlock, bool overwriteLayers, bool overwriteBlocks, const QString &blockName, const QString &layerName, RTransaction &transaction, bool selectionOnly, bool clear, bool toModelSpaceBlock, bool preview, const RQMapQStringQString &attributes=RDEFAULT_QMAP_QSTRING_QSTRING) const
 
void copyEntity (REntity &entity, RDocument &src, RDocument &dest, const RVector &offset, double scale, double unitScale, double rotation, bool flipHorizontal, bool flipVertical, bool toCurrentLayer, bool toCurrentBlock, bool overwriteLayers, bool overwriteBlocks, const QString &blockName, RTransaction &transaction, bool toModelSpaceBlock) const
 Adds the given entity (and its layer(s) and block reference(s)) to the given document. More...
 
QSharedPointer< RLayercopyEntityLayer (REntity &entity, RDocument &src, RDocument &dest, bool overwriteLayers, RTransaction &transaction) const
 
QSharedPointer< RLinetypecopyEntityLinetype (REntity &entity, RDocument &src, RDocument &dest, bool overwriteLinetypes, RTransaction &transaction) const
 
QSharedPointer< RLayercopyLayer (RLayer::Id layerId, RDocument &src, RDocument &dest, bool overwriteLayers, RTransaction &transaction) const
 
QSharedPointer< RLinetypecopyLinetype (RLinetype::Id linetypeId, RDocument &src, RDocument &dest, bool overwriteLinetypes, RTransaction &transaction) const
 
- Protected Member Functions inherited from RRequireHeap
virtual ~RRequireHeap ()
 

Private Attributes

QSet< RBlock::IdcopiedBlockContents
 
QMap< QString, QSharedPointer< RBlock > > copiedBlocks
 
QMap< QString, QSharedPointer< RLayer > > copiedLayers
 
QMap< QString, QSharedPointer< RLinetype > > copiedLinetypes
 

Additional Inherited Members

- Protected Attributes inherited from ROperation
bool allowInvisible
 
RS::EntityType entityTypeFilter
 
bool recordAffectedObjects
 
bool spatialIndexDisabled
 
QString text
 
int transactionGroup
 
bool undoable
 

Detailed Description

Base class for clipboard related operations (copy, cut, paste).

Scriptable:
This class is available in script environments.

Constructor & Destructor Documentation

RClipboardOperation::RClipboardOperation ( )

Copyright (c) 2011-2015 by Andrew Mustun.

All rights reserved.

This file is part of the QCAD project.

QCAD is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

QCAD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with QCAD.

virtual RClipboardOperation::~RClipboardOperation ( )
inlinevirtual

Member Function Documentation

void RClipboardOperation::copy ( RDocument src,
RDocument dest,
const RVector offset,
double  scale,
double  rotation,
bool  flipHorizontal,
bool  flipVertical,
bool  toCurrentLayer,
bool  toCurrentBlock,
bool  overwriteLayers,
bool  overwriteBlocks,
const QString &  blockName,
const QString &  layerName,
RTransaction transaction,
bool  selectionOnly,
bool  clear,
bool  toModelSpaceBlock,
bool  preview,
const RQMapQStringQString attributes = RDEFAULT_QMAP_QSTRING_QSTRING 
) const
protected
void RClipboardOperation::copyEntity ( REntity entity,
RDocument src,
RDocument dest,
const RVector offset,
double  scale,
double  unitScale,
double  rotation,
bool  flipHorizontal,
bool  flipVertical,
bool  toCurrentLayer,
bool  toCurrentBlock,
bool  overwriteLayers,
bool  overwriteBlocks,
const QString &  blockName,
RTransaction transaction,
bool  toModelSpaceBlock 
) const
protected

Adds the given entity (and its layer(s) and block reference(s)) to the given document.

Parameters
blockNameName of an existing block in dest
QSharedPointer< RLayer > RClipboardOperation::copyEntityLayer ( REntity entity,
RDocument src,
RDocument dest,
bool  overwriteLayers,
RTransaction transaction 
) const
protected
QSharedPointer< RLinetype > RClipboardOperation::copyEntityLinetype ( REntity entity,
RDocument src,
RDocument dest,
bool  overwriteLinetypes,
RTransaction transaction 
) const
protected
QSharedPointer< RLayer > RClipboardOperation::copyLayer ( RLayer::Id  layerId,
RDocument src,
RDocument dest,
bool  overwriteLayers,
RTransaction transaction 
) const
protected
QSharedPointer< RLinetype > RClipboardOperation::copyLinetype ( RLinetype::Id  linetypeId,
RDocument src,
RDocument dest,
bool  overwriteLinetypes,
RTransaction transaction 
) const
protected

Member Data Documentation

QSet<RBlock::Id> RClipboardOperation::copiedBlockContents
mutableprivate
QMap<QString, QSharedPointer<RBlock> > RClipboardOperation::copiedBlocks
mutableprivate
QMap<QString, QSharedPointer<RLayer> > RClipboardOperation::copiedLayers
mutableprivate
QMap<QString, QSharedPointer<RLinetype> > RClipboardOperation::copiedLinetypes
mutableprivate

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