LibrePCB Developers Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
boardfabricationoutputsettings.h
Go to the documentation of this file.
1 /*
2  * LibrePCB - Professional EDA for everyone!
3  * Copyright (C) 2013 LibrePCB Developers, see AUTHORS.md for contributors.
4  * https://librepcb.org/
5  *
6  * This program is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation, either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program. If not, see <http://www.gnu.org/licenses/>.
18  */
19 
20 #ifndef LIBREPCB_PROJECT_BOARDFABRICATIONOUTPUTSETTINGS_H
21 #define LIBREPCB_PROJECT_BOARDFABRICATIONOUTPUTSETTINGS_H
22 
23 /*******************************************************************************
24  * Includes
25  ******************************************************************************/
27 
28 #include <QtCore>
29 
30 /*******************************************************************************
31  * Namespace / Forward Declarations
32  ******************************************************************************/
33 namespace librepcb {
34 namespace project {
35 
36 /*******************************************************************************
37  * Class BoardFabricationOutputSettings
38  ******************************************************************************/
39 
44 public:
45  // Constructors / Destructor
48  const BoardFabricationOutputSettings& other) noexcept;
49  explicit BoardFabricationOutputSettings(const SExpression& node);
51 
52  // Getters
53  const QString& getOutputBasePath() const noexcept { return mOutputBasePath; }
54  const QString& getSuffixDrills() const noexcept { return mSuffixDrills; }
55  const QString& getSuffixDrillsNpth() const noexcept {
56  return mSuffixDrillsNpth;
57  }
58  const QString& getSuffixDrillsPth() const noexcept {
59  return mSuffixDrillsPth;
60  }
61  const QString& getSuffixOutlines() const noexcept { return mSuffixOutlines; }
62  const QString& getSuffixCopperTop() const noexcept {
63  return mSuffixCopperTop;
64  }
65  const QString& getSuffixCopperInner() const noexcept {
66  return mSuffixCopperInner;
67  }
68  const QString& getSuffixCopperBot() const noexcept {
69  return mSuffixCopperBot;
70  }
71  const QString& getSuffixSolderMaskTop() const noexcept {
72  return mSuffixSolderMaskTop;
73  }
74  const QString& getSuffixSolderMaskBot() const noexcept {
75  return mSuffixSolderMaskBot;
76  }
77  const QString& getSuffixSilkscreenTop() const noexcept {
78  return mSuffixSilkscreenTop;
79  }
80  const QString& getSuffixSilkscreenBot() const noexcept {
81  return mSuffixSilkscreenBot;
82  }
83  const QString& getSuffixSolderPasteTop() const noexcept {
84  return mSuffixSolderPasteTop;
85  }
86  const QString& getSuffixSolderPasteBot() const noexcept {
87  return mSuffixSolderPasteBot;
88  }
89  const QStringList& getSilkscreenLayersTop() const noexcept {
90  return mSilkscreenLayersTop;
91  }
92  const QStringList& getSilkscreenLayersBot() const noexcept {
93  return mSilkscreenLayersBot;
94  }
95  bool getMergeDrillFiles() const noexcept { return mMergeDrillFiles; }
96  bool getEnableSolderPasteTop() const noexcept {
97  return mEnableSolderPasteTop;
98  }
99  bool getEnableSolderPasteBot() const noexcept {
100  return mEnableSolderPasteBot;
101  }
102 
103  // Setters
104  void setOutputBasePath(const QString& p) noexcept { mOutputBasePath = p; }
105  void setSuffixDrills(const QString& s) noexcept { mSuffixDrills = s; }
106  void setSuffixDrillsNpth(const QString& s) noexcept { mSuffixDrillsNpth = s; }
107  void setSuffixDrillsPth(const QString& s) noexcept { mSuffixDrillsPth = s; }
108  void setSuffixOutlines(const QString& s) noexcept { mSuffixOutlines = s; }
109  void setSuffixCopperTop(const QString& s) noexcept { mSuffixCopperTop = s; }
110  void setSuffixCopperInner(const QString& s) noexcept {
111  mSuffixCopperInner = s;
112  }
113  void setSuffixCopperBot(const QString& s) noexcept { mSuffixCopperBot = s; }
114  void setSuffixSolderMaskTop(const QString& s) noexcept {
116  }
117  void setSuffixSolderMaskBot(const QString& s) noexcept {
119  }
120  void setSuffixSilkscreenTop(const QString& s) noexcept {
122  }
123  void setSuffixSilkscreenBot(const QString& s) noexcept {
125  }
126  void setSuffixSolderPasteTop(const QString& s) noexcept {
128  }
129  void setSuffixSolderPasteBot(const QString& s) noexcept {
131  }
132  void setSilkscreenLayersTop(const QStringList& l) noexcept {
134  }
135  void setSilkscreenLayersBot(const QStringList& l) noexcept {
137  }
138  void setMergeDrillFiles(bool m) noexcept { mMergeDrillFiles = m; }
139  void setEnableSolderPasteTop(bool e) noexcept { mEnableSolderPasteTop = e; }
140  void setEnableSolderPasteBot(bool e) noexcept { mEnableSolderPasteBot = e; }
141 
143  void serialize(SExpression& root) const override;
144 
145  // Operator Overloadings
147  const BoardFabricationOutputSettings& rhs) noexcept;
148  bool operator==(const BoardFabricationOutputSettings& rhs) const noexcept;
149  bool operator!=(const BoardFabricationOutputSettings& rhs) const noexcept {
150  return !(*this == rhs);
151  }
152 
153 private: // Data
155  QString mSuffixDrills; // NPTH and PTH combined
168  QStringList mSilkscreenLayersTop;
169  QStringList mSilkscreenLayersBot;
173 };
174 
175 /*******************************************************************************
176  * End of File
177  ******************************************************************************/
178 
179 } // namespace project
180 } // namespace librepcb
181 
182 #endif // LIBREPCB_PROJECT_BOARDFABRICATIONOUTPUTSETTINGS_H
const QString & getSuffixDrills() const noexcept
Definition: boardfabricationoutputsettings.h:54
const QString & getSuffixSilkscreenBot() const noexcept
Definition: boardfabricationoutputsettings.h:80
bool operator==(const BoardFabricationOutputSettings &rhs) const noexcept
Definition: boardfabricationoutputsettings.cpp:186
QString mSuffixSolderPasteTop
Definition: boardfabricationoutputsettings.h:166
QString mOutputBasePath
Definition: boardfabricationoutputsettings.h:154
void setSilkscreenLayersBot(const QStringList &l) noexcept
Definition: boardfabricationoutputsettings.h:135
void setSuffixCopperTop(const QString &s) noexcept
Definition: boardfabricationoutputsettings.h:109
void setSuffixSolderMaskBot(const QString &s) noexcept
Definition: boardfabricationoutputsettings.h:117
QString mSuffixSolderPasteBot
Definition: boardfabricationoutputsettings.h:167
The BoardFabricationOutputSettings class.
Definition: boardfabricationoutputsettings.h:43
const QString & getSuffixSolderMaskBot() const noexcept
Definition: boardfabricationoutputsettings.h:74
const QString & getSuffixDrillsPth() const noexcept
Definition: boardfabricationoutputsettings.h:58
QString mSuffixDrillsPth
Definition: boardfabricationoutputsettings.h:157
void setSilkscreenLayersTop(const QStringList &l) noexcept
Definition: boardfabricationoutputsettings.h:132
QString mSuffixSolderMaskBot
Definition: boardfabricationoutputsettings.h:163
bool getEnableSolderPasteTop() const noexcept
Definition: boardfabricationoutputsettings.h:96
QString mSuffixCopperInner
Definition: boardfabricationoutputsettings.h:160
void setSuffixCopperBot(const QString &s) noexcept
Definition: boardfabricationoutputsettings.h:113
const QString & getSuffixCopperInner() const noexcept
Definition: boardfabricationoutputsettings.h:65
void setSuffixSilkscreenBot(const QString &s) noexcept
Definition: boardfabricationoutputsettings.h:123
const QString & getSuffixCopperBot() const noexcept
Definition: boardfabricationoutputsettings.h:68
void setSuffixDrillsNpth(const QString &s) noexcept
Definition: boardfabricationoutputsettings.h:106
bool mEnableSolderPasteBot
Definition: boardfabricationoutputsettings.h:172
QString mSuffixOutlines
Definition: boardfabricationoutputsettings.h:158
const QString & getSuffixCopperTop() const noexcept
Definition: boardfabricationoutputsettings.h:62
QString mSuffixDrillsNpth
Definition: boardfabricationoutputsettings.h:156
const QString & getSuffixSolderPasteTop() const noexcept
Definition: boardfabricationoutputsettings.h:83
The SerializableObject class is the base class for all classes which need to be serializable/deserial...
Definition: serializableobject.h:46
const QStringList & getSilkscreenLayersTop() const noexcept
Definition: boardfabricationoutputsettings.h:89
~BoardFabricationOutputSettings() noexcept
Definition: boardfabricationoutputsettings.cpp:107
void setSuffixSolderMaskTop(const QString &s) noexcept
Definition: boardfabricationoutputsettings.h:114
QString mSuffixSolderMaskTop
Definition: boardfabricationoutputsettings.h:162
QString mSuffixCopperTop
Definition: boardfabricationoutputsettings.h:159
QString mSuffixSilkscreenTop
Definition: boardfabricationoutputsettings.h:164
void setSuffixSolderPasteTop(const QString &s) noexcept
Definition: boardfabricationoutputsettings.h:126
BoardFabricationOutputSettings & operator=(const BoardFabricationOutputSettings &rhs) noexcept
Definition: boardfabricationoutputsettings.cpp:162
QString mSuffixSilkscreenBot
Definition: boardfabricationoutputsettings.h:165
const QString & getSuffixSolderPasteBot() const noexcept
Definition: boardfabricationoutputsettings.h:86
bool mMergeDrillFiles
Definition: boardfabricationoutputsettings.h:170
const QString & getSuffixOutlines() const noexcept
Definition: boardfabricationoutputsettings.h:61
void setSuffixSolderPasteBot(const QString &s) noexcept
Definition: boardfabricationoutputsettings.h:129
void setOutputBasePath(const QString &p) noexcept
Definition: boardfabricationoutputsettings.h:104
QStringList mSilkscreenLayersBot
Definition: boardfabricationoutputsettings.h:169
const QStringList & getSilkscreenLayersBot() const noexcept
Definition: boardfabricationoutputsettings.h:92
bool mEnableSolderPasteTop
Definition: boardfabricationoutputsettings.h:171
bool getEnableSolderPasteBot() const noexcept
Definition: boardfabricationoutputsettings.h:99
const QString & getOutputBasePath() const noexcept
Definition: boardfabricationoutputsettings.h:53
QString mSuffixCopperBot
Definition: boardfabricationoutputsettings.h:161
const QString & getSuffixSolderMaskTop() const noexcept
Definition: boardfabricationoutputsettings.h:71
bool operator!=(const BoardFabricationOutputSettings &rhs) const noexcept
Definition: boardfabricationoutputsettings.h:149
BoardFabricationOutputSettings() noexcept
Definition: boardfabricationoutputsettings.cpp:39
void setSuffixSilkscreenTop(const QString &s) noexcept
Definition: boardfabricationoutputsettings.h:120
void setSuffixOutlines(const QString &s) noexcept
Definition: boardfabricationoutputsettings.h:108
const QString & getSuffixDrillsNpth() const noexcept
Definition: boardfabricationoutputsettings.h:55
void setSuffixDrills(const QString &s) noexcept
Definition: boardfabricationoutputsettings.h:105
void setEnableSolderPasteTop(bool e) noexcept
Definition: boardfabricationoutputsettings.h:139
void serialize(SExpression &root) const override
Serialize the object into an existing S-Expression node.
Definition: boardfabricationoutputsettings.cpp:114
void setMergeDrillFiles(bool m) noexcept
Definition: boardfabricationoutputsettings.h:138
QStringList mSilkscreenLayersTop
Definition: boardfabricationoutputsettings.h:168
void setSuffixCopperInner(const QString &s) noexcept
Definition: boardfabricationoutputsettings.h:110
QString mSuffixDrills
Definition: boardfabricationoutputsettings.h:155
void setEnableSolderPasteBot(bool e) noexcept
Definition: boardfabricationoutputsettings.h:140
const QString & getSuffixSilkscreenTop() const noexcept
Definition: boardfabricationoutputsettings.h:77
The SExpression class.
Definition: sexpression.h:60
void setSuffixDrillsPth(const QString &s) noexcept
Definition: boardfabricationoutputsettings.h:107
bool getMergeDrillFiles() const noexcept
Definition: boardfabricationoutputsettings.h:95