QCAD
Open Source 2D CAD
RAttributeEntity.h
Go to the documentation of this file.
1 
20 #ifndef RATTRIBUTEENTITY_H
21 #define RATTRIBUTEENTITY_H
22 
23 #include "entity_global.h"
24 
25 #include "RTextBasedEntity.h"
27 #include "RAttributeData.h"
28 
29 class RDocument;
30 class RExporter;
31 
40 
41  Q_DECLARE_TR_FUNCTIONS(RAttributeEntity)
42 
43 public:
57 
77 
78 public:
79  RAttributeEntity(RDocument* document, const RAttributeData& data);
80  virtual ~RAttributeEntity();
81 
82  static void init();
83 
84  static QSet<RPropertyTypeId> getStaticPropertyTypeIds() {
86  }
87 
88  virtual RAttributeEntity* clone() const {
89  return new RAttributeEntity(*this);
90  }
91 
92  virtual RAttributeData& getData() {
93  return data;
94  }
95 
96  virtual const RAttributeData& getData() const {
97  return data;
98  }
99 
101  data = d;
102  }
103 
104 
105  virtual bool setProperty(RPropertyTypeId propertyTypeId, const QVariant& value,
106  RTransaction* transaction=NULL);
107  virtual QPair<QVariant, RPropertyAttributes> getProperty(
108  RPropertyTypeId& propertyTypeId,
109  bool humanReadable = false, bool noAttributes = false, bool showOnRequest = false);
110 
111  void exportEntity(RExporter& e, bool preview, bool forceSelected=false) const;
112 
113  QString getTag() const {
114  return data.getTag();
115  }
116 
117  void setTag(const QString& t) {
118  data.setTag(t);
119  }
120 
121  bool isInvisible() const {
122  return data.isInvisible();
123  }
124 
125  void setInvisible(bool i) {
126  data.setInvisible(i);
127  }
128 
129 protected:
130  virtual void print(QDebug dbg) const;
131 
132 protected:
134 };
135 
137 Q_DECLARE_METATYPE(QSharedPointer<RAttributeEntity>)
138 Q_DECLARE_METATYPE(QSharedPointer<RAttributeEntity>*)
139 
140 #endif
RAttributeEntity::setInvisible
void setInvisible(bool i)
Definition: RAttributeEntity.h:125
RAttributeEntity::PropertyLayer
static RPropertyTypeId PropertyLayer
Definition: RAttributeEntity.h:50
RAttributeData
Stores and manages all data that defines the geometry and appearance of a block attribute entity.
Definition: RAttributeData.h:42
RAttributeEntity::PropertyLinetype
static RPropertyTypeId PropertyLinetype
Definition: RAttributeEntity.h:51
RTextBasedEntity::print
virtual void print(QDebug dbg) const
Stream operator for QDebug.
Definition: RTextBasedEntity.cpp:234
RAttributeEntity::setTag
void setTag(const QString &t)
Definition: RAttributeEntity.h:117
RAttributeEntity::PropertyBold
static RPropertyTypeId PropertyBold
Definition: RAttributeEntity.h:60
RTextBasedEntity::init
static void init()
Definition: RTextBasedEntity.cpp:61
RTextBasedEntity.h
RAttributeEntity::clone
virtual RAttributeEntity * clone() const
Definition: RAttributeEntity.h:88
RAttributeEntity::PropertyInvisible
static RPropertyTypeId PropertyInvisible
Definition: RAttributeEntity.h:74
RAttributeEntity::PropertyPositionY
static RPropertyTypeId PropertyPositionY
Definition: RAttributeEntity.h:68
RAttributeEntity::PropertyBackward
static RPropertyTypeId PropertyBackward
Definition: RAttributeEntity.h:75
RTextBasedEntity::getProperty
virtual QPair< QVariant, RPropertyAttributes > getProperty(RPropertyTypeId &propertyTypeId, bool humanReadable=false, bool noAttributes=false, bool showOnRequest=false)
Definition: RTextBasedEntity.cpp:153
RAttributeEntity::PropertyLinetypeScale
static RPropertyTypeId PropertyLinetypeScale
Definition: RAttributeEntity.h:52
RAttributeEntity::PropertyXScale
static RPropertyTypeId PropertyXScale
Definition: RAttributeEntity.h:59
RAttributeEntity
Attribute entity.
Definition: RAttributeEntity.h:39
i
int i
Copyright (c) 2011-2018 by Andrew Mustun.
Definition: autostart.js:49
RAttributeEntity::PropertyVAlign
static RPropertyTypeId PropertyVAlign
Definition: RAttributeEntity.h:73
RAttributeEntity::PropertyWidth
static RPropertyTypeId PropertyWidth
Definition: RAttributeEntity.h:64
QCADENTITY_EXPORT
#define QCADENTITY_EXPORT
Definition: entity_global.h:10
RTextBasedEntity::exportEntity
virtual void exportEntity(RExporter &e, bool preview=false, bool forceSelected=false) const
Exports the entity to the given exporter.
Definition: RTextBasedEntity.cpp:200
RAttributeEntity::PropertyLineSpacingFactor
static RPropertyTypeId PropertyLineSpacingFactor
Definition: RAttributeEntity.h:66
RAttributeEntity::isInvisible
bool isInvisible() const
Definition: RAttributeEntity.h:121
RAttributeEntity::data
RAttributeData data
Definition: RAttributeEntity.h:133
RAttributeEntity::PropertyType
static RPropertyTypeId PropertyType
Definition: RAttributeEntity.h:48
RAttributeDefinitionEntity.h
RAttributeEntity::PropertyUpsideDown
static RPropertyTypeId PropertyUpsideDown
Definition: RAttributeEntity.h:76
Q_DECLARE_METATYPE
Q_DECLARE_METATYPE(RMath *)
RAttributeEntity::PropertyText
static RPropertyTypeId PropertyText
Definition: RAttributeEntity.h:71
RAttributeEntity::PropertyCustom
static RPropertyTypeId PropertyCustom
Copyright (c) 2011-2018 by Andrew Mustun.
Definition: RAttributeEntity.h:44
RPropertyTypeId
Copyright (c) 2011-2018 by Andrew Mustun.
Definition: RPropertyTypeId.h:59
RAttributeEntity::PropertyPlainText
static RPropertyTypeId PropertyPlainText
Definition: RAttributeEntity.h:72
RTextBasedEntity::setProperty
virtual bool setProperty(RPropertyTypeId propertyTypeId, const QVariant &value, RTransaction *transaction=NULL)
Sets the given property to the given value.
Definition: RTextBasedEntity.cpp:94
RAttributeEntity::PropertyHeight
static RPropertyTypeId PropertyHeight
Definition: RAttributeEntity.h:63
RAttributeEntity::getData
virtual const RAttributeData & getData() const
Definition: RAttributeEntity.h:96
RAttributeEntity::PropertyPositionZ
static RPropertyTypeId PropertyPositionZ
Definition: RAttributeEntity.h:69
RExporter
Abstract base class for exporters.
Definition: RExporter.h:72
RAttributeEntity::PropertyWorkingSet
static RPropertyTypeId PropertyWorkingSet
Definition: RAttributeEntity.h:47
RDocument
A graphics document contains and owns entities, layers, user coordinate systems, variables,...
Definition: RDocument.h:72
RAttributeEntity::PropertyItalic
static RPropertyTypeId PropertyItalic
Definition: RAttributeEntity.h:65
RAttributeEntity::PropertyFontName
static RPropertyTypeId PropertyFontName
Definition: RAttributeEntity.h:61
RAttributeEntity::PropertyProtected
static RPropertyTypeId PropertyProtected
Definition: RAttributeEntity.h:46
RAttributeEntity::PropertyTag
static RPropertyTypeId PropertyTag
Definition: RAttributeEntity.h:70
RAttributeEntity::PropertyBlock
static RPropertyTypeId PropertyBlock
Definition: RAttributeEntity.h:49
RAttributeData.h
RAttributeEntity::getTag
QString getTag() const
Definition: RAttributeEntity.h:113
RTextBasedEntity
Text entity.
Definition: RTextBasedEntity.h:38
RAttributeEntity::PropertyHAlign
static RPropertyTypeId PropertyHAlign
Definition: RAttributeEntity.h:62
RAttributeEntity::PropertyAngle
static RPropertyTypeId PropertyAngle
Definition: RAttributeEntity.h:58
RAttributeEntity::PropertyLineweight
static RPropertyTypeId PropertyLineweight
Definition: RAttributeEntity.h:53
RAttributeEntity::PropertyPositionX
static RPropertyTypeId PropertyPositionX
Definition: RAttributeEntity.h:67
RTransaction
Transaction implementation.
Definition: RTransaction.h:74
RAttributeEntity::PropertyHandle
static RPropertyTypeId PropertyHandle
Definition: RAttributeEntity.h:45
RPropertyTypeId::getPropertyTypeIds
static QSet< RPropertyTypeId > getPropertyTypeIds(const std::type_info &classInfo, RPropertyAttributes::Option=RPropertyAttributes::NoOptions)
Gets all property type IDs that where registered for the given class.
Definition: RPropertyTypeId.cpp:273
RAttributeEntity::setData
void setData(RAttributeData &d)
Definition: RAttributeEntity.h:100
RAttributeEntity::getData
virtual RAttributeData & getData()
Definition: RAttributeEntity.h:92
RAttributeEntity::PropertyDrawOrder
static RPropertyTypeId PropertyDrawOrder
Definition: RAttributeEntity.h:56
RAttributeEntity::PropertyColor
static RPropertyTypeId PropertyColor
Definition: RAttributeEntity.h:54
entity_global.h
RAttributeEntity::getStaticPropertyTypeIds
static QSet< RPropertyTypeId > getStaticPropertyTypeIds()
Definition: RAttributeEntity.h:84
RAttributeEntity::PropertyDisplayedColor
static RPropertyTypeId PropertyDisplayedColor
Definition: RAttributeEntity.h:55