QCAD
Open Source 2D CAD
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RBlock.h
Go to the documentation of this file.
1 
20 #ifndef RBLOCK_H
21 #define RBLOCK_H
22 
23 #include "core_global.h"
24 
25 #include <QString>
26 #include <QDebug>
27 
28 #include "RGlobal.h"
29 #include "RObject.h"
30 #include "RVector.h"
31 #include "RPropertyTypeId.h"
32 
33 class RDocument;
34 class RTransaction;
35 
36 //class QCADCORE_EXPORT RAttributeDefinition : public RText {
37 //public:
38 // RAttributeDefinition(const QString& tag, const QString& prompt, const QString& value)
39 // : tag(tag), prompt(prompt), value(value) {}
40 
41 // int getId() {
42 // return id;
43 // }
44 
45 // QString getTag() {
46 // return tag;
47 // }
48 
49 // QString getPrompt() {
50 // return prompt;
51 // }
52 
53 // QString getValue() {
54 // return value;
55 // }
56 
57 //private:
58 // int id;
59 // QString tag;
60 // QString prompt;
61 // QString value;
62 //};
63 
72 public:
75 
76 public:
77  RBlock();
78 
79  RBlock(RDocument* document, const QString& name, const RVector& origin);
80 
81  virtual ~RBlock();
82 
83  static void init();
84 
85  virtual RBlock* clone() const;
86 
87  QString getName() const {
88  return name;
89  }
90 
91  void setName(const QString& n);
92 
93  bool isFrozen() const {
94  return frozen;
95  }
96 
97  void setFrozen(bool on) {
98  if (QString::compare(name, modelSpaceName, Qt::CaseInsensitive)!=0) {
99  frozen = on;
100  }
101  }
102 
103  void setOrigin(const RVector& origin) {
104  this->origin = origin;
105  }
106 
107  RVector getOrigin() const {
108  return origin;
109  }
110 
111  virtual QPair<QVariant, RPropertyAttributes> getProperty(RPropertyTypeId& propertyTypeId,
112  bool humanReadable = false, bool noAttributes = false);
113  virtual bool setProperty(RPropertyTypeId propertyTypeId,
114  const QVariant& value, RTransaction* transaction=NULL);
115 
116  virtual bool isSelectedForPropertyEditing();
117 
118  //void setAttributeDefinition(const RAttributeDefinition& attDef);
119 
120 public:
121  static const QString modelSpaceName;
122 
123 protected:
127  virtual void print(QDebug dbg) const;
128 
129 private:
130  QString name;
131  bool frozen;
133 
134  //QList<RAttributeDefinition> attributeDefinitions;
135 };
136 
137 
138 Q_DECLARE_METATYPE(QSharedPointer<RBlock>)
139 Q_DECLARE_METATYPE(QSharedPointer<RBlock>*)
142 
143 #endif