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)
 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-2018 by Andrew Mustun. More...
virtual ~RMixedOperation ()
- 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 ()

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.


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

Member Enumeration Documentation

◆ Mode


Constructor & Destructor Documentation

◆ RMixedOperation()

RMixedOperation::RMixedOperation ( 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.

◆ ~RMixedOperation()

virtual RMixedOperation::~RMixedOperation ( )

Member Function Documentation

◆ addObject()

QSharedPointer< RObject > RMixedOperation::addObject ( const QSharedPointer< RObject > &  obj,
bool  useCurrentAttributes = true,
bool  forceNew = false 

◆ apply()

RTransaction RMixedOperation::apply ( RDocument document,
bool  preview = false 

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 RMixedOperation::deleteObject ( const QSharedPointer< RObject > &  obj)

◆ endCycle()

void RMixedOperation::endCycle ( )

◆ getMode()

bool RMixedOperation::getMode ( const RMixedOperation::Modes &  modes,
RMixedOperation::Mode  mode 
) const

◆ setMode()

void RMixedOperation::setMode ( RMixedOperation::Modes &  modes,
RMixedOperation::Mode  mode,
bool  on = true 

Member Data Documentation

◆ list

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

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