QCAD
Open Source 2D CAD
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RPattern.h
Go to the documentation of this file.
1 
20 #ifndef RPATTERN_H
21 #define RPATTERN_H
22 
23 #include "core_global.h"
24 
25 #include <QChar>
26 #include <QMap>
27 #include <QPainterPath>
28 #include <QString>
29 #include <QSharedPointer>
30 
31 #include "RBox.h"
32 #include "RShape.h"
33 #include "RPatternLine.h"
34 
35 
44 public:
45  static QList<QPair<QString, RPattern*> > loadAllFrom(const QString& fileName);
46 
47  RPattern();
48  RPattern(const QString& name, const QString& description);
49  ~RPattern();
50 
51  bool isValid() const {
52  return !fileName.isEmpty();
53  }
54 
56  QString getFileName() const {
57  return fileName;
58  }
59 
61  const QString getName() const {
62  return name;
63  }
64 
68  bool isLoaded() const {
69  return true;
70  }
71 
72  void load() const { }
73 
74  QList<RPatternLine> getPatternLines() const {
75  return patternLines;
76  }
77 
78  void scale(double f);
79  void rotate(double a);
80 
81 private:
83  QString fileName;
84 
86  QString name;
87 
89  QString description;
90 
92  QList<RPatternLine> patternLines;
93 };
94 
95 QCADCORE_EXPORT QDebug operator<<(QDebug dbg, const RPattern& p);
96 
99 
100 #endif