20#ifndef LIBREPCB_EDITOR_BOARDEDITOR_H
21#define LIBREPCB_EDITOR_BOARDEDITOR_H
39class BoardPlaneFragmentsBuilder;
40class OrderPcbApiRequest;
49class RuleCheckMessagesModel;
69 QObject* parent =
nullptr) noexcept;
78 void setUiData(const ui::BoardData& data) noexcept;
122 bool checkOnly) noexcept;
125 template <typename MessageType>
128 template <typename MessageType>
The BoardDesignRuleCheck class checks a librepcb::Board for design rule violations.
Definition boarddesignrulecheck.h:47
The Board class represents a PCB of a project and is always part of a circuit.
Definition board.h:74
Plane fragments builder working on a librepcb::Board.
Definition boardplanefragmentsbuilder.h:55
Order a PCB via a LibrePCB API server.
Definition orderpcbapirequest.h:42
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
The Board2dTab class.
Definition board2dtab.h:70
The Board3dTab class.
Definition board3dtab.h:55
The BoardEditor class.
Definition boardeditor.h:58
void startDrc(bool quick) noexcept
Definition boardeditor.cpp:311
void registeredTabsModified() noexcept
Definition boardeditor.cpp:650
std::unique_ptr< OrderPcbApiRequest > mOrderRequest
May be nullptr
Definition boardeditor.h:154
void startOrderPcbUpload(bool openBrowser) noexcept
Start the "Order PCB" upload.
Definition boardeditor.cpp:460
std::unique_ptr< BoardDesignRuleCheck > mDrc
Definition boardeditor.h:148
void schedulePlanesRebuild()
Definition boardeditor.cpp:258
void drcMessageHighlightRequested(std::shared_ptr< const RuleCheckMessage > msg, bool zoomTo)
QString mOrderStatus
Either error or status.
Definition boardeditor.h:155
ui::SolderTechnology mSmtSolderTechnology
Definition boardeditor.h:139
void execStepExportDialog() noexcept
Definition boardeditor.cpp:361
void execBoardSetupDialog(bool switchToDrcSettings=false) noexcept
Definition boardeditor.cpp:351
ui::IpcDensityLevel mIpcDensityLevel
Definition boardeditor.h:140
std::shared_ptr< Notification > mDrcNotification
Definition boardeditor.h:149
ProjectEditor & getProjectEditor() noexcept
Definition boardeditor.h:73
bool isRebuildingPlanes() const noexcept
Definition boardeditor.cpp:254
std::unique_ptr< BoardPlaneFragmentsBuilder > mPlanesBuilder
Definition boardeditor.h:143
void setDrcResult(const BoardDesignRuleCheck::Result &result) noexcept
Definition boardeditor.cpp:619
void registerActiveTab(Board2dTab *tab) noexcept
Definition boardeditor.cpp:327
Board & getBoard() noexcept
Definition boardeditor.h:74
void prepareOrderPcb() noexcept
Prepare the "Order PCB" feature (request server status)
Definition boardeditor.cpp:402
QString mDrcExecutionError
Definition boardeditor.h:158
ProjectEditor & mProjectEditor
Definition boardeditor.h:132
void unregisterActiveTab(Board2dTab *tab) noexcept
Definition boardeditor.cpp:334
bool autoFixHandler(const std::shared_ptr< const RuleCheckMessage > &msg, bool checkOnly) noexcept
Definition boardeditor.cpp:679
int mOrderUploadProgressPercent
-1 means "not in progress"
Definition boardeditor.h:156
int mUiIndex
Definition boardeditor.h:135
void updatePreferredFootprintTags() noexcept
Definition boardeditor.cpp:593
bool mOrderOpenBrowser
Definition boardeditor.h:157
BoardEditor(const BoardEditor &other)=delete
Board & mBoard
Definition boardeditor.h:134
bool autoFixHelper(const std::shared_ptr< const RuleCheckMessage > &msg, bool checkOnly)
Definition boardeditor.cpp:701
void setUiIndex(int index) noexcept
Definition boardeditor.cpp:129
void planesRebuildTimerTimeout() noexcept
Definition boardeditor.cpp:665
ui::SolderTechnology mThtSolderTechnology
Definition boardeditor.h:138
bool autoFix(const MessageType &msg)
uint mDrcUndoStackState
Definition boardeditor.h:150
Project & mProject
Definition boardeditor.h:133
qint64 mTimestampOfLastPlaneRebuild
Definition boardeditor.h:145
int getUiIndex() const noexcept
Definition boardeditor.h:75
bool autoFixImpl(const std::shared_ptr< const RuleCheckMessage > &msg, bool checkOnly)
Definition boardeditor.cpp:692
QVector< QPointer< Board3dTab > > mActive3dTabs
Definition boardeditor.h:162
void planesRebuildStatusChanged()
Signal< BoardEditor > onUiDataChanged
Definition boardeditor.h:63
void setUiData(const ui::BoardData &data) noexcept
Definition boardeditor.cpp:173
ui::BoardData getUiData() const noexcept
Definition boardeditor.cpp:136
std::unique_ptr< QTimer > mPlanesRebuildTimer
Definition boardeditor.h:144
QVector< QPointer< Board2dTab > > mActive2dTabs
Definition boardeditor.h:161
void startPlanesRebuild(bool force=false) noexcept
Definition boardeditor.cpp:262
std::shared_ptr< RuleCheckMessagesModel > mDrcMessages
Definition boardeditor.h:151
void aboutToBeDestroyed()
The Notification class.
Definition notification.h:43
The ProjectEditor class.
Definition projecteditor.h:64
The RuleCheckMessagesModel class.
Definition rulecheckmessagesmodel.h:46
Definition occmodel.cpp:77