LibrePCB Developers Documentation
electricalrulecheckmessages.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_CORE_ELECTRICALRULECHECKMESSAGES_H
21#define LIBREPCB_CORE_ELECTRICALRULECHECKMESSAGES_H
22
23/*******************************************************************************
24 * Includes
25 ******************************************************************************/
26#include "../../rulecheck/rulecheckmessage.h"
27
28#include <QtCore>
29
30/*******************************************************************************
31 * Namespace / Forward Declarations
32 ******************************************************************************/
33namespace librepcb {
34
35class ComponentInstance;
36class ComponentSignalInstance;
37class ComponentSymbolVariantItem;
38class NetClass;
39class NetSignal;
40class SI_NetPoint;
41class SI_NetSegment;
42class SI_SymbolPin;
43
44/*******************************************************************************
45 * Class ErcMsgUnusedNetClass
46 ******************************************************************************/
47
52 Q_DECLARE_TR_FUNCTIONS(ErcMsgUnusedNetClass)
53
54public:
55 // Constructors / Destructor
57 explicit ErcMsgUnusedNetClass(const NetClass& netClass) noexcept;
59 : RuleCheckMessage(other) {}
60 virtual ~ErcMsgUnusedNetClass() noexcept {}
61};
62
63/*******************************************************************************
64 * Class ErcMsgOpenNet
65 ******************************************************************************/
66
70class ErcMsgOpenNet final : public RuleCheckMessage {
71 Q_DECLARE_TR_FUNCTIONS(ErcMsgOpenNet)
72
73public:
74 // Constructors / Destructor
75 ErcMsgOpenNet() = delete;
76 explicit ErcMsgOpenNet(const NetSignal& net) noexcept;
77 ErcMsgOpenNet(const ErcMsgOpenNet& other) noexcept
78 : RuleCheckMessage(other) {}
79 virtual ~ErcMsgOpenNet() noexcept {}
80};
81
82/*******************************************************************************
83 * Class ErcMsgOpenWireInSegment
84 ******************************************************************************/
85
90 Q_DECLARE_TR_FUNCTIONS(ErcMsgOpenWireInSegment)
91
92public:
93 // Constructors / Destructor
95 explicit ErcMsgOpenWireInSegment(const SI_NetSegment& segment) noexcept;
97 : RuleCheckMessage(other) {}
98 virtual ~ErcMsgOpenWireInSegment() noexcept {}
99};
100
101/*******************************************************************************
102 * Class ErcMsgUnconnectedRequiredSignal
103 ******************************************************************************/
104
109 Q_DECLARE_TR_FUNCTIONS(ErcMsgUnconnectedRequiredSignal)
110
111public:
112 // Constructors / Destructor
115 const ComponentSignalInstance& signal) noexcept;
117 const ErcMsgUnconnectedRequiredSignal& other) noexcept
118 : RuleCheckMessage(other) {}
120};
121
122/*******************************************************************************
123 * Class ErcMsgForcedNetSignalNameConflict
124 ******************************************************************************/
125
130 Q_DECLARE_TR_FUNCTIONS(ErcMsgForcedNetSignalNameConflict)
131
132public:
133 // Constructors / Destructor
136 const ComponentSignalInstance& signal) noexcept;
138 const ErcMsgForcedNetSignalNameConflict& other) noexcept
139 : RuleCheckMessage(other) {}
141
142private:
143 static QString getSignalNet(const ComponentSignalInstance& signal) noexcept;
144};
145
146/*******************************************************************************
147 * Class ErcMsgUnplacedRequiredGate
148 ******************************************************************************/
149
154 Q_DECLARE_TR_FUNCTIONS(ErcMsgUnplacedRequiredSymbol)
155
156public:
157 // Constructors / Destructor
160 const ComponentInstance& component,
161 const ComponentSymbolVariantItem& gate) noexcept;
163 : RuleCheckMessage(other) {}
164 virtual ~ErcMsgUnplacedRequiredGate() noexcept {}
165};
166
167/*******************************************************************************
168 * Class ErcMsgUnplacedOptionalGate
169 ******************************************************************************/
170
175 Q_DECLARE_TR_FUNCTIONS(ErcMsgUnplacedOptionalSymbol)
176
177public:
178 // Constructors / Destructor
181 const ComponentInstance& component,
182 const ComponentSymbolVariantItem& gate) noexcept;
184 : RuleCheckMessage(other) {}
185 virtual ~ErcMsgUnplacedOptionalGate() noexcept {}
186};
187
188/*******************************************************************************
189 * Class ErcMsgConnectedPinWithoutWire
190 ******************************************************************************/
191
196 Q_DECLARE_TR_FUNCTIONS(ErcMsgConnectedPinWithoutWire)
197
198public:
199 // Constructors / Destructor
201 explicit ErcMsgConnectedPinWithoutWire(const SI_SymbolPin& pin) noexcept;
203 const ErcMsgConnectedPinWithoutWire& other) noexcept
204 : RuleCheckMessage(other) {}
205 virtual ~ErcMsgConnectedPinWithoutWire() noexcept {}
206};
207
208/*******************************************************************************
209 * Class ErcMsgUnconnectedJunction
210 ******************************************************************************/
211
216 Q_DECLARE_TR_FUNCTIONS(ErcMsgUnconnectedJunction)
217
218public:
219 // Constructors / Destructor
221 explicit ErcMsgUnconnectedJunction(const SI_NetPoint& netPoint) noexcept;
223 : RuleCheckMessage(other) {}
224 virtual ~ErcMsgUnconnectedJunction() noexcept {}
225};
226
227/*******************************************************************************
228 * End of File
229 ******************************************************************************/
230
231} // namespace librepcb
232
233#endif
The ComponentInstance class.
Definition: componentinstance.h:54
The ComponentSignalInstance class.
Definition: componentsignalinstance.h:49
The ComponentSymbolVariantItem class represents one symbol of a component symbol variant.
Definition: componentsymbolvariantitem.h:54
The ErcMsgConnectedPinWithoutWire class.
Definition: electricalrulecheckmessages.h:195
ErcMsgConnectedPinWithoutWire(const ErcMsgConnectedPinWithoutWire &other) noexcept
Definition: electricalrulecheckmessages.h:202
virtual ~ErcMsgConnectedPinWithoutWire() noexcept
Definition: electricalrulecheckmessages.h:205
The ErcMsgForcedNetSignalNameConflict class.
Definition: electricalrulecheckmessages.h:129
virtual ~ErcMsgForcedNetSignalNameConflict() noexcept
Definition: electricalrulecheckmessages.h:140
ErcMsgForcedNetSignalNameConflict(const ErcMsgForcedNetSignalNameConflict &other) noexcept
Definition: electricalrulecheckmessages.h:137
static QString getSignalNet(const ComponentSignalInstance &signal) noexcept
Definition: electricalrulecheckmessages.cpp:131
The ErcMsgOpenNet class.
Definition: electricalrulecheckmessages.h:70
ErcMsgOpenNet(const ErcMsgOpenNet &other) noexcept
Definition: electricalrulecheckmessages.h:77
virtual ~ErcMsgOpenNet() noexcept
Definition: electricalrulecheckmessages.h:79
The ErcMsgOpenWireInSegment class.
Definition: electricalrulecheckmessages.h:89
virtual ~ErcMsgOpenWireInSegment() noexcept
Definition: electricalrulecheckmessages.h:98
ErcMsgOpenWireInSegment(const ErcMsgOpenWireInSegment &other) noexcept
Definition: electricalrulecheckmessages.h:96
The ErcMsgUnconnectedJunction class.
Definition: electricalrulecheckmessages.h:215
ErcMsgUnconnectedJunction(const ErcMsgUnconnectedJunction &other) noexcept
Definition: electricalrulecheckmessages.h:222
virtual ~ErcMsgUnconnectedJunction() noexcept
Definition: electricalrulecheckmessages.h:224
The ErcMsgUnconnectedRequiredSignal class.
Definition: electricalrulecheckmessages.h:108
ErcMsgUnconnectedRequiredSignal(const ErcMsgUnconnectedRequiredSignal &other) noexcept
Definition: electricalrulecheckmessages.h:116
virtual ~ErcMsgUnconnectedRequiredSignal() noexcept
Definition: electricalrulecheckmessages.h:119
The ErcMsgUnplacedOptionalGate class.
Definition: electricalrulecheckmessages.h:174
virtual ~ErcMsgUnplacedOptionalGate() noexcept
Definition: electricalrulecheckmessages.h:185
ErcMsgUnplacedOptionalGate(const ErcMsgUnplacedOptionalGate &other) noexcept
Definition: electricalrulecheckmessages.h:183
The ErcMsgUnplacedRequiredGate class.
Definition: electricalrulecheckmessages.h:153
virtual ~ErcMsgUnplacedRequiredGate() noexcept
Definition: electricalrulecheckmessages.h:164
ErcMsgUnplacedRequiredGate(const ErcMsgUnplacedRequiredGate &other) noexcept
Definition: electricalrulecheckmessages.h:162
The ErcMsgUnusedNetClass class.
Definition: electricalrulecheckmessages.h:51
ErcMsgUnusedNetClass(const ErcMsgUnusedNetClass &other) noexcept
Definition: electricalrulecheckmessages.h:58
virtual ~ErcMsgUnusedNetClass() noexcept
Definition: electricalrulecheckmessages.h:60
The NetClass class.
Definition: netclass.h:46
The NetSignal class.
Definition: netsignal.h:50
The RuleCheckMessage class.
Definition: rulecheckmessage.h:45
The SI_NetPoint class.
Definition: si_netpoint.h:44
The SI_NetSegment class.
Definition: si_netsegment.h:53
The SI_SymbolPin class.
Definition: si_symbolpin.h:52
Definition: occmodel.cpp:77