QCAD
Open Source 2D CAD
Loading...
Searching...
No Matches
RBlock Class Reference

Represents a block definition in a drawing. More...

#include <RBlock.h>

Inheritance diagram for RBlock:
RObject

Public Member Functions

virtual QSharedPointer< RObjectclone () const
 
QSharedPointer< RBlockcloneToBlock () const
 
RObject::Id getLayoutId () const
 
QString getLayoutName () const
 
QString getName () const
 
RVector getOrigin () const
 
virtual QPair< QVariant, RPropertyAttributesgetProperty (RPropertyTypeId &propertyTypeId, bool humanReadable=false, bool noAttributes=false, bool showOnRequest=false)
 
virtual RS::EntityType getType () const
 
bool hasLayout () const
 
bool isAnonymous () const
 
bool isFrozen () const
 
bool isModelSpace () const
 
bool isOwnedByReference () const
 
bool isPixelUnit () const
 
 RBlock ()
 
 RBlock (RDocument *document, const QString &name, const RVector &origin)
 
void setAnonymous (bool on)
 
virtual void setCustomProperty (const QString &title, const QString &key, const QVariant &value)
 Sets a custom property with the given name.
 
void setFrozen (bool on)
 
void setLayoutId (RObject::Id layoutId)
 
void setName (const QString &n)
 
void setOrigin (const RVector &origin)
 
void setOwnedByReference (bool on)
 
void setPixelUnit (bool on)
 
virtual bool setProperty (RPropertyTypeId propertyTypeId, const QVariant &value, RTransaction *transaction=NULL)
 Sets the given property to the given value.
 
virtual ~RBlock ()
 
- Public Member Functions inherited from RObject
void copyCustomPropertiesFrom (const RObject *other, const QString &title=RDEFAULT_QSTRING, bool overwrite=false, const QStringList &ignoreList=RDEFAULT_QSTRINGLIST, const QString &mapKeyFrom=RDEFAULT_QSTRING, const QString &mapKeyTo=RDEFAULT_QSTRING)
 Copies all custom properties from the given object.
 
void dump () const
 
virtual int getComplexity () const
 
virtual bool getCustomBoolProperty (const QString &title, const QString &key, bool defaultValue) const
 
virtual double getCustomDoubleProperty (const QString &title, const QString &key, double defaultValue) const
 
virtual int getCustomIntProperty (const QString &title, const QString &key, int defaultValue) const
 
QMap< QString, QVariantMap > getCustomProperties () const
 
virtual QVariant getCustomProperty (const QString &title, const QString &key, const QVariant &defaultValue=RDEFAULT_QVARIANT) const
 
QStringList getCustomPropertyKeys (const QString &title) const
 
QStringList getCustomPropertyTitles () const
 
virtual QSet< RPropertyTypeIdgetCustomPropertyTypeIds () const
 
RDocumentgetDocument ()
 
const RDocumentgetDocument () const
 
bool getFlag (int flag) const
 
RObject::Handle getHandle () const
 
RObject::Id getId () const
 
virtual QSet< RPropertyTypeIdgetPropertyTypeIds (RPropertyAttributes::Option option=RPropertyAttributes::NoOptions) const
 
bool hasCustomProperties () const
 
bool hasCustomProperty (const QString &title, const QRegularExpression &key) const
 
bool hasCustomProperty (const QString &title, const QString &key) const
 
virtual bool hasPropertyType (RPropertyTypeId propertyTypeId)
 
bool isInvisible () const
 
virtual bool isOfType (RS::EntityType t) const
 Override to indicate that this entity is of a certain type, e.g.
 
bool isProtected () const
 
virtual bool isSelected () const
 
bool isUndone () const
 
virtual bool isWorkingSet () const
 
virtual bool mustAlwaysClone () const
 
virtual void removeCustomProperty (const QString &title, const QString &key)
 Removes the custom property with the given name.
 
 RObject (const RObject &other)
 
 RObject (RDocument *document=NULL)
 
virtual void setAutoUpdatesBlocked (bool on)
 
virtual void setCustomProperties (const RQMapQStringQString &properties)
 
void setDocument (RDocument *document)
 
void setFlag (int flag, bool on=true)
 
void setInvisible (bool on)
 
void setProtected (bool on)
 
virtual void setSelected (bool on)
 
virtual void setWorkingSet (bool on)
 
virtual bool validate ()
 
virtual ~RObject ()
 

Static Public Member Functions

static RS::EntityType getRtti ()
 
