QCAD
Open Source 2D CAD
RAddObjectsOperation Class Reference

Implementation of an operation that adds entities. More...

#include <RAddObjectsOperation.h>

Inheritance diagram for RAddObjectsOperation:
ROperation RRequireHeap RNonCopyable RAddObjectOperation RModifyObjectsOperation RModifyObjectOperation

Classes

class  RModifiedObjects
 

Public Types

enum  Flag {
  NoFlags = 0x000, UseAttributes = 0x001, ForceNew = 0x002, GeometryOnly = 0x004,
  Delete = 0x008
}
 

Public Member Functions

void addObject (const QSharedPointer< RObject > &object, bool useCurrentAttributes=true, bool forceNew=false)
 
void addObject (const QSharedPointer< RObject > &object, RAddObjectsOperation::Flags flags)
 
virtual RTransaction apply (RDocument &document, bool preview=false)
 Applies this operation to selection in the given document. More...
 
void deleteObject (const QSharedPointer< RObject > &object)
 
void endCycle ()
 
QSharedPointer< RObjectgetObject (RObject::Id id)
 
int getPreviewCounter () const
 
bool isEmpty ()
 
 RAddObjectsOperation (bool undoable=true)
 Copyright (c) 2011-2018 by Andrew Mustun. More...
 
 RAddObjectsOperation (QList< QSharedPointer< RObject > > &list, bool useCurrentAttributes=true, bool undoable=true)
 
void replaceObject (const QSharedPointer< RObject > &object, bool useCurrentAttributes=true)
 Adds the given object to this operation or replaces an object already present with the same ID. More...
 
void setLimitPreview (bool on)
 
virtual ~RAddObjectsOperation ()
 
- Public Member Functions inherited from ROperation
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 ()
 

Private Attributes

QList< RModifiedObjectsaddedObjects
 
bool limitPreview
 
int previewCounter
 

Additional Inherited Members

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

Detailed Description

Implementation of an operation that adds entities.

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

Member Enumeration Documentation

◆ Flag

Enumerator
NoFlags 
UseAttributes 

Use assigned attributes instead of current attributes (color, linetype, width)

ForceNew 

Force adding existing entity as new, duplicate entity.

GeometryOnly 

Only geometric properties have changed (e.g.

transformation)

Delete 

Delete object.

Constructor & Destructor Documentation

◆ RAddObjectsOperation() [1/2]

RAddObjectsOperation::RAddObjectsOperation ( bool  undoable = true)

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.

◆ RAddObjectsOperation() [2/2]

RAddObjectsOperation::RAddObjectsOperation ( QList< QSharedPointer< RObject > > &  list,
bool  useCurrentAttributes = true,
bool  undoable = true 
)

◆ ~RAddObjectsOperation()

RAddObjectsOperation::~RAddObjectsOperation ( )
virtual

Member Function Documentation

◆ addObject() [1/2]

void RAddObjectsOperation::addObject ( const QSharedPointer< RObject > &  object,
bool  useCurrentAttributes = true,
bool  forceNew = false 
)

◆ addObject() [2/2]

void RAddObjectsOperation::addObject ( const QSharedPointer< RObject > &  object,
RAddObjectsOperation::Flags  flags 
)

◆ apply()

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

Implements ROperation.

◆ deleteObject()

void RAddObjectsOperation::deleteObject ( const QSharedPointer< RObject > &  object)

◆ endCycle()

void RAddObjectsOperation::endCycle ( )

◆ getObject()

QSharedPointer< RObject > RAddObjectsOperation::getObject ( RObject::Id  id)

◆ getPreviewCounter()

int RAddObjectsOperation::getPreviewCounter ( ) const
inline

◆ isEmpty()

bool RAddObjectsOperation::isEmpty ( )
inline

◆ replaceObject()

void RAddObjectsOperation::replaceObject ( const QSharedPointer< RObject > &  object,
bool  useCurrentAttributes = true 
)

Adds the given object to this operation or replaces an object already present with the same ID.

◆ setLimitPreview()

void RAddObjectsOperation::setLimitPreview ( bool  on)
inline

Member Data Documentation

◆ addedObjects

QList<RModifiedObjects> RAddObjectsOperation::addedObjects
private

◆ limitPreview

bool RAddObjectsOperation::limitPreview
private

◆ previewCounter

int RAddObjectsOperation::previewCounter
private

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