LibrePCB Developers Documentation
Loading...
Searching...
No Matches
board2dtab.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_EDITOR_BOARD2DTAB_H
21#define LIBREPCB_EDITOR_BOARD2DTAB_H
22
23/*******************************************************************************
24 * Includes
25 ******************************************************************************/
26#include "../../backgroundimagesettings.h"
27#include "../../dialogs/graphicsexportdialog.h"
28#include "../../utils/dismissablemessagecontext.h"
29#include "../../utils/lengtheditcontext.h"
30#include "../../utils/searchcontext.h"
31#include "../../widgets/if_graphicsvieweventhandler.h"
34#include "windowtab.h"
35
38
39#include <QtCore>
40
41#include <optional>
42
43/*******************************************************************************
44 * Namespace / Forward Declarations
45 ******************************************************************************/
46namespace librepcb {
47
48class Package;
49class RuleCheckMessage;
50
51namespace editor {
52
53class BoardEditor;
54class BoardEditorFsm;
55class FootprintGraphicsItem;
56class GraphicsLayerList;
57class GraphicsLayersModel;
58class ProjectEditor;
59class SlintGraphicsView;
60
61/*******************************************************************************
62 * Class Board2dTab
63 ******************************************************************************/
64
68class Board2dTab final : public WindowTab,
71 Q_OBJECT
72
90
92 Single,
93 Similar,
94 All,
95 };
96
97public:
98 // Signals
100
101 // Constructors / Destructor
102 Board2dTab() = delete;
103 Board2dTab(const Board2dTab& other) = delete;
104 explicit Board2dTab(GuiApplication& app, BoardEditor& editor,
105 QObject* parent = nullptr) noexcept;
106 ~Board2dTab() noexcept;
107
108 // General Methods
109 int getProjectIndex() const noexcept;
110 int getProjectObjectIndex() const noexcept;
111 ui::TabData getUiData() const noexcept override;
112 void setUiData(const ui::TabData& data) noexcept override;
113 ui::Board2dTabData getDerivedUiData() const noexcept;
114 void setDerivedUiData(const ui::Board2dTabData& data) noexcept;
115 void activate() noexcept override;
116 void deactivate() noexcept override;
117 void trigger(ui::TabAction a) noexcept override;
118 slint::Image renderScene(float width, float height,
119 int scene) noexcept override;
121 const QPointF& pos, slint::private_api::PointerEvent e) noexcept override;
123 const QPointF& pos,
124 slint::private_api::PointerScrollEvent e) noexcept override;
126 const slint::private_api::KeyEvent& e) noexcept override;
127 QSet<const Layer*> getVisibleCopperLayers() const noexcept;
128
129 // IF_GraphicsViewEventHandler
131 const GraphicsSceneKeyEvent& e) noexcept override;
133 const GraphicsSceneKeyEvent& e) noexcept override;
135 const GraphicsSceneMouseEvent& e) noexcept override;
137 const GraphicsSceneMouseEvent& e) noexcept override;
139 const GraphicsSceneMouseEvent& e) noexcept override;
141 const GraphicsSceneMouseEvent& e) noexcept override;
143 const GraphicsSceneMouseEvent& e) noexcept override;
144
145 // BoardEditorFsmAdapter
146 QWidget* fsmGetParentWidget() noexcept override;
147 BoardGraphicsScene* fsmGetGraphicsScene() noexcept override;
148 bool fsmGetIgnoreLocks() const noexcept override;
149 void fsmSetViewCursor(
150 const std::optional<Qt::CursorShape>& shape) noexcept override;
151 void fsmSetViewGrayOut(bool grayOut) noexcept override;
152 void fsmSetViewInfoBoxText(const QString& text) noexcept override;
153 void fsmSetViewRuler(
154 const std::optional<std::pair<Point, Point>>& pos) noexcept override;
155 void fsmSetSceneCursor(const Point& pos, bool cross,
156 bool circle) noexcept override;
157 QPainterPath fsmCalcPosWithTolerance(
158 const Point& pos, qreal multiplier) const noexcept override;
159 Point fsmMapGlobalPosToScenePos(const QPoint& pos) const noexcept override;
161 const QSet<const NetSignal*>& sigs) noexcept override;
162 void fsmAbortBlockingToolsInOtherEditors() noexcept override;
163 void fsmSetStatusBarMessage(const QString& message,
164 int timeoutMs = -1) noexcept override;
165 void fsmSetFeatures(Features features) noexcept override;
166 void fsmToolLeave() noexcept override;
167 void fsmToolEnter(BoardEditorState_Select& state) noexcept override;
168 void fsmToolEnter(BoardEditorState_DrawTrace& state) noexcept override;
169 void fsmToolEnter(BoardEditorState_AddVia& state) noexcept override;
170 void fsmToolEnter(BoardEditorState_AddPad& state) noexcept override;
171 void fsmToolEnter(BoardEditorState_DrawPolygon& state) noexcept override;
172 void fsmToolEnter(BoardEditorState_AddStrokeText& state) noexcept override;
173 void fsmToolEnter(BoardEditorState_DrawPlane& state) noexcept override;
174 void fsmToolEnter(BoardEditorState_DrawZone& state) noexcept override;
175 void fsmToolEnter(BoardEditorState_AddHole& state) noexcept override;
176 void fsmToolEnter(BoardEditorState_AddDevice& state) noexcept override;
177 void fsmToolEnter(BoardEditorState_Measure& state) noexcept override;
178
179 // Operator Overloadings
180 Board2dTab& operator=(const Board2dTab& rhs) = delete;
181
182signals:
184 void netRequested(bool autoNet, const std::optional<Uuid>& net);
185 void viaDrillRequested(const std::optional<PositiveLength>& drill);
186 void viaSizeRequested(const std::optional<PositiveLength>& size);
187 void layerRequested(const Layer& layer);
188 void filledRequested(bool filled);
189 void mirroredRequested(bool mirrored);
190 void valueRequested(const QString& value);
191 void componentSideRequested(Pad::ComponentSide side);
192 void shapeRequested(const ui::PadShape shape);
194 void pressFitRequested(bool pressFit);
195 void zoneRuleRequested(Zone::Rule rule, bool enable);
200
201private:
202 void updateEnabledCopperLayers() noexcept;
203 void loadLayersVisibility() noexcept;
204 void storeLayersVisibility() noexcept;
205 void updateMessages() noexcept;
206 void loadDesignRules(const QString& uiKey) noexcept;
207 void highlightDrcMessage(const std::shared_ptr<const RuleCheckMessage>& msg,
208 bool zoomTo) noexcept;
209 void clearDrcMarker() noexcept;
210 void scheduleUnplacedComponentsUpdate() noexcept;
211 void updateUnplacedComponents() noexcept;
212 void restartIdleTimer() noexcept;
213 void setSelectedUnplacedComponent(int index) noexcept;
214 void setSelectedUnplacedComponentDevice(int index) noexcept;
216 const std::optional<Uuid>& deviceUuid, Package* package,
217 bool packageOwned) noexcept;
218 void setSelectedUnplacedComponentFootprint(int index) noexcept;
227 std::pair<QList<DeviceMetadata>, int> getAvailableDevices(
228 ComponentInstance& cmp) const noexcept;
229 std::optional<Uuid> getSuggestedFootprint(const Uuid& libPkgUuid,
230 const Package* pkg) const noexcept;
233 const QString& settingsKey) noexcept;
234 void execPickPlaceExportDialog() noexcept;
235 void execD356NetlistExportDialog() noexcept;
236 void execSpecctraExportDialog() noexcept;
237 void execSpecctraImportDialog() noexcept;
238 void goToDevice(const QString& name, int index) noexcept;
239 bool toggleBackgroundImage() noexcept;
240 void applyBackgroundImageSettings() noexcept;
241 FilePath getBackgroundImageCacheDir() const noexcept;
242 void applyTheme() noexcept;
243 void requestRepaint() noexcept;
244
245private:
246 // References
253 QVector<QMetaObject::Connection> mActiveConnections;
254
255 // Message handles
259
260 // State
262 Theme::GridStyle mGridStyle;
266
267 // Current tool
269 ui::EditorTool mTool;
270 Qt::CursorShape mToolCursorShape;
273 QVector<std::pair<bool, std::optional<Uuid>>> mToolNetsQt;
274 std::shared_ptr<slint::VectorModel<slint::SharedString>> mToolNets;
275 std::pair<bool, std::optional<Uuid>> mToolNet;
277 QVector<const Layer*> mToolLayersQt;
278 std::shared_ptr<slint::VectorModel<slint::SharedString>> mToolLayers;
283 bool mToolFilled; // Also used for auto width
284 bool mToolMirrored; // Also used for auto via size
285 QString mToolValue;
286 std::shared_ptr<slint::VectorModel<slint::SharedString>>
288 Pad::ComponentSide mToolComponentSide;
289 ui::PadShape mToolShape;
292 bool mToolPressFit; // Also used for auto via drill
294
295 // Unplaced components
297 std::shared_ptr<slint::VectorModel<slint::SharedString>>
302 std::shared_ptr<slint::VectorModel<slint::SharedString>>
307 std::shared_ptr<slint::VectorModel<slint::SharedString>>
312 QHash<Uuid, Uuid> mLastDeviceOfComponent; // Selection memory
313 QHash<Uuid, Uuid> mLastFootprintOfPackage; // Selection memory
315
316 // FSM
317 QVector<QMetaObject::Connection> mFsmStateConnections;
318 QScopedPointer<BoardEditorFsm> mFsm;
319
320 // Objects in active state
323 std::unique_ptr<QTimer> mInputIdleTimer;
324 std::unique_ptr<QGraphicsPathItem> mDrcLocationGraphicsItem;
325
326 // Background image
328 std::shared_ptr<QGraphicsPixmapItem> mBackgroundImageGraphicsItem;
329};
330
331/*******************************************************************************
332 * End of File
333 ******************************************************************************/
334
335} // namespace editor
336} // namespace librepcb
337
338#endif
The Board class represents a PCB of a project and is always part of a circuit.
Definition board.h:74
The ComponentInstance class.
Definition componentinstance.h:54
This class represents absolute, well-formatted paths to files or directories.
Definition filepath.h:127
The Image class.
Definition image.h:49
The Layer class provides all supported geometry layers.
Definition layer.h:42
The NetSignal class.
Definition netsignal.h:50
The Package class represents a package of a component (including footprint and 3D model)
Definition package.h:59
Base class for pads, extended in derived classes.
Definition pad.h:53
The Point class is used to represent a point/coordinate/vector, for example (1.2mm; 5....
Definition point.h:78
The Project class represents a whole (opened) project with all its content.
Definition project.h:71
The RuleCheckMessage class.
Definition rulecheckmessage.h:45
The Signal class is used to emit signals on non-QObject derived classes.
Definition signalslot.h:65
Theme class as used by librepcb::WorkspaceSettingsItem_Themes.
Definition theme.h:44
The Uuid class is a replacement for QUuid to get UUID strings without {} braces.
Definition uuid.h:56
The Zone class.
Definition zone.h:43
The Board2dTab class.
Definition board2dtab.h:70
slint::Image renderScene(float width, float height, int scene) noexcept override
Definition board2dtab.cpp:987
void viaDrillRequested(const std::optional< PositiveLength > &drill)
void updateEnabledCopperLayers() noexcept
Definition board2dtab.cpp:1803
bool graphicsSceneMouseMoved(const GraphicsSceneMouseEvent &e) noexcept override
Definition board2dtab.cpp:1060
bool mIgnorePlacementLocks
Definition board2dtab.h:264
Features mToolFeatures
Definition board2dtab.h:268
QPointer< ComponentInstance > mUnplacedComponent
Definition board2dtab.h:300
QPointer< Package > mUnplacedComponentPackage
Definition board2dtab.h:305
int mUnplacedComponentFootprintIndex
Definition board2dtab.h:309
bool toggleBackgroundImage() noexcept
Definition board2dtab.cpp:2613
QPointF mSceneImagePos
Definition board2dtab.h:263
std::unique_ptr< SlintGraphicsView > mView
Definition board2dtab.h:252
std::pair< bool, std::optional< Uuid > > mToolNet
Definition board2dtab.h:275
void loadDesignRules(const QString &uiKey) noexcept
Definition board2dtab.cpp:1846
Zone::Rules mToolZoneRules
Definition board2dtab.h:293
void fsmSetSceneCursor(const Point &pos, bool cross, bool circle) noexcept override
Definition board2dtab.cpp:1138
void applyTheme() noexcept
Definition board2dtab.cpp:2669
ui::PadShape mToolShape
Definition board2dtab.h:289
bool mToolPressFit
Definition board2dtab.h:292
bool graphicsSceneRightMouseButtonReleased(const GraphicsSceneMouseEvent &e) noexcept override
Definition board2dtab.cpp:1081
std::shared_ptr< slint::VectorModel< slint::SharedString > > mUnplacedComponentDevicesModel
Definition board2dtab.h:303
int mUnplacedComponentIndex
Definition board2dtab.h:299
void layerRequested(const Layer &layer)
void addUnplacedComponentsToBoard(PlaceComponentsMode mode) noexcept
Definition board2dtab.cpp:2288
void updateUnplacedComponents() noexcept
Definition board2dtab.cpp:1929
void setSelectedUnplacedComponentFootprint(int index) noexcept
Definition board2dtab.cpp:2085
bool mToolFiducial
Definition board2dtab.h:291
QString mToolValue
Definition board2dtab.h:285
int mFrameIndex
Definition board2dtab.h:265
void setSelectedUnplacedComponentDeviceAndPackage(const std::optional< Uuid > &deviceUuid, Package *package, bool packageOwned) noexcept
Definition board2dtab.cpp:2054
std::pair< QList< DeviceMetadata >, int > getAvailableDevices(ComponentInstance &cmp) const noexcept
Get all available devices for a specific component instance.
Definition board2dtab.cpp:2108
bool graphicsSceneLeftMouseButtonDoubleClicked(const GraphicsSceneMouseEvent &e) noexcept override
Definition board2dtab.cpp:1076
DismissableMessageContext mMsgEmptySchematics
Definition board2dtab.h:256
std::unique_ptr< GraphicsLayerList > mLayers
Definition board2dtab.h:251
BoardEditorState_DrawTrace::WireMode mToolWireMode
Definition board2dtab.h:272
FilePath getBackgroundImageCacheDir() const noexcept
Definition board2dtab.cpp:2663
BoardGraphicsScene * fsmGetGraphicsScene() noexcept override
Definition board2dtab.cpp:1094
std::shared_ptr< slint::VectorModel< slint::SharedString > > mUnplacedComponentsModel
Definition board2dtab.h:298
std::optional< Uuid > getSuggestedFootprint(const Uuid &libPkgUuid, const Package *pkg) const noexcept
Definition board2dtab.cpp:2239
bool graphicsSceneLeftMouseButtonPressed(const GraphicsSceneMouseEvent &e) noexcept override
Definition board2dtab.cpp:1066
std::shared_ptr< QGraphicsPixmapItem > mBackgroundImageGraphicsItem
Definition board2dtab.h:328
Signal< Board2dTab > onDerivedUiDataChanged
Definition board2dtab.h:99
void execPickPlaceExportDialog() noexcept
Definition board2dtab.cpp:2416
QWidget * fsmGetParentWidget() noexcept override
Definition board2dtab.cpp:1090
std::unique_ptr< QGraphicsPathItem > mDrcLocationGraphicsItem
Definition board2dtab.h:324
ui::Board2dTabData getDerivedUiData() const noexcept
Definition board2dtab.cpp:352
LengthEditContext mToolDrill
Definition board2dtab.h:282
bool fsmGetIgnoreLocks() const noexcept override
Definition board2dtab.cpp:1098
QVector< std::pair< bool, std::optional< Uuid > > > mToolNetsQt
Definition board2dtab.h:273
Theme::GridStyle mGridStyle
Definition board2dtab.h:262
std::shared_ptr< slint::VectorModel< slint::SharedString > > mToolValueSuggestions
Definition board2dtab.h:287
std::shared_ptr< slint::VectorModel< slint::SharedString > > mToolLayers
Definition board2dtab.h:278
LengthEditContext mToolSize
Definition board2dtab.h:281
void scheduleUnplacedComponentsUpdate() noexcept
Definition board2dtab.cpp:1923
QVector< QMetaObject::Connection > mActiveConnections
Definition board2dtab.h:253
void fsmSetViewCursor(const std::optional< Qt::CursorShape > &shape) noexcept override
Definition board2dtab.cpp:1102
bool processSceneScrolled(const QPointF &pos, slint::private_api::PointerScrollEvent e) noexcept override
Definition board2dtab.cpp:1020
void execSpecctraImportDialog() noexcept
Definition board2dtab.cpp:2501
void execSpecctraExportDialog() noexcept
Definition board2dtab.cpp:2447
void viaSizeRequested(const std::optional< PositiveLength > &size)
QScopedPointer< BoardEditorFsm > mFsm
Definition board2dtab.h:318
void fsmToolLeave() noexcept override
Definition board2dtab.cpp:1181
ProjectEditor & mProjectEditor
Definition board2dtab.h:247
void fsmAbortBlockingToolsInOtherEditors() noexcept override
Definition board2dtab.cpp:1165
void valueRequested(const QString &value)
std::unique_ptr< QTimer > mInputIdleTimer
Definition board2dtab.h:323
void netRequested(bool autoNet, const std::optional< Uuid > &net)
std::shared_ptr< slint::VectorModel< slint::SharedString > > mUnplacedComponentFootprintsModel
Definition board2dtab.h:308
Board2dTab(const Board2dTab &other)=delete
QSet< const Layer * > getVisibleCopperLayers() const noexcept
Definition board2dtab.cpp:1034
void shapeRequested(const ui::PadShape shape)
void requestRepaint() noexcept
Definition board2dtab.cpp:2694
bool processScenePointerEvent(const QPointF &pos, slint::private_api::PointerEvent e) noexcept override
Definition board2dtab.cpp:1011
void goToDevice(const QString &name, int index) noexcept
Definition board2dtab.cpp:2572
void applyBackgroundImageSettings() noexcept
Definition board2dtab.cpp:2642
bool graphicsSceneKeyPressed(const GraphicsSceneKeyEvent &e) noexcept override
Definition board2dtab.cpp:1050
Board & mBoard
Definition board2dtab.h:250
std::unique_ptr< BoardGraphicsScene > mScene
Definition board2dtab.h:322
BackgroundImageSettings mBackgroundImageSettings
Definition board2dtab.h:327
std::unique_ptr< GraphicsScene > mUnplacedComponentGraphicsScene
Definition board2dtab.h:310
QPainterPath fsmCalcPosWithTolerance(const Point &pos, qreal multiplier) const noexcept override
Definition board2dtab.cpp:1145
std::shared_ptr< GraphicsLayersModel > mLayersModel
Definition board2dtab.h:321
void setSelectedUnplacedComponentDevice(int index) noexcept
Definition board2dtab.cpp:2016
SearchContext mSearchContext
Definition board2dtab.h:261
void setUiData(const ui::TabData &data) noexcept override
Definition board2dtab.cpp:346
UnsignedLimitedRatio mToolRatio
Definition board2dtab.h:290
QVector< QMetaObject::Connection > mFsmStateConnections
Definition board2dtab.h:317
std::unique_ptr< FootprintGraphicsItem > mUnplacedComponentGraphicsItem
Definition board2dtab.h:311
bool processSceneKeyEvent(const slint::private_api::KeyEvent &e) noexcept override
Definition board2dtab.cpp:1025
void clearDrcMarker() noexcept
Definition board2dtab.cpp:1916
PlaceComponentsMode
Definition board2dtab.h:91
QString mToolNetClassName
Definition board2dtab.h:276
void fsmSetViewGrayOut(bool grayOut) noexcept override
Definition board2dtab.cpp:1112
void fsmSetViewRuler(const std::optional< std::pair< Point, Point > > &pos) noexcept override
Definition board2dtab.cpp:1131
QHash< Uuid, Uuid > mLastFootprintOfPackage
Definition board2dtab.h:313
void fsmSetViewInfoBoxText(const QString &text) noexcept override
Definition board2dtab.cpp:1118
Project & mProject
Definition board2dtab.h:248
const Layer * mToolLayer
Definition board2dtab.h:279
QList< DeviceMetadata > mUnplacedComponentDevices
Definition board2dtab.h:301
void execD356NetlistExportDialog() noexcept
Definition board2dtab.cpp:2422
std::shared_ptr< slint::VectorModel< slint::SharedString > > mToolNets
Definition board2dtab.h:274
void componentSideRequested(Pad::ComponentSide side)
int getProjectObjectIndex() const noexcept
Definition board2dtab.cpp:302
BoardEditor & mBoardEditor
Definition board2dtab.h:249
Qt::CursorShape mToolCursorShape
Definition board2dtab.h:270
std::unique_ptr< QTimer > mUnplacedComponentsUpdateTimer
Definition board2dtab.h:314
void fsmSetStatusBarMessage(const QString &message, int timeoutMs=-1) noexcept override
Definition board2dtab.cpp:1169
bool mUnplacedComponentPackageOwned
Definition board2dtab.h:306
void storeLayersVisibility() noexcept
Definition board2dtab.cpp:1819
Point fsmMapGlobalPosToScenePos(const QPoint &pos) const noexcept override
Definition board2dtab.cpp:1150
void trigger(ui::TabAction a) noexcept override
Definition board2dtab.cpp:639
void deactivate() noexcept override
Definition board2dtab.cpp:619
void setSelectedUnplacedComponent(int index) noexcept
Definition board2dtab.cpp:1981
DismissableMessageContext mMsgPlaceDevices
Definition board2dtab.h:258
void mirroredRequested(bool mirrored)
void setDerivedUiData(const ui::Board2dTabData &data) noexcept
Definition board2dtab.cpp:435
void highlightDrcMessage(const std::shared_ptr< const RuleCheckMessage > &msg, bool zoomTo) noexcept
Definition board2dtab.cpp:1889
void updateMessages() noexcept
Definition board2dtab.cpp:1829
DismissableMessageContext mMsgSetupDesignRules
Definition board2dtab.h:257
void ratioRequested(const UnsignedLimitedRatio &ratio)
int mUnplacedComponentDeviceIndex
Definition board2dtab.h:304
void pressFitRequested(bool pressFit)
void fsmSetHighlightedNetSignals(const QSet< const NetSignal * > &sigs) noexcept override
Definition board2dtab.cpp:1160
bool mToolMirrored
Definition board2dtab.h:284
void restartIdleTimer() noexcept
Definition board2dtab.cpp:1975
QString mToolOverlayText
Definition board2dtab.h:271
ui::TabData getUiData() const noexcept override
Definition board2dtab.cpp:306
bool graphicsSceneKeyReleased(const GraphicsSceneKeyEvent &e) noexcept override
Definition board2dtab.cpp:1055
void execGraphicsExportDialog(GraphicsExportDialog::Output output, const QString &settingsKey) noexcept
Definition board2dtab.cpp:2364
bool mToolFilled
Definition board2dtab.h:283
QHash< Uuid, Uuid > mLastDeviceOfComponent
Definition board2dtab.h:312
void wireModeRequested(BoardEditorState_DrawTrace::WireMode mode)
void filledRequested(bool filled)
ui::EditorTool mTool
Definition board2dtab.h:269
void fsmSetFeatures(Features features) noexcept override
Definition board2dtab.cpp:1174
LengthEditContext mToolLineWidth
Definition board2dtab.h:280
int getProjectIndex() const noexcept
Definition board2dtab.cpp:298
bool graphicsSceneLeftMouseButtonReleased(const GraphicsSceneMouseEvent &e) noexcept override
Definition board2dtab.cpp:1071
Pad::ComponentSide mToolComponentSide
Definition board2dtab.h:288
QVector< const Layer * > mToolLayersQt
Definition board2dtab.h:277
void activate() noexcept override
Definition board2dtab.cpp:556
void zoneRuleRequested(Zone::Rule rule, bool enable)
QList< Uuid > mUnplacedComponents
Definition board2dtab.h:296
void fsmToolEnter(BoardEditorState_Select &state) noexcept override
Definition board2dtab.cpp:1190
void loadLayersVisibility() noexcept
Definition board2dtab.cpp:1811
Interface for the integration of the board editor FSM.
Definition boardeditorfsmadapter.h:64
The board editor finite state machine.
Definition boardeditorfsm.h:59
The BoardEditor class.
Definition boardeditor.h:58
The "add device" state/tool of the board editor.
Definition boardeditorstate_adddevice.h:53
The "add hole" state/tool of the board editor.
Definition boardeditorstate_addhole.h:52
The "add via" state/tool of the board editor.
Definition boardeditorstate_addpad.h:51
The "add stroke text" state/tool of the board editor.
Definition boardeditorstate_addstroketext.h:52
The "add via" state/tool of the board editor.
Definition boardeditorstate_addvia.h:54
The "draw plane" state/tool of the board editor.
Definition boardeditorstate_drawplane.h:54
The "draw polygon" state/tool of the board editor.
Definition boardeditorstate_drawpolygon.h:52
The "draw trace" state/tool of the board editor.
Definition boardeditorstate_drawtrace.h:56
The "draw zone" state/tool of the board editor.
Definition boardeditorstate_drawzone.h:55
The "measure" state/tool of the board editor.
Definition boardeditorstate_measure.h:45
The "select" state/tool of the board editor (default state)
Definition boardeditorstate_select.h:70
The BoardGraphicsScene class.
Definition boardgraphicsscene.h:77
A handle to a optionally dismissable message in the UI.
Definition dismissablemessagecontext.h:53
The FootprintGraphicsItem class.
Definition footprintgraphicsitem.h:66
This class provides a Dialog (GUI) to choose DXF import settings.
Definition graphicsexportdialog.h:61
The GraphicsLayerList class.
Definition graphicslayerlist.h:48
The GraphicsLayersModel class.
Definition graphicslayersmodel.h:48
The GraphicsScene class.
Definition graphicsscene.h:64
The GuiApplication class.
Definition guiapplication.h:75
The IF_GraphicsViewEventHandler class.
Definition if_graphicsvieweventhandler.h:45
Backend configuration for the LengthEdit UI element.
Definition lengtheditcontext.h:49
The ProjectEditor class.
Definition projecteditor.h:64
The SearchContext class.
Definition searchcontext.h:43
The SlintGraphicsView class.
Definition slintgraphicsview.h:52
The WindowTab class.
Definition windowtab.h:52
Definition occmodel.cpp:77
type_safe::constrained_type< Length, PositiveLengthConstraint, PositiveLengthVerifier > PositiveLength
Definition length.h:810
type_safe::constrained_type< Ratio, UnsignedLimitedRatioConstraint, UnsignedLimitedRatioVerifier > UnsignedLimitedRatio
Definition ratio.h:376
Definition uuid.h:186
Settings about a background image ("underlay")
Definition backgroundimagesettings.h:48
QString packageName
Package library element name.
Definition board2dtab.h:84
Uuid packageUuid
Package library element UUID.
Definition board2dtab.h:81
Uuid deviceUuid
Device library element UUID.
Definition board2dtab.h:75
QString deviceName
Device library element name.
Definition board2dtab.h:78
bool isListedInComponentInstance
Definition board2dtab.h:88
Definition graphicsscene.h:52
Definition graphicsscene.h:45