static void init ()
 
- Static Public Member Functions inherited from RObject
static RPropertyAttributes getCustomPropertyAttributes (const QString &title, const QString &key)
 
static RS::EntityType getRtti ()
 
static void init ()
 
static void setCustomPropertyAttributes (const QString &title, const QString &key, const RPropertyAttributes &att)
 Set attributes (read-only, invisible, ...) for the given custom property.
 
template<class T >
static bool setMember (T &variable, const QVariant &value, bool condition=true)
 

Static Public Attributes

static const QString modelSpaceName = "*Model_Space"
 Copyright (c) 2011-2018 by Andrew Mustun.
 
static const QString paperSpaceName = "*Paper_Space"
 
static RPropertyTypeId PropertyCustom
 
static RPropertyTypeId PropertyFrozen
 
static RPropertyTypeId PropertyHandle
 
static RPropertyTypeId PropertyLayout
 
static RPropertyTypeId PropertyName
 
static RPropertyTypeId PropertyOriginX
 
static RPropertyTypeId PropertyOriginY
 
static RPropertyTypeId PropertyOriginZ
 
static RPropertyTypeId PropertyOwnedByReference
 
static RPropertyTypeId PropertyPixelUnit
 
static RPropertyTypeId PropertyType
 
- Static Public Attributes inherited from RObject
static const Handle INVALID_HANDLE = -1
 
static const Id INVALID_ID = -1
 Copyright (c) 2011-2018 by Andrew Mustun.
 
static RPropertyTypeId PropertyCustom
 
static RPropertyTypeId PropertyHandle
 
static RPropertyTypeId PropertyInvisible
 
static RPropertyTypeId PropertyProtected
 
static RPropertyTypeId PropertySelected
 
static RPropertyTypeId PropertyType
 
static RPropertyTypeId PropertyWorkingSet
 

Protected Member Functions

virtual void print (QDebug dbg) const
 
- Protected Member Functions inherited from RObject
void setHandle (RObject::Handle h)
 
void setId (RObject::Id id)
 
bool setMemberFlag (int flag, const QVariant &value, bool condition=true)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
void setUndone (bool on)
 

Private Attributes

bool anonymous
 
bool frozen
 
RObject::Id layoutId
 
QString name
 
RVector origin
 
bool ownedByReference
 
bool pixelUnit
 

Additional Inherited Members

- Public Types inherited from RObject
typedef int Handle
 
typedef int Id
 
enum  ObjectFlag {
  NoFlags = 0x000 , Undone = 0x001 , Protect = 0x002 , Selected = 0x004 ,
  Invisible = 0x008 , WorkingSet = 0x010
}
 
enum  XYZ { X , Y , Z }
 
- Static Protected Member Functions inherited from RObject
static bool setMember (bool &variable, const QVariant &value, bool condition=true)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
static bool setMember (double &variable, const QVariant &value, bool condition=true)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
static bool setMember (int &variable, const QVariant &value, bool condition=true)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
static bool setMember (QList< double > &variable, const QVariant &value, bool condition)
 
static bool setMember (QList< int > &variable, const QVariant &value, bool condition)
 
static bool setMember (QString &variable, const QVariant &value, bool condition=true)
 Sets the given property.
 
static bool setMemberVector (QList< RVector > &variable, const QVariant &value, RObject::XYZ xyz)
 
static bool setMemberX (QList< RVector > &variable, const QVariant &value, bool condition=true)
 
static bool setMemberY (QList< RVector > &variable, const QVariant &value, bool condition=true)
 
static bool setMemberZ (QList< RVector > &variable, const QVariant &value, bool condition=true)
 

Detailed Description

Represents a block definition in a drawing.

Scriptable:\nThis class is available in script environments.\n
Shared Pointer Support:\nObjects can be used in QSharedPointer.\n

Constructor & Destructor Documentation

◆ RBlock() [1/2]

RBlock::RBlock ( )

◆ RBlock() [2/2]

RBlock::RBlock ( RDocument * document,
const QString & name,
const RVector & origin )

◆ ~RBlock()

RBlock::~RBlock ( )
virtual

Member Function Documentation

◆ clone()

virtual QSharedPointer< RObject > RBlock::clone ( ) const
inlinevirtual

Implements RObject.

◆ cloneToBlock()

QSharedPointer< RBlock > RBlock::cloneToBlock ( ) const
inline

◆ getLayoutId()

RObject::Id RBlock::getLayoutId ( ) const
inline

◆ getLayoutName()

QString RBlock::getLayoutName ( ) const

◆ getName()

QString RBlock::getName ( ) const
inline

◆ getOrigin()

RVector RBlock::getOrigin ( ) const
inline

◆ getProperty()

QPair< QVariant, RPropertyAttributes > RBlock::getProperty ( RPropertyTypeId & propertyTypeId,
bool humanReadable = false,
bool noAttributes = false,
bool showOnRequest = false )
virtual
Returns
The value and attributes of the given property or an invalid property if this property owner has no property with the given ID.

Reimplemented from RObject.

◆ getRtti()

static RS::EntityType RBlock::getRtti ( )
inlinestatic

◆ getType()

virtual RS::EntityType RBlock::getType ( ) const
inlinevirtual
Returns
The unique entity type, usually the same as RTTI, different for custom entities.

Reimplemented from RObject.

◆ hasLayout()

bool RBlock::hasLayout ( ) const
inline

◆ init()

void RBlock::init ( )
static

◆ isAnonymous()

bool RBlock::isAnonymous ( ) const
inline

◆ isFrozen()

bool RBlock::isFrozen ( ) const
inline

◆ isModelSpace()

bool RBlock::isModelSpace ( ) const
inline

◆ isOwnedByReference()

bool RBlock::isOwnedByReference ( ) const
inline

◆ isPixelUnit()

bool RBlock::isPixelUnit ( ) const
inline

◆ print()

void RBlock::print ( QDebug dbg) const
protectedvirtual
Non-Scriptable:\nThis function is not available in script environments.\n

Reimplemented from RObject.

◆ setAnonymous()

void RBlock::setAnonymous ( bool on)
inline

◆ setCustomProperty()

void RBlock::setCustomProperty ( const QString & title,
const QString & key,
const QVariant & value )
virtual

Sets a custom property with the given name.

Reimplemented from RObject.

◆ setFrozen()

void RBlock::setFrozen ( bool on)
inline

◆ setLayoutId()

void RBlock::setLayoutId ( RObject::Id layoutId)
inline

◆ setName()

void RBlock::setName ( const QString & n)

◆ setOrigin()

void RBlock::setOrigin ( const RVector & origin)
inline

◆ setOwnedByReference()

void RBlock::setOwnedByReference ( bool on)
inline

◆ setPixelUnit()

void RBlock::setPixelUnit ( bool on)
inline

◆ setProperty()

bool RBlock::setProperty ( RPropertyTypeId propertyTypeId,
const QVariant & value,
RTransaction * transaction = NULL )
virtual

Sets the given property to the given value.

If this property owner does not know a property with that ID, it is up to the property owner what happens. The property might be added into a list of dynamic properties or dropped.

Returns
True if the property owner was modified in any way, false otherwise.

Reimplemented from RObject.

Member Data Documentation

◆ anonymous

bool RBlock::anonymous
private

◆ frozen

bool RBlock::frozen
private

◆ layoutId

RObject::Id RBlock::layoutId
private

◆ modelSpaceName

const QString RBlock::modelSpaceName = "*Model_Space"
static

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.

◆ name

QString RBlock::name
private

◆ origin

RVector RBlock::origin
private

◆ ownedByReference

bool RBlock::ownedByReference
private

◆ paperSpaceName

const QString RBlock::paperSpaceName = "*Paper_Space"
static

◆ pixelUnit

bool RBlock::pixelUnit
private

◆ PropertyCustom

RPropertyTypeId RBlock::PropertyCustom
static

◆ PropertyFrozen

RPropertyTypeId RBlock::PropertyFrozen
static

◆ PropertyHandle

RPropertyTypeId RBlock::PropertyHandle
static

◆ PropertyLayout

RPropertyTypeId RBlock::PropertyLayout
static

◆ PropertyName

RPropertyTypeId RBlock::PropertyName
static

◆ PropertyOriginX

RPropertyTypeId RBlock::PropertyOriginX
static

◆ PropertyOriginY

RPropertyTypeId RBlock::PropertyOriginY
static

◆ PropertyOriginZ

RPropertyTypeId RBlock::PropertyOriginZ
static

◆ PropertyOwnedByReference

RPropertyTypeId RBlock::PropertyOwnedByReference
static

◆ PropertyPixelUnit

RPropertyTypeId RBlock::PropertyPixelUnit
static

◆ PropertyType

RPropertyTypeId RBlock::PropertyType
static

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