QCAD
Open Source 2D CAD
RLayer Class Reference

Represents a layer in a drawing. More...

#include <RLayer.h>

Inheritance diagram for RLayer:
RObject

Public Types

enum  LayerFlag {
  Off = 0x010, Frozen = 0x020, Locked = 0x040, Collapsed = 0x080,
  Plottable = 0x100, Snappable = 0x200, OffIsFreeze = 0x400
}
 
- 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 }
 

Public Member Functions

virtual RLayerclone () const
 
QList< QString > getChildLayerNames (bool recursive=true) const
 
RColor getColor () const
 
QList< QString > getLayerNameHierarchy () const
 
RLinetype::Id getLinetypeId () const
 
RLineweight::Lineweight getLineweight () const
 
QString getName () const
 
RLayer::Id getParentLayerId () const
 
QString getParentLayerName () const
 
virtual QPair< QVariant, RPropertyAttributesgetProperty (RPropertyTypeId &propertyTypeId, bool humanReadable=false, bool noAttributes=false, bool showOnRequest=false)
 
QString getShortLayerName () const
 
virtual RS::EntityType getType () const
 
bool hasChildLayers () const
 
bool isChildLayerOf (const QString &layerName) const
 
bool isCollapsed () const
 
bool isFrozen () const
 
bool isLocked () const
 
bool isOff () const
 
bool isOffIsFreeze () const
 
bool isOffOrFrozen () const
 
bool isPlottable () const
 
bool isSnappable () const
 
 RLayer ()
 
 RLayer (const RLayer &other)
 
 RLayer (RDocument *document, const QString &name, bool frozen=false, bool locked=false, const RColor &color=Qt::black, RLinetype::Id linetypeId=RLinetype::INVALID_ID, RLineweight::Lineweight lineweight=RLineweight::Weight000, bool off=false)
 
void setCollapsed (bool on)
 
void setColor (const RColor &c)
 
void setFrozen (bool on)
 
void setLinetypeId (RLinetype::Id lt)
 
void setLineweight (RLineweight::Lineweight lw)
 
void setLocked (bool on)
 
void setName (const QString &n)
 
void setOff (bool on)
 
void setOffIsFreeze (bool on)
 
void setPlottable (bool on)
 
virtual bool setProperty (RPropertyTypeId propertyTypeId, const QVariant &value, RTransaction *transaction=NULL)
 Sets the given property to the given value. More...
 
void setSnappable (bool on)
 
virtual ~RLayer ()
 
- 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 (RPropertyAttributes::Option option=RPropertyAttributes::NoOptions) const
 
bool hasCustomProperties () const
 
bool hasCustomProperty (const QString &title, const QRegExp &key) const
 
bool hasCustomProperty (const QString &title, const QString &key) const
 
virtual bool hasPropertyType (RPropertyTypeId propertyTypeId)
 
bool isInvisible () const
 
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. More...
 
 RObject (const RObject &other)
 
 RObject (RDocument *document=NULL)
 
virtual void setAutoUpdatesBlocked (bool on)
 
virtual void setCustomProperties (const RQMapQStringQString &properties)
 
virtual void setCustomProperty (const QString &title, const QString &key, const QVariant &value)
 Sets a custom property with the given name. More...
 
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 QList< QString > getChildLayerNamesStatic (const RDocument *doc, const QString &layerName, bool recursive=true)
 
static QString getHierarchySeparator ()
 
static QList< QString > getLayerNameHierarchyStatic (const QString &layerName)
 
static RLayerProxygetLayerProxy ()
 
static QString getParentLayerNameStatic (const QString &layerName)
 
static QString getShortLayerNameStatic (const QString &layerName)
 
static bool hasChildLayersStatic (const RDocument *doc, const QString &layerName)
 
static bool hasProxy ()
 
static void init ()
 
static bool isChildLayerOfStatic (const QString &layerName, const QString &parentLayerName)
 
static void setLayerProxy (RLayerProxy *p)
 
- 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 RPropertyTypeId PropertyCollapsed
 
static RPropertyTypeId PropertyColor
 
static RPropertyTypeId PropertyCustom
 
static RPropertyTypeId PropertyFrozen
 
static RPropertyTypeId PropertyHandle
 
static RPropertyTypeId PropertyLinetype
 
static RPropertyTypeId PropertyLineweight
 
static RPropertyTypeId PropertyLocked
 
static RPropertyTypeId PropertyName
 
static RPropertyTypeId PropertyOff
 
static RPropertyTypeId PropertyOffIsFreeze
 
static RPropertyTypeId PropertyPlottable
 
static RPropertyTypeId PropertyProtected
 
static RPropertyTypeId PropertySelected
 
static RPropertyTypeId PropertySnappable
 
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 PropertyInvisible
 
static RPropertyTypeId PropertyProtected
 
static RPropertyTypeId PropertySelected
 
static RPropertyTypeId PropertyType
 
static RPropertyTypeId PropertyWorkingSet
 

Private Attributes

RColor color
 
LayerFlags flags
 
RLinetype::Id linetypeId
 
RLineweight::Lineweight lineweight
 
QString name
 

Static Private Attributes

static RLayerProxylayerProxy = NULL
 Copyright (c) 2011-2018 by Andrew Mustun. More...
 

Additional Inherited Members

- Protected Member Functions inherited from RObject
virtual void print (QDebug dbg) const
 Stream operator for QDebug. More...
 
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)
 
- 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. 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 (QList< double > &variable, const QVariant &value, bool condition)
 
static bool setMember (QString &variable, const QVariant &value, bool condition=true)
 Sets the given property. More...
 
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 layer in a drawing.

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

Member Enumeration Documentation

◆ LayerFlag

Enumerator
Off 

layer is off

Frozen 

layer is frozen

Locked 

layer is locked

Collapsed 

layer is collapsed

Plottable 

printing disabled for this layer

Snappable 

snap disabled for this layer

OffIsFreeze 

off means freeze for this layer

Constructor & Destructor Documentation

◆ RLayer() [1/3]

RLayer::RLayer ( )

◆ RLayer() [2/3]

RLayer::RLayer ( RDocument document,
const QString &  name,
bool  frozen = false,
bool  locked = false,
const RColor color = Qt::black,
RLinetype::Id  linetypeId = RLinetype::INVALID_ID,
RLineweight::Lineweight  lineweight = RLineweight::Weight000,
bool  off = false 
)

◆ RLayer() [3/3]

RLayer::RLayer ( const RLayer other)

◆ ~RLayer()

RLayer::~RLayer ( )
virtual

Member Function Documentation

◆ clone()

RLayer * RLayer::clone ( ) const
virtual

Implements RObject.

◆ getChildLayerNames()

QList<QString> RLayer::getChildLayerNames ( bool  recursive = true) const
inline

◆ getChildLayerNamesStatic()

static QList<QString> RLayer::getChildLayerNamesStatic ( const RDocument doc,
const QString &  layerName,
bool  recursive = true 
)
inlinestatic

◆ getColor()

RColor RLayer::getColor ( ) const
inline

◆ getHierarchySeparator()

static QString RLayer::getHierarchySeparator ( )
inlinestatic

◆ getLayerNameHierarchy()

QList<QString> RLayer::getLayerNameHierarchy ( ) const
inline

◆ getLayerNameHierarchyStatic()

static QList<QString> RLayer::getLayerNameHierarchyStatic ( const QString &  layerName)
inlinestatic

◆ getLayerProxy()

static RLayerProxy* RLayer::getLayerProxy ( )
inlinestatic
Non-Scriptable:\nThis function is not available in script environments.\n

◆ getLinetypeId()

RLinetype::Id RLayer::getLinetypeId ( ) const
inline

◆ getLineweight()

RLineweight::Lineweight RLayer::getLineweight ( ) const
inline

◆ getName()

QString RLayer::getName ( ) const
inline

◆ getParentLayerId()

RLayer::Id RLayer::getParentLayerId ( ) const

◆ getParentLayerName()

QString RLayer::getParentLayerName ( ) const
inline

◆ getParentLayerNameStatic()

static QString RLayer::getParentLayerNameStatic ( const QString &  layerName)
inlinestatic

◆ getProperty()

QPair< QVariant, RPropertyAttributes > RLayer::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.

◆ getShortLayerName()

QString RLayer::getShortLayerName ( ) const
inline

◆ getShortLayerNameStatic()

static QString RLayer::getShortLayerNameStatic ( const QString &  layerName)
inlinestatic

◆ getType()

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

Implements RObject.

◆ hasChildLayers()

bool RLayer::hasChildLayers ( ) const
inline

◆ hasChildLayersStatic()

static bool RLayer::hasChildLayersStatic ( const RDocument doc,
const QString &  layerName 
)
inlinestatic

◆ hasProxy()

static bool RLayer::hasProxy ( )
inlinestatic

◆ init()

void RLayer::init ( )
static

◆ isChildLayerOf()

bool RLayer::isChildLayerOf ( const QString &  layerName) const
inline

◆ isChildLayerOfStatic()

static bool RLayer::isChildLayerOfStatic ( const QString &  layerName,
const QString &  parentLayerName 
)
inlinestatic

◆ isCollapsed()

bool RLayer::isCollapsed ( ) const
inline

◆ isFrozen()

bool RLayer::isFrozen ( ) const
inline

◆ isLocked()

bool RLayer::isLocked ( ) const
inline

◆ isOff()

bool RLayer::isOff ( ) const
inline

◆ isOffIsFreeze()

bool RLayer::isOffIsFreeze ( ) const
inline

◆ isOffOrFrozen()

bool RLayer::isOffOrFrozen ( ) const
inline

◆ isPlottable()

bool RLayer::isPlottable ( ) const
inline

◆ isSnappable()

bool RLayer::isSnappable ( ) const
inline

◆ setCollapsed()

void RLayer::setCollapsed ( bool  on)
inline

◆ setColor()

void RLayer::setColor ( const RColor c)
inline

◆ setFrozen()

void RLayer::setFrozen ( bool  on)
inline

◆ setLayerProxy()

static void RLayer::setLayerProxy ( RLayerProxy p)
inlinestatic
Non-Scriptable:\nThis function is not available in script environments.\n

◆ setLinetypeId()

void RLayer::setLinetypeId ( RLinetype::Id  lt)
inline

◆ setLineweight()

void RLayer::setLineweight ( RLineweight::Lineweight  lw)
inline

◆ setLocked()

void RLayer::setLocked ( bool  on)
inline

◆ setName()

void RLayer::setName ( const QString &  n)

◆ setOff()

void RLayer::setOff ( bool  on)
inline

◆ setOffIsFreeze()

void RLayer::setOffIsFreeze ( bool  on)
inline

◆ setPlottable()

void RLayer::setPlottable ( bool  on)
inline

◆ setProperty()

bool RLayer::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.

◆ setSnappable()

void RLayer::setSnappable ( bool  on)
inline

Member Data Documentation

◆ color

RColor RLayer::color
private

◆ flags

LayerFlags RLayer::flags
private

◆ layerProxy

RLayerProxy * RLayer::layerProxy = NULL
staticprivate

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.

◆ linetypeId

RLinetype::Id RLayer::linetypeId
private

◆ lineweight

RLineweight::Lineweight RLayer::lineweight
private

◆ name

QString RLayer::name
private

◆ PropertyCollapsed

RPropertyTypeId RLayer::PropertyCollapsed
static

◆ PropertyColor

RPropertyTypeId RLayer::PropertyColor
static

◆ PropertyCustom

RPropertyTypeId RLayer::PropertyCustom
static

◆ PropertyFrozen

RPropertyTypeId RLayer::PropertyFrozen
static

◆ PropertyHandle

RPropertyTypeId RLayer::PropertyHandle
static

◆ PropertyLinetype

RPropertyTypeId RLayer::PropertyLinetype
static

◆ PropertyLineweight

RPropertyTypeId RLayer::PropertyLineweight
static

◆ PropertyLocked

RPropertyTypeId RLayer::PropertyLocked
static

◆ PropertyName

RPropertyTypeId RLayer::PropertyName
static

◆ PropertyOff

RPropertyTypeId RLayer::PropertyOff
static

◆ PropertyOffIsFreeze

RPropertyTypeId RLayer::PropertyOffIsFreeze
static

◆ PropertyPlottable

RPropertyTypeId RLayer::PropertyPlottable
static

◆ PropertyProtected

RPropertyTypeId RLayer::PropertyProtected
static

◆ PropertySelected

RPropertyTypeId RLayer::PropertySelected
static

◆ PropertySnappable

RPropertyTypeId RLayer::PropertySnappable
static

◆ PropertyType

RPropertyTypeId RLayer::PropertyType
static

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