QCAD
Open Source 2D CAD
RBlock Class Reference

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

#include <RBlock.h>

Inheritance diagram for RBlock:
RObject

Public Member Functions

virtual RBlockclone () const
 
RLayout::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 isPixelUnit () const
 
virtual bool isSelectedForPropertyEditing ()
 
 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. More...
 
void setFrozen (bool on)
 
void setLayoutId (RLayout::Id layoutId)
 
void setName (const QString &n)
 
void setOrigin (const RVector &origin)
 
void setPixelUnit (bool on)
 
virtual bool setProperty (RPropertyTypeId propertyTypeId, const QVariant &value, RTransaction *transaction=NULL)
 Sets the given property to the given value. More...
 
virtual ~RBlock ()
 
- Public Member Functions inherited from RObject
void copyCustomPropertiesFrom (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. More...
 
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 () const
 
bool hasCustomProperties () const
 
bool hasCustomProperty (const QString &title, const QString &key) const
 
bool hasCustomProperty (const QString &title, const QRegExp &key) const
 
virtual bool hasPropertyType (RPropertyTypeId propertyTypeId)
 
bool isProtected () const
 
bool isUndone () const
 
virtual void removeCustomProperty (const QString &title, const QString &key)
 Removes the custom property with the given name. More...
 
 RObject (RDocument *document=NULL)
 
 RObject (const RObject &other)
 
virtual void setAutoUpdatesBlocked (bool on)
 
virtual void setCustomProperties (const RQMapQStringQString &properties)
 
void setDocument (RDocument *document)
 
void setFlag (int flag, bool on=true)
 
void setProtected (bool on)
 
virtual ~RObject ()
 

Static Public Member Functions

static void init ()
 
- Static Public Member Functions inherited from RObject
static RPropertyAttributes getCustomPropertyAttributes (const QString &title, const QString &key)
 
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. More...
 
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. More...
 
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 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. More...
 
static RPropertyTypeId PropertyCustom
 
static RPropertyTypeId PropertyHandle
 
static RPropertyTypeId PropertyProtected
 
static RPropertyTypeId PropertyType
 

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. More...
 
void setUndone (bool on)
 

Private Attributes

bool anonymous
 
bool frozen
 
RLayout::Id layoutId
 
QString name
 
RVector origin
 
bool pixelUnit
 

Additional Inherited Members

- Public Types inherited from RObject
typedef int Handle
 
typedef int Id
 
enum  ObjectFlag { NoFlags = 0x000, Undone = 0x001, Protect = 0x002 }
 
enum  XYZ { X, Y, Z }
 
- Static Protected Member Functions inherited from RObject
static bool setMember (QString &variable, const QVariant &value, bool condition=true)
 Sets the given property. More...
 
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. More...
 
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. More...
 
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. More...
 
static bool setMember (QList< double > &variable, const QVariant &value, bool condition)
 
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:
This class is available in script environments.
Shared Pointer Support:
Objects can be used in QSharedPointer.

Constructor & Destructor Documentation

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

Member Function Documentation

RBlock * RBlock::clone ( ) const
virtual

Implements RObject.

RLayout::Id RBlock::getLayoutId ( ) const
inline
QString RBlock::getLayoutName ( ) const
QString RBlock::getName ( ) const
inline
RVector RBlock::getOrigin ( ) const
inline
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.

virtual RS::EntityType RBlock::getType ( ) const
inlinevirtual

Implements RObject.

bool RBlock::hasLayout ( ) const
inline
void RBlock::init ( )
static
bool RBlock::isAnonymous ( ) const
inline
bool RBlock::isFrozen ( ) const
inline
bool RBlock::isModelSpace ( ) const
inline
bool RBlock::isPixelUnit ( ) const
inline
bool RBlock::isSelectedForPropertyEditing ( )
virtual
Returns
True if this object is selected for editing. This means that the properties of this object should for example be shown in a property editor.

Implements RObject.

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

Reimplemented from RObject.

void RBlock::setAnonymous ( bool  on)
inline
void RBlock::setCustomProperty ( const QString &  title,
const QString &  key,
const QVariant &  value 
)
virtual

Sets a custom property with the given name.

Reimplemented from RObject.

void RBlock::setFrozen ( bool  on)
inline
void RBlock::setLayoutId ( RLayout::Id  layoutId)
inline
void RBlock::setName ( const QString &  n)
void RBlock::setOrigin ( const RVector origin)
inline
void RBlock::setPixelUnit ( bool  on)
inline
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

bool RBlock::anonymous
private
bool RBlock::frozen
private
RLayout::Id RBlock::layoutId
private
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.

QString RBlock::name
private
RVector RBlock::origin
private
const QString RBlock::paperSpaceName = "*Paper_Space"
static
bool RBlock::pixelUnit
private
RPropertyTypeId RBlock::PropertyCustom
static
RPropertyTypeId RBlock::PropertyFrozen
static
RPropertyTypeId RBlock::PropertyHandle
static
RPropertyTypeId RBlock::PropertyLayout
static
RPropertyTypeId RBlock::PropertyName
static
RPropertyTypeId RBlock::PropertyOriginX
static
RPropertyTypeId RBlock::PropertyOriginY
static
RPropertyTypeId RBlock::PropertyOriginZ
static
RPropertyTypeId RBlock::PropertyPixelUnit
static
RPropertyTypeId RBlock::PropertyType
static

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