Open Source 2D CAD
RMixedOperation Class Reference

Implementation of an operation that adds, modifies and deletes entities. More...

#include <RMixedOperation.h>

Inheritance diagram for RMixedOperation:
ROperation RRequireHeap RNonCopyable

Public Types

enum  Mode {
  NoMode = 0x0, UseCurrentAttributes = 0x1, Delete = 0x2, ForceNew = 0x4,
  EndCycle = 0x8

Public Member Functions

QSharedPointer< RObjectaddObject (const QSharedPointer< RObject > &obj, bool useCurrentAttributes=true, bool forceNew=false)
virtual RTransaction apply (RDocument &document, bool preview=false) const
 Applies this operation to selection in the given document. More...
void deleteObject (const QSharedPointer< RObject > &obj)
void endCycle ()
 RMixedOperation (bool undoable=true)
 Copyright (c) 2011-2016 by Andrew Mustun. More...
virtual ~RMixedOperation ()
- Public Member Functions inherited from ROperation
RS::EntityType getEntityTypeFilter () 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 ()

Protected Member Functions

bool getMode (const RMixedOperation::Modes &modes, RMixedOperation::Mode mode) const
void setMode (RMixedOperation::Modes &modes, RMixedOperation::Mode mode, bool on=true)
- Protected Member Functions inherited from RRequireHeap
virtual ~RRequireHeap ()

Private Attributes

QList< QPair< QSharedPointer< RObject >, Modes > > list

Additional Inherited Members

- 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, modifies and deletes entities.

This class is available in script environments.

Constructor & Destructor Documentation

RMixedOperation::RMixedOperation ( bool  undoable = true)

Copyright (c) 2011-2016 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 RMixedOperation::~RMixedOperation ( )

Member Function Documentation

QSharedPointer< RObject > RMixedOperation::addObject ( const QSharedPointer< RObject > &  obj,
bool  useCurrentAttributes = true,
bool  forceNew = false 
RTransaction RMixedOperation::apply ( RDocument document,
bool  preview = false 
) const

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.

void RMixedOperation::deleteObject ( const QSharedPointer< RObject > &  obj)
void RMixedOperation::endCycle ( )
bool RMixedOperation::getMode ( const RMixedOperation::Modes &  modes,
RMixedOperation::Mode  mode 
) const
void RMixedOperation::setMode ( RMixedOperation::Modes &  modes,
RMixedOperation::Mode  mode,
bool  on = true 

Member Data Documentation

QList<QPair<QSharedPointer<RObject>, Modes> > RMixedOperation::list

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