QCAD
Open Source 2D CAD
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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

List of all members.

Public Member Functions

 RClipboardOperation ()
 Copyright (c) 2011-2014 by Andrew Mustun.
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.
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)
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.
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

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
bool undoable

Detailed Description

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

Scriptable:
This class is wrapped for script environments.

Constructor & Destructor Documentation

RClipboardOperation::RClipboardOperation ( )

Copyright (c) 2011-2014 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: