QCAD
Open Source 2D CAD
Loading...
Searching...
No Matches
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.
 
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)
 
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, const RQMapQStringQString &properties, const RQMapQStringQString &blockProperties)
 
QSharedPointer< RBlockcopyBlock (RObject::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)
 
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)
 Adds the given entity (and its layer(s) and block reference(s)) to the given document.
 
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 (RObject::Id layerId, RDocument &src, RDocument &dest, bool overwriteLayers, RTransaction &transaction)
 
QSharedPointer< RLinetypecopyLinetype (RObject::Id linetypeId, RDocument &src, RDocument &dest, bool overwriteLinetypes, RTransaction &transaction)
 
virtual RBlockReferenceEntitycreateBlockReferenceEntity (RDocument &doc, RS::EntityType customEntityType, const RBlockReferenceData &data)
 
 RClipboardOperation ()
 Copyright (c) 2011-2018 by Andrew Mustun.
 
void setBlockOwnership (bool on)
 
void setCopyAllLayers (bool on)
 
void setCopyEmptyBlocks (bool on)
 
void setCustomEntityType (RS::EntityType t)
 
void setKeepSelection (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.
 
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

bool blockOwnership
 
QSet< RObject::IdcopiedBlockContents
 
QMap< QString, QSharedPointer< RBlock > > copiedBlocks
 
QMap< QString, QSharedPointer< RLayer > > copiedLayers
 
QMap< QString, QSharedPointer< RLinetype > > copiedLinetypes
 
bool copyAllLayers
 
bool copyEmptyBlocks
 
RS::EntityType customEntityType
 
bool keepSelection
 

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 RCopyOperation, RDeleteSelectionOperation, and RPasteOperation.

◆ copy() [1/2]

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 )
inline

◆ copy() [2/2]

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,
const RQMapQStringQString & properties,
const RQMapQStringQString & blockProperties )
Non-Scriptable:\nThis function is not available in script environments.\n

◆ copyBlock()

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

◆ copyEntity() [1/2]

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 )
inline

◆ copyEntity() [2/2]

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 )

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 ( RObject::Id layerId,
RDocument & src,
RDocument & dest,
bool overwriteLayers,
RTransaction & transaction )

◆ copyLinetype()

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

◆ createBlockReferenceEntity()

RBlockReferenceEntity * RClipboardOperation::createBlockReferenceEntity ( RDocument & doc,
RS::EntityType customEntityType,
const RBlockReferenceData & data )
virtual

◆ setBlockOwnership()

void RClipboardOperation::setBlockOwnership ( bool on)
inline

◆ setCopyAllLayers()

void RClipboardOperation::setCopyAllLayers ( bool on)
inline

◆ setCopyEmptyBlocks()

void RClipboardOperation::setCopyEmptyBlocks ( bool on)
inline

◆ setCustomEntityType()

void RClipboardOperation::setCustomEntityType ( RS::EntityType t)
inline

◆ setKeepSelection()

void RClipboardOperation::setKeepSelection ( bool on)
inline

Member Data Documentation

◆ blockOwnership

bool RClipboardOperation::blockOwnership
private

◆ copiedBlockContents

QSet<RObject::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

◆ customEntityType

RS::EntityType RClipboardOperation::customEntityType
private

◆ keepSelection

bool RClipboardOperation::keepSelection
private

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