QCAD
Open Source 2D CAD
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RLinetype.h
Go to the documentation of this file.
1 
20 #ifndef RLINETYPE_H
21 #define RLINETYPE_H
22 
23 #include "core_global.h"
24 
25 #include <QColor>
26 #include <QCoreApplication>
27 #include <QIcon>
28 #include <QMetaType>
29 #include <QString>
30 
31 #include "RLinetypePattern.h"
32 #include "RObject.h"
33 #include "RPropertyTypeId.h"
34 #include "RVector.h"
35 
36 class RDocument;
37 class RTransaction;
38 
39 
40 
51 
52  //Q_DECLARE_TR_FUNCTIONS(RLinetype);
53 
54 public:
59 
60 public:
61  RLinetype(RDocument* document=NULL);
62  RLinetype(RDocument* document, const RLinetypePattern& pattern);
63 
64  virtual ~RLinetype();
65 
66  static void init();
67 
68  virtual RLinetype* clone() const {
69  return new RLinetype(*this);
70  }
71 
72  QString getName() const {
73  return pattern.getName();
74  }
75 
76  void setName(const QString& n) {
77  pattern.setName(n);
78  }
79 
80  QString getDescription() const {
81  return pattern.getDescription();
82  }
83 
84  void setDescription(const QString& d) {
85  pattern.setDescription(d);
86  }
87 
88  QString getLabel() const {
89  return pattern.getLabel();
90  }
91 
92  bool isValid() const;
93 
94  virtual QPair<QVariant, RPropertyAttributes> getProperty(
95  RPropertyTypeId& propertyTypeId,
96  bool humanReadable = false, bool noAttributes = false);
97  virtual bool setProperty(RPropertyTypeId propertyTypeId,
98  const QVariant& value, RTransaction* transaction=NULL);
99 
100  virtual bool isSelectedForPropertyEditing();
101 
102  RLinetypePattern getPattern() const;
103  void setPattern(const RLinetypePattern& p);
104 
105  bool operator==(const RLinetype & linetype) const;
106  bool operator!=(const RLinetype & linetype) const;
107  bool operator<(const RLinetype & linetype) const;
108 
109  virtual void print(QDebug dbg) const;
110 
111 private:
113 };
114 
117 Q_DECLARE_METATYPE(QSharedPointer<RLinetype>)
118 Q_DECLARE_METATYPE(QSharedPointer<RLinetype>*)
119 typedef QPair<QString, RLinetype> _RPairStringRLinetype;
120 Q_DECLARE_METATYPE(_RPairStringRLinetype)
121 Q_DECLARE_METATYPE(QList< _RPairStringRLinetype >)
122 
123 #endif