Skip to content

RAddObjectsOperation

Class in Operations Module
Header: #include <src/operations/RAddObjectsOperation.h>
Inherits: ROperation
Inherited by: RAddObjectOperation, RModifyObjectsOperation
Nested classes: RModifiedObjects

Implementation of an operation that adds entities.

Scriptable: This class is available in script environments.

enum Flag { NoFlags, UseAttributes, ForceNew, GeometryOnly, Delete }
RAddObjectsOperation(bool undoable=true)
RAddObjectsOperation(QList< QSharedPointer< RObject > > &list, bool useCurrentAttributes=true, bool undoable=true)
virtual ~RAddObjectsOperation()
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.
void deleteObject(const QSharedPointer< RObject > &object)
void endCycle()
QSharedPointer< RObject > getObject(RObject::Id id)
int getPreviewCounter() const
bool isEmpty()
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.
void setLimitPreview(bool on)
QList< RModifiedObjects > addedObjects
bool limitPreview
int previewCounter

enum Flag
Value Description
NoFlags = 0x000
UseAttributes = 0x001 Use assigned attributes instead of current attributes (color, linetype, width).
ForceNew = 0x002 Force adding existing entity as new, duplicate entity.
GeometryOnly = 0x004 Only geometric properties have changed (e.g. transformation)
Delete = 0x008 Delete object.

RAddObjectsOperation::RAddObjectsOperation(bool undoable=true)

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::RAddObjectsOperation(QList< QSharedPointer< RObject > > &list, bool useCurrentAttributes=true, bool undoable=true)

virtual RAddObjectsOperation::~RAddObjectsOperation()

virtual

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

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

virtual 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.

Reimplemented from apply.

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

void RAddObjectsOperation::endCycle()

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

int RAddObjectsOperation::getPreviewCounter() const

inline const

bool RAddObjectsOperation::isEmpty()

inline

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.

void RAddObjectsOperation::setLimitPreview(bool on)

inline

QList<RModifiedObjects> RAddObjectsOperation::addedObjects

private

bool RAddObjectsOperation::limitPreview

private

int RAddObjectsOperation::previewCounter

private