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

virtual RTransaction apply (RDocument &document, bool preview=false)
 Applies this operation to selection in the given document. More...
 
void copy (RDocument &src, RDocument &dest, const RVector &offset, double scale, double rotation, const RVector &center, 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 RQMapQStringQString &properties=RDEFAULT_QMAP_QSTRING_QSTRING, const RQMapQStringQString &blockProperties=RDEFAULT_QMAP_QSTRING_QSTRING)
 
QSharedPointer< RBlockcopyBlock (RBlock::Id blockId, RDocument &src, RDocument &dest, bool overwriteBlocks, bool toCurrentBlock, const QString &blockName, RTransaction &transaction)
 
void copyEntity (REntity &entity, RDocument &src, RDocument &dest, const RVector &offset, double scale, double unitScale, double rotation, const RVector &center, bool flipHorizontal, bool flipVertical, bool toCurrentLayer, bool toCurrentBlock, bool overwriteLayers, bool overwriteBlocks, const QString &blockName, const QString &layerName, RTransaction &transaction, bool toModelSpaceBlock, const RQMapQStringQString &attributes=RDEFAULT_QMAP_QSTRING_QSTRING)
 Adds the given entity (and its layer(s) and block reference(s)) to the given document. More...
 
QSharedPointer< RBlockcopyEntityBlock (REntity &entity, RDocument &src, RDocument &dest, bool overwriteBlocks, bool toCurrentBlock, const QString &blockName, RTransaction &transaction)
 
QSharedPointer< RLayercopyEntityLayer (REntity &entity, RDocument &src, RDocument &dest, bool overwriteLayers, RTransaction &transaction)
 
QSharedPointer< RLinetypecopyEntityLinetype (REntity &entity, RDocument &src, RDocument &dest, bool overwriteLinetypes, RTransaction &transaction)
 
QSharedPointer< RLayercopyLayer (RLayer::Id layerId, RDocument &src, RDocument &dest, bool overwriteLayers, RTransaction &transaction)
 
QSharedPointer< RLinetypecopyLinetype (RLinetype::Id linetypeId, RDocument &src, RDocument &dest, bool overwriteLinetypes, RTransaction &transaction)
 
 RClipboardOperation ()
 Copyright (c) 2011-2018 by Andrew Mustun. More...
 
void setCopyAllLayers (bool on)
 
void setCopyEmptyBlocks (bool on)
 
virtual ~RClipboardOperation ()
 
- Public Member Functions inherited from ROperation
RS::EntityType getEntityTypeFilter () const
 
QString getText () const
 
int getTransactionGroup () const
 
bool getTransactionType (RTransaction::Type t) const
 
RTransaction::Types getTransactionTypes () const
 
 ROperation (bool undoable=true, RS::EntityType entityTypeFilter=RS::EntityAll)
 
void setAllowAll (bool on)
 
void setAllowInvisible (bool on)
 
void setKeepChildren (bool on)
 Keep child entities (e.g. More...
 
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)
 
virtual ~ROperation ()
 
- Public Member Functions inherited from RRequireHeap
void doDelete ()
 

Private Attributes

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

Additional Inherited Members

- Protected Member Functions inherited from RRequireHeap
virtual ~RRequireHeap ()
 
- Protected Attributes inherited from ROperation
bool allowAll
 
bool allowInvisible
 
RS::EntityType entityTypeFilter
 
bool keepChildren
 
bool recordAffectedObjects
 
bool spatialIndexDisabled
 
QString text
 
int transactionGroup
 
RTransaction::Types transactionTypes
 
bool undoable
 

Detailed Description

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

Scriptable:\nThis class is available in script environments.\n

Constructor & Destructor Documentation

◆ RClipboardOperation()

RClipboardOperation::RClipboardOperation ( )

Copyright (c) 2011-2018 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.

◆ ~RClipboardOperation()

virtual RClipboardOperation::~RClipboardOperation ( )
inlinevirtual

Member Function Documentation

◆ apply()

virtual RTransaction RClipboardOperation::apply ( RDocument document,
bool  preview = false 
)
inlinevirtual

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.

Implements ROperation.

Reimplemented in RPasteOperation, RCopyOperation, and RDeleteSelectionOperation.

◆ copy()

void RClipboardOperation::copy ( RDocument src,
RDocument dest,
const RVector offset,
double  scale,
double  rotation,
const RVector center,
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 RQMapQStringQString properties = RDEFAULT_QMAP_QSTRING_QSTRING,
const RQMapQStringQString blockProperties = RDEFAULT_QMAP_QSTRING_QSTRING 
)
Non-Scriptable:\nThis function is not available in script environments.\n

◆ copyBlock()

QSharedPointer< RBlock > RClipboardOperation::copyBlock ( RBlock::Id  blockId,
RDocument src,
RDocument dest,
bool  overwriteBlocks,
bool  toCurrentBlock,
const QString &  blockName,
RTransaction transaction 
)

◆ copyEntity()

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

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

Non-Scriptable:\nThis function is not available in script environments.\n
Parameters
blockNameName of an existing block in dest

◆ copyEntityBlock()

QSharedPointer< RBlock > RClipboardOperation::copyEntityBlock ( REntity entity,
RDocument src,
RDocument dest,
bool  overwriteBlocks,
bool  toCurrentBlock,
const QString &  blockName,
RTransaction transaction 
)

◆ copyEntityLayer()

QSharedPointer< RLayer > RClipboardOperation::copyEntityLayer ( REntity entity,
RDocument src,
RDocument dest,
bool  overwriteLayers,
RTransaction transaction 
)

◆ copyEntityLinetype()

QSharedPointer< RLinetype > RClipboardOperation::copyEntityLinetype ( REntity entity,
RDocument src,
RDocument dest,
bool  overwriteLinetypes,
RTransaction transaction 
)

◆ copyLayer()

QSharedPointer< RLayer > RClipboardOperation::copyLayer ( RLayer::Id  layerId,
RDocument src,
RDocument dest,
bool  overwriteLayers,
RTransaction transaction 
)

◆ copyLinetype()

QSharedPointer< RLinetype > RClipboardOperation::copyLinetype ( RLinetype::Id  linetypeId,
RDocument src,
RDocument dest,
bool  overwriteLinetypes,
RTransaction transaction 
)

◆ setCopyAllLayers()

void RClipboardOperation::setCopyAllLayers ( bool  on)
inline

◆ setCopyEmptyBlocks()

void RClipboardOperation::setCopyEmptyBlocks ( bool  on)
inline

Member Data Documentation

◆ copiedBlockContents

QSet<RBlock::Id> RClipboardOperation::copiedBlockContents
private

◆ copiedBlocks

QMap<QString, QSharedPointer<RBlock> > RClipboardOperation::copiedBlocks
private

◆ copiedLayers

QMap<QString, QSharedPointer<RLayer> > RClipboardOperation::copiedLayers
private

◆ copiedLinetypes

QMap<QString, QSharedPointer<RLinetype> > RClipboardOperation::copiedLinetypes
private

◆ copyAllLayers

bool RClipboardOperation::copyAllLayers
private

◆ copyEmptyBlocks

bool RClipboardOperation::copyEmptyBlocks
private

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