QCAD
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-2015 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 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 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.

Scriptable:
This class is available in script environments.

Constructor & Destructor Documentation

RMixedOperation::RMixedOperation ( bool  undoable = true)

Copyright (c) 2011-2015 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 ( )
inlinevirtual

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

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

Member Data Documentation

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

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