LibrePCB Developers Documentation
boardeditor.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_BOARDEDITOR_H
21 #define LIBREPCB_EDITOR_BOARDEDITOR_H
22 
23 /*******************************************************************************
24  * Includes
25  ******************************************************************************/
26 #include "../../dialogs/graphicsexportdialog.h"
27 #include "../../graphics/graphicslayer.h"
28 #include "../../widgets/if_graphicsvieweventhandler.h"
29 #include "ui_boardeditor.h"
30 
34 
35 #include <QtCore>
36 #include <QtWidgets>
37 
38 /*******************************************************************************
39  * Namespace / Forward Declarations
40  ******************************************************************************/
41 namespace librepcb {
42 
43 class BoardPlaneFragmentsBuilder;
44 class ComponentInstance;
45 class Project;
46 class Theme;
47 
48 namespace editor {
49 
50 class BoardEditorFsm;
51 class BoardGraphicsScene;
52 class BoardLayersDock;
53 class ExclusiveActionGroup;
54 class GraphicsView;
55 class OpenGlSceneBuilder;
56 class OpenGlSceneBuilder;
57 class OpenGlView;
58 class ProjectEditor;
59 class RuleCheckDock;
60 class SearchToolBar;
61 class StandardEditorCommandHandler;
62 class ToolBarProxy;
63 class UndoStackActionGroup;
64 class UnplacedComponentsDock;
65 
66 namespace Ui {
67 class BoardEditor;
68 }
69 
70 /*******************************************************************************
71  * Class BoardEditor
72  ******************************************************************************/
73 
77 class BoardEditor final : public QMainWindow,
80  Q_OBJECT
81 
82 public:
83  // Constructors / Destructor
84  BoardEditor() = delete;
85  BoardEditor(const BoardEditor& other) = delete;
86  explicit BoardEditor(ProjectEditor& projectEditor, Project& project);
87  ~BoardEditor();
88 
89  // Getters
90  ProjectEditor& getProjectEditor() const noexcept { return mProjectEditor; }
91  Project& getProject() const noexcept { return mProject; }
92  Board* getActiveBoard() const noexcept { return mActiveBoard.data(); }
94  return mGraphicsScene.data();
95  }
96  bool getIgnoreLocks() const noexcept;
97 
99  virtual std::shared_ptr<GraphicsLayer> getLayer(
100  const QString& name) const noexcept override {
101  foreach (const std::shared_ptr<GraphicsLayer>& layer, mLayers) {
102  if (layer->getName() == name) {
103  return layer;
104  }
105  }
106  return nullptr;
107  }
108 
109  QList<std::shared_ptr<GraphicsLayer>> getAllLayers() const noexcept override {
110  return mLayers;
111  }
112 
113  // Setters
114  bool setActiveBoardIndex(int index) noexcept;
115 
116  // General Methods
117  void abortAllCommands() noexcept;
118  void abortBlockingToolsInOtherEditors() noexcept;
119 
120  // Operator Overloadings
121  BoardEditor& operator=(const BoardEditor& rhs) = delete;
122 
123 protected:
124  virtual void closeEvent(QCloseEvent* event) noexcept override;
125 
126 public slots:
127 
128  void boardAdded(int newIndex);
129  void boardRemoved(int oldIndex);
130 
131 private slots:
132 
133  // Actions
134  void on_tabBar_currentChanged(int index);
135  void on_lblUnplacedComponentsNote_linkActivated();
136 
137 private:
138  // Private Methods
139  void addLayers(const Theme& theme) noexcept;
140  void updateEnabledCopperLayers() noexcept;
141  void loadLayersVisibility() noexcept;
142  void storeLayersVisibility() noexcept;
143  void createActions() noexcept;
144  void createToolBars() noexcept;
145  void createDockWidgets() noexcept;
146  void createMenus() noexcept;
147  void updateBoardActionGroup() noexcept;
148  virtual bool graphicsViewEventHandler(QEvent* event) override;
149  void toolRequested(const QVariant& newTool) noexcept;
150  void unplacedComponentsCountChanged(int count) noexcept;
151  void runDrc(bool quick) noexcept;
152  void highlightDrcMessage(const RuleCheckMessage& msg, bool zoomTo) noexcept;
153  void setDrcMessageApproved(const RuleCheckMessage& msg,
154  bool approved) noexcept;
155  void clearDrcMarker() noexcept;
156  QList<BI_Device*> getSearchCandidates() noexcept;
157  QStringList getSearchToolBarCompleterList() noexcept;
158  void goToDevice(const QString& name, int index) noexcept;
159  void scheduleOpenGlSceneUpdate() noexcept;
160  void performScheduledTasks() noexcept;
161  void startPlaneRebuild(bool full = false) noexcept;
162  bool isActiveTopLevelWindow() const noexcept;
163  void newBoard() noexcept;
164  void copyBoard() noexcept;
165  void removeBoard() noexcept;
166  void setGridProperties(const PositiveLength& interval, const LengthUnit& unit,
167  Theme::GridStyle style, bool applyToBoard) noexcept;
168  void execGridPropertiesDialog() noexcept;
169  void execBoardSetupDialog(bool switchToDrcSettings = false) noexcept;
170  void execGraphicsExportDialog(GraphicsExportDialog::Output output,
171  const QString& settingsKey) noexcept;
172  void execStepExportDialog() noexcept;
173  void execD356NetlistExportDialog() noexcept;
174  bool show3DView() noexcept;
175  void hide3DView() noexcept;
176 
177  // General Attributes
180  QScopedPointer<Ui::BoardEditor> mUi;
181  QScopedPointer<OpenGlView> mOpenGlView;
182  QScopedPointer<ToolBarProxy> mCommandToolBarProxy;
183  QScopedPointer<StandardEditorCommandHandler> mStandardCommandHandler;
184 
185  // Misc
186  QPointer<Board> mActiveBoard;
187  QList<std::shared_ptr<GraphicsLayer>> mLayers;
188  QScopedPointer<BoardGraphicsScene> mGraphicsScene;
189  QScopedPointer<OpenGlSceneBuilder> mOpenGlSceneBuilder;
192  QHash<Uuid, QRectF> mVisibleSceneRect;
193  QScopedPointer<BoardEditorFsm> mFsm;
194 
195  // Plane Fragments Builder
196  QScopedPointer<BoardPlaneFragmentsBuilder> mPlaneFragmentsBuilder;
198 
199  // DRC
200  QHash<Uuid, tl::optional<RuleCheckMessageList>> mDrcMessages;
201  QScopedPointer<QGraphicsPathItem> mDrcLocationGraphicsItem;
202 
203  // Actions
204  QScopedPointer<QAction> mActionAboutLibrePcb;
205  QScopedPointer<QAction> mActionAboutQt;
206  QScopedPointer<QAction> mActionOnlineDocumentation;
207  QScopedPointer<QAction> mActionKeyboardShortcutsReference;
208  QScopedPointer<QAction> mActionWebsite;
209  QScopedPointer<QAction> mActionSaveProject;
210  QScopedPointer<QAction> mActionCloseProject;
211  QScopedPointer<QAction> mActionCloseWindow;
212  QScopedPointer<QAction> mActionQuit;
213  QScopedPointer<QAction> mActionFileManager;
214  QScopedPointer<QAction> mActionSchematicEditor;
215  QScopedPointer<QAction> mActionControlPanel;
216  QScopedPointer<QAction> mActionProjectSetup;
217  QScopedPointer<QAction> mActionUpdateLibrary;
218  QScopedPointer<QAction> mActionBoardSetup;
219  QScopedPointer<QAction> mActionRunQuickCheck;
220  QScopedPointer<QAction> mActionRunDesignRuleCheck;
221  QScopedPointer<QAction> mActionImportDxf;
222  QScopedPointer<QAction> mActionExportLppz;
223  QScopedPointer<QAction> mActionExportImage;
224  QScopedPointer<QAction> mActionExportPdf;
225  QScopedPointer<QAction> mActionExportStep;
226  QScopedPointer<QAction> mActionPrint;
227  QScopedPointer<QAction> mActionGenerateBom;
228  QScopedPointer<QAction> mActionGenerateFabricationData;
229  QScopedPointer<QAction> mActionGeneratePickPlace;
230  QScopedPointer<QAction> mActionGenerateD356Netlist;
231  QScopedPointer<QAction> mActionOutputJobs;
232  QScopedPointer<QAction> mActionOrderPcb;
233  QScopedPointer<QAction> mActionNewBoard;
234  QScopedPointer<QAction> mActionCopyBoard;
235  QScopedPointer<QAction> mActionRemoveBoard;
236  QScopedPointer<QAction> mActionNextPage;
237  QScopedPointer<QAction> mActionPreviousPage;
238  QScopedPointer<QAction> mActionFind;
239  QScopedPointer<QAction> mActionFindNext;
240  QScopedPointer<QAction> mActionFindPrevious;
241  QScopedPointer<QAction> mActionSelectAll;
242  QScopedPointer<QAction> mActionGridProperties;
243  QScopedPointer<QAction> mActionGridIncrease;
244  QScopedPointer<QAction> mActionGridDecrease;
245  QScopedPointer<QAction> mActionIgnoreLocks;
246  QScopedPointer<QAction> mActionZoomFit;
247  QScopedPointer<QAction> mActionZoomIn;
248  QScopedPointer<QAction> mActionZoomOut;
249  QScopedPointer<QAction> mActionToggle3D;
250  QScopedPointer<QAction> mActionUndo;
251  QScopedPointer<QAction> mActionRedo;
252  QScopedPointer<QAction> mActionCut;
253  QScopedPointer<QAction> mActionCopy;
254  QScopedPointer<QAction> mActionPaste;
255  QScopedPointer<QAction> mActionMoveLeft;
256  QScopedPointer<QAction> mActionMoveRight;
257  QScopedPointer<QAction> mActionMoveUp;
258  QScopedPointer<QAction> mActionMoveDown;
259  QScopedPointer<QAction> mActionRotateCcw;
260  QScopedPointer<QAction> mActionRotateCw;
261  QScopedPointer<QAction> mActionFlipHorizontal;
262  QScopedPointer<QAction> mActionFlipVertical;
263  QScopedPointer<QAction> mActionSnapToGrid;
264  QScopedPointer<QAction> mActionLock;
265  QScopedPointer<QAction> mActionUnlock;
266  QScopedPointer<QAction> mActionResetAllTexts;
267  QScopedPointer<QAction> mActionIncreaseLineWidth;
268  QScopedPointer<QAction> mActionDecreaseLineWidth;
269  QScopedPointer<QAction> mActionChangeLineWidth;
270  QScopedPointer<QAction> mActionProperties;
271  QScopedPointer<QAction> mActionRemove;
272  QScopedPointer<QAction> mActionShowPlanes;
273  QScopedPointer<QAction> mActionHidePlanes;
274  QScopedPointer<QAction> mActionRebuildPlanes;
275  QScopedPointer<QAction> mActionAbort;
276  QScopedPointer<QAction> mActionToolSelect;
277  QScopedPointer<QAction> mActionToolTrace;
278  QScopedPointer<QAction> mActionToolVia;
279  QScopedPointer<QAction> mActionToolPolygon;
280  QScopedPointer<QAction> mActionToolText;
281  QScopedPointer<QAction> mActionToolPlane;
282  QScopedPointer<QAction> mActionToolZone;
283  QScopedPointer<QAction> mActionToolHole;
284  QScopedPointer<QAction> mActionToolMeasure;
285  QScopedPointer<QAction> mActionDockErc;
286  QScopedPointer<QAction> mActionDockDrc;
287  QScopedPointer<QAction> mActionDockLayers;
288  QScopedPointer<QAction> mActionDockPlaceDevices;
289 
290  // Action groups
291  QScopedPointer<UndoStackActionGroup> mUndoStackActionGroup;
292  QScopedPointer<ExclusiveActionGroup> mToolsActionGroup;
293  QScopedPointer<QActionGroup> mBoardActionGroup;
294 
295  // Toolbars
296  QScopedPointer<QToolBar> mToolBarFile;
297  QScopedPointer<QToolBar> mToolBarEdit;
298  QScopedPointer<QToolBar> mToolBarView;
299  QScopedPointer<SearchToolBar> mToolBarSearch;
300  QScopedPointer<QToolBar> mToolBarCommand;
301  QScopedPointer<QToolBar> mToolBarTools;
302 
303  // Docks
304  QScopedPointer<UnplacedComponentsDock> mDockUnplacedComponents;
305  QScopedPointer<BoardLayersDock> mDockLayers;
306  QScopedPointer<RuleCheckDock> mDockErc;
307  QScopedPointer<RuleCheckDock> mDockDrc;
308 
309  // Menus
310  QPointer<QMenu> mMenuBoard;
311 };
312 
313 /*******************************************************************************
314  * End of File
315  ******************************************************************************/
316 
317 } // namespace editor
318 } // namespace librepcb
319 
320 #endif
QScopedPointer< QAction > mActionSelectAll
Definition: boardeditor.h:241
QScopedPointer< QAction > mActionRebuildPlanes
Definition: boardeditor.h:274
QScopedPointer< Ui::BoardEditor > mUi
Definition: boardeditor.h:180
QScopedPointer< QAction > mActionGridDecrease
Definition: boardeditor.h:244
QHash< Uuid, tl::optional< RuleCheckMessageList > > mDrcMessages
UUID=Board.
Definition: boardeditor.h:200
QScopedPointer< QAction > mActionExportStep
Definition: boardeditor.h:225
QScopedPointer< QAction > mActionDockPlaceDevices
Definition: boardeditor.h:288
The ProjectEditor class.
Definition: projecteditor.h:62
QScopedPointer< QAction > mActionExportImage
Definition: boardeditor.h:223
QScopedPointer< QAction > mActionRemove
Definition: boardeditor.h:271
QScopedPointer< BoardPlaneFragmentsBuilder > mPlaneFragmentsBuilder
Definition: boardeditor.h:196
QScopedPointer< BoardLayersDock > mDockLayers
Definition: boardeditor.h:305
QScopedPointer< QAction > mActionMoveDown
Definition: boardeditor.h:258
QScopedPointer< QToolBar > mToolBarFile
Definition: boardeditor.h:296
QPointer< QMenu > mMenuBoard
Definition: boardeditor.h:310
QScopedPointer< QAction > mActionToolTrace
Definition: boardeditor.h:277
QScopedPointer< QAction > mActionToolZone
Definition: boardeditor.h:282
QScopedPointer< QAction > mActionPreviousPage
Definition: boardeditor.h:237
QScopedPointer< QAction > mActionRotateCcw
Definition: boardeditor.h:259
Project & mProject
Definition: boardeditor.h:179
QScopedPointer< QAction > mActionQuit
Definition: boardeditor.h:212
QScopedPointer< RuleCheckDock > mDockErc
Definition: boardeditor.h:306
QScopedPointer< QAction > mActionResetAllTexts
Definition: boardeditor.h:266
QScopedPointer< QAction > mActionDockLayers
Definition: boardeditor.h:287
QScopedPointer< QAction > mActionFlipVertical
Definition: boardeditor.h:262
QScopedPointer< QAction > mActionToolVia
Definition: boardeditor.h:278
QScopedPointer< QAction > mActionToolMeasure
Definition: boardeditor.h:284
QScopedPointer< ToolBarProxy > mCommandToolBarProxy
Definition: boardeditor.h:182
QScopedPointer< QAction > mActionFindNext
Definition: boardeditor.h:239
QScopedPointer< QAction > mActionGridProperties
Definition: boardeditor.h:242
QScopedPointer< QAction > mActionFileManager
Definition: boardeditor.h:213
Definition: occmodel.cpp:77
QScopedPointer< QAction > mActionMoveRight
Definition: boardeditor.h:256
QScopedPointer< QAction > mActionToolPolygon
Definition: boardeditor.h:279
QScopedPointer< QAction > mActionMoveLeft
Definition: boardeditor.h:255
QScopedPointer< QAction > mActionUndo
Definition: boardeditor.h:250
QScopedPointer< QAction > mActionNextPage
Definition: boardeditor.h:236
QScopedPointer< ExclusiveActionGroup > mToolsActionGroup
Definition: boardeditor.h:292
QScopedPointer< QAction > mActionAboutQt
Definition: boardeditor.h:205
QScopedPointer< QAction > mActionSnapToGrid
Definition: boardeditor.h:263
ProjectEditor & getProjectEditor() const noexcept
Definition: boardeditor.h:90
QScopedPointer< QAction > mActionUnlock
Definition: boardeditor.h:265
QScopedPointer< QAction > mActionRemoveBoard
Definition: boardeditor.h:235
QScopedPointer< QAction > mActionCloseWindow
Definition: boardeditor.h:211
QScopedPointer< QAction > mActionBoardSetup
Definition: boardeditor.h:218
QScopedPointer< QToolBar > mToolBarEdit
Definition: boardeditor.h:297
QScopedPointer< QAction > mActionRedo
Definition: boardeditor.h:251
QScopedPointer< QAction > mActionGenerateD356Netlist
Definition: boardeditor.h:230
QScopedPointer< QAction > mActionGridIncrease
Definition: boardeditor.h:243
QScopedPointer< QToolBar > mToolBarTools
Definition: boardeditor.h:301
QScopedPointer< QAction > mActionPrint
Definition: boardeditor.h:226
QScopedPointer< OpenGlSceneBuilder > mOpenGlSceneBuilder
Definition: boardeditor.h:189
QScopedPointer< QAction > mActionSchematicEditor
Definition: boardeditor.h:214
Board * getActiveBoard() const noexcept
Definition: boardeditor.h:92
Project & getProject() const noexcept
Definition: boardeditor.h:91
QScopedPointer< QAction > mActionFindPrevious
Definition: boardeditor.h:240
QScopedPointer< QAction > mActionOnlineDocumentation
Definition: boardeditor.h:206
QScopedPointer< QAction > mActionFind
Definition: boardeditor.h:238
QScopedPointer< QAction > mActionIgnoreLocks
Definition: boardeditor.h:245
The Board class represents a PCB of a project and is always part of a circuit.
Definition: board.h:73
QScopedPointer< QAction > mActionNewBoard
Definition: boardeditor.h:233
QScopedPointer< QAction > mActionWebsite
Definition: boardeditor.h:208
The IF_GraphicsLayerProvider class defines an interface for classes which provide layers...
Definition: graphicslayer.h:111
The IF_GraphicsViewEventHandler class.
Definition: if_graphicsvieweventhandler.h:41
QScopedPointer< QGraphicsPathItem > mDrcLocationGraphicsItem
Definition: boardeditor.h:201
QScopedPointer< QAction > mActionHidePlanes
Definition: boardeditor.h:273
QHash< Uuid, QRectF > mVisibleSceneRect
Definition: boardeditor.h:192
QScopedPointer< QAction > mActionExportPdf
Definition: boardeditor.h:224
QScopedPointer< QAction > mActionToolPlane
Definition: boardeditor.h:281
QScopedPointer< QAction > mActionZoomIn
Definition: boardeditor.h:247
QScopedPointer< QAction > mActionImportDxf
Definition: boardeditor.h:221
BoardGraphicsScene * getActiveBoardScene() noexcept
Definition: boardeditor.h:93
QScopedPointer< QAction > mActionDecreaseLineWidth
Definition: boardeditor.h:268
The BoardEditor class.
Definition: boardeditor.h:77
QScopedPointer< QAction > mActionGenerateBom
Definition: boardeditor.h:227
QScopedPointer< QAction > mActionChangeLineWidth
Definition: boardeditor.h:269
The BoardGraphicsScene class.
Definition: boardgraphicsscene.h:77
QScopedPointer< UndoStackActionGroup > mUndoStackActionGroup
Definition: boardeditor.h:291
QScopedPointer< QAction > mActionCut
Definition: boardeditor.h:252
QScopedPointer< OpenGlView > mOpenGlView
Definition: boardeditor.h:181
virtual std::shared_ptr< GraphicsLayer > getLayer(const QString &name) const noexcept override
Definition: boardeditor.h:99
QScopedPointer< QAction > mActionZoomFit
Definition: boardeditor.h:246
QScopedPointer< QAction > mActionUpdateLibrary
Definition: boardeditor.h:217
GridStyle
Definition: theme.h:49
QScopedPointer< SearchToolBar > mToolBarSearch
Definition: boardeditor.h:299
QScopedPointer< QAction > mActionZoomOut
Definition: boardeditor.h:248
QScopedPointer< QAction > mActionOrderPcb
Definition: boardeditor.h:232
QScopedPointer< QAction > mActionPaste
Definition: boardeditor.h:254
QScopedPointer< QAction > mActionGenerateFabricationData
Definition: boardeditor.h:228
bool mOpenGlSceneBuildScheduled
Definition: boardeditor.h:190
QScopedPointer< QAction > mActionCopy
Definition: boardeditor.h:253
The Project class represents a whole (opened) project with all its content.
Definition: project.h:71
QScopedPointer< QAction > mActionToggle3D
Definition: boardeditor.h:249
QList< std::shared_ptr< GraphicsLayer > > getAllLayers() const noexcept override
Definition: boardeditor.h:109
qint64 mTimestampOfLastOpenGlSceneRebuild
Definition: boardeditor.h:191
QScopedPointer< QAction > mActionIncreaseLineWidth
Definition: boardeditor.h:267
ProjectEditor & mProjectEditor
Definition: boardeditor.h:178
QScopedPointer< QAction > mActionDockDrc
Definition: boardeditor.h:286
QScopedPointer< QAction > mActionControlPanel
Definition: boardeditor.h:215
type_safe::constrained_type< Length, PositiveLengthConstraint, PositiveLengthVerifier > PositiveLength
Definition: length.h:812
QScopedPointer< QAction > mActionRunQuickCheck
Definition: boardeditor.h:219
QScopedPointer< UnplacedComponentsDock > mDockUnplacedComponents
Definition: boardeditor.h:304
The RuleCheckMessage class.
Definition: rulecheckmessage.h:45
QScopedPointer< QAction > mActionToolSelect
Definition: boardeditor.h:276
QScopedPointer< QToolBar > mToolBarCommand
Definition: boardeditor.h:300
QPointer< Board > mActiveBoard
Definition: boardeditor.h:186
QScopedPointer< StandardEditorCommandHandler > mStandardCommandHandler
Definition: boardeditor.h:183
QScopedPointer< QActionGroup > mBoardActionGroup
Definition: boardeditor.h:293
QScopedPointer< QAction > mActionFlipHorizontal
Definition: boardeditor.h:261
QScopedPointer< BoardGraphicsScene > mGraphicsScene
Definition: boardeditor.h:188
QScopedPointer< QAction > mActionAbort
Definition: boardeditor.h:275
QScopedPointer< QToolBar > mToolBarView
Definition: boardeditor.h:298
Output
Definition: graphicsexportdialog.h:83
QScopedPointer< QAction > mActionKeyboardShortcutsReference
Definition: boardeditor.h:207
QScopedPointer< QAction > mActionRunDesignRuleCheck
Definition: boardeditor.h:220
QScopedPointer< BoardEditorFsm > mFsm
Definition: boardeditor.h:193
QScopedPointer< QAction > mActionDockErc
Definition: boardeditor.h:285
QScopedPointer< RuleCheckDock > mDockDrc
Definition: boardeditor.h:307
QList< std::shared_ptr< GraphicsLayer > > mLayers
Definition: boardeditor.h:187
QScopedPointer< QAction > mActionShowPlanes
Definition: boardeditor.h:272
QScopedPointer< QAction > mActionOutputJobs
Definition: boardeditor.h:231
QScopedPointer< QAction > mActionGeneratePickPlace
Definition: boardeditor.h:229
Theme class as used by librepcb::WorkspaceSettingsItem_Themes.
Definition: theme.h:44
QScopedPointer< QAction > mActionSaveProject
Definition: boardeditor.h:209
The LengthUnit class represents a length unit (millimeters, inches,...) and provides some useful meth...
Definition: lengthunit.h:60
QScopedPointer< QAction > mActionMoveUp
Definition: boardeditor.h:257
QScopedPointer< QAction > mActionToolHole
Definition: boardeditor.h:283
qint64 mTimestampOfLastPlaneRebuild
Definition: boardeditor.h:197
QScopedPointer< QAction > mActionProperties
Definition: boardeditor.h:270
QScopedPointer< QAction > mActionAboutLibrePcb
Definition: boardeditor.h:204
QScopedPointer< QAction > mActionCopyBoard
Definition: boardeditor.h:234
QScopedPointer< QAction > mActionExportLppz
Definition: boardeditor.h:222
QScopedPointer< QAction > mActionProjectSetup
Definition: boardeditor.h:216
QScopedPointer< QAction > mActionCloseProject
Definition: boardeditor.h:210
QScopedPointer< QAction > mActionToolText
Definition: boardeditor.h:280
QScopedPointer< QAction > mActionRotateCw
Definition: boardeditor.h:260
QScopedPointer< QAction > mActionLock
Definition: boardeditor.h:264