20#ifndef LIBREPCB_EDITOR_BOARDEDITORSTATE_ADDVIA_H
21#define LIBREPCB_EDITOR_BOARDEDITORSTATE_ADDVIA_H
32#include <optional.hpp>
43class BoardGraphicsScene;
45class PositiveLengthEdit;
65 virtual
bool entry() noexcept override;
66 virtual
bool exit() noexcept override;
70 QGraphicsSceneMouseEvent& e) noexcept override;
72 QGraphicsSceneMouseEvent& e) noexcept override;
74 QGraphicsSceneMouseEvent& e) noexcept override;
90 const
Point& pos) noexcept;
The BI_Via class.
Definition: bi_via.h:44
The NetSignal class.
Definition: netsignal.h:50
The Point class is used to represent a point/coordinate/vector, for example (1.2mm; 5....
Definition: point.h:79
The Uuid class is a replacement for QUuid to get UUID strings without {} braces.
Definition: uuid.h:58
The Via class represents a via of a board.
Definition: via.h:52
The "add via" state/tool of the board editor.
Definition: boardeditorstate_addvia.h:54
virtual bool processGraphicsSceneMouseMoved(QGraphicsSceneMouseEvent &e) noexcept override
Definition: boardeditorstate_addvia.cpp:201
bool mUseAutoNetSignal
Whether the net signal is determined automatically or not.
Definition: boardeditorstate_addvia.h:99
bool addVia(const Point &pos) noexcept
Definition: boardeditorstate_addvia.cpp:227
void updateClosestNetSignal(BoardGraphicsScene &scene, const Point &pos) noexcept
Definition: boardeditorstate_addvia.cpp:448
bool mClosestNetSignalIsUpToDate
Whether mCurrentNetSignal contains an up-to-date closest net signal.
Definition: boardeditorstate_addvia.h:105
BI_Via * mCurrentViaToPlace
Definition: boardeditorstate_addvia.h:109
virtual ~BoardEditorState_AddVia() noexcept
Definition: boardeditorstate_addvia.cpp:88
void drillDiameterEditValueChanged(const PositiveLength &value) noexcept
Definition: boardeditorstate_addvia.cpp:410
BoardEditorState_AddVia(const BoardEditorState_AddVia &other)=delete
BoardEditorState_AddVia()=delete
void applySelectedNetSignal() noexcept
Definition: boardeditorstate_addvia.cpp:419
QScopedPointer< CmdBoardViaEdit > mCurrentViaEditCmd
Definition: boardeditorstate_addvia.h:110
bool abortCommand(bool showErrMsgBox) noexcept
Definition: boardeditorstate_addvia.cpp:377
void setNetSignal(NetSignal *netsignal) noexcept
bool mIsUndoCmdActive
Definition: boardeditorstate_addvia.h:95
tl::optional< Uuid > mCurrentNetSignal
The current net signal of the via.
Definition: boardeditorstate_addvia.h:102
Via mLastViaProperties
Definition: boardeditorstate_addvia.h:96
QPointer< QComboBox > mNetSignalComboBox
Definition: boardeditorstate_addvia.h:113
virtual bool exit() noexcept override
Definition: boardeditorstate_addvia.cpp:186
bool updatePosition(BoardGraphicsScene &scene, const Point &pos) noexcept
Definition: boardeditorstate_addvia.cpp:264
NetSignal * getCurrentNetSignal() const noexcept
Definition: boardeditorstate_addvia.cpp:484
bool fixPosition(const Point &pos) noexcept
Definition: boardeditorstate_addvia.cpp:279
virtual bool processGraphicsSceneLeftMouseButtonPressed(QGraphicsSceneMouseEvent &e) noexcept override
Definition: boardeditorstate_addvia.cpp:210
void sizeEditValueChanged(const PositiveLength &value) noexcept
Definition: boardeditorstate_addvia.cpp:402
virtual bool entry() noexcept override
Definition: boardeditorstate_addvia.cpp:95
virtual bool processGraphicsSceneLeftMouseButtonDoubleClicked(QGraphicsSceneMouseEvent &e) noexcept override
Definition: boardeditorstate_addvia.cpp:218
The board editor state base class.
Definition: boardeditorstate.h:59
The BoardGraphicsScene class.
Definition: boardgraphicsscene.h:77
The CmdBoardViaEdit class.
Definition: cmdboardviaedit.h:49
Definition: occmodel.cpp:77
type_safe::constrained_type< Length, PositiveLengthConstraint, PositiveLengthVerifier > PositiveLength
Definition: length.h:812
FSM Context.
Definition: boardeditorfsm.h:88