20#ifndef LIBREPCB_EDITOR_PACKAGEEDITORSTATE_ADDPADS_H
21#define LIBREPCB_EDITOR_PACKAGEEDITORSTATE_ADDPADS_H
44class CmdFootprintPadEdit;
45class FootprintPadGraphicsItem;
46class PackagePadComboBox;
70 virtual
bool entry() noexcept override;
71 virtual
bool exit() noexcept override;
73 const noexcept override;
77 QGraphicsSceneMouseEvent& e) noexcept override;
79 QGraphicsSceneMouseEvent& e) noexcept override;
81 QGraphicsSceneMouseEvent& e) noexcept override;
98 bool customRadius) noexcept;
The Angle class is used to represent an angle (for example 12.75 degrees)
Definition angle.h:76
The Point class is used to represent a point/coordinate/vector, for example (1.2mm; 5....
Definition point.h:78
The Uuid class is a replacement for QUuid to get UUID strings without {} braces.
Definition uuid.h:56
The PackageEditorState_AddPads class.
Definition packageeditorstate_addpads.h:55
std::unique_ptr< CmdFootprintPadEdit > mEditCmd
Definition packageeditorstate_addpads.h:113
virtual bool processGraphicsSceneMouseMoved(QGraphicsSceneMouseEvent &e) noexcept override
Definition packageeditorstate_addpads.cpp:386
PadType mPadType
Definition packageeditorstate_addpads.h:112
PackageEditorState_AddPads()=delete
std::shared_ptr< FootprintPad > mCurrentPad
Definition packageeditorstate_addpads.h:114
PadType
Definition packageeditorstate_addpads.h:60
void selectNextFreePadInComboBox() noexcept
Definition packageeditorstate_addpads.cpp:491
bool finishAddPad(const Point &pos) noexcept
Definition packageeditorstate_addpads.cpp:459
void boardSideSelectorCurrentSideChanged(FootprintPad::ComponentSide side) noexcept
Definition packageeditorstate_addpads.cpp:518
void heightEditValueChanged(const PositiveLength &value) noexcept
Definition packageeditorstate_addpads.cpp:547
void widthEditValueChanged(const PositiveLength &value) noexcept
Definition packageeditorstate_addpads.cpp:538
std::shared_ptr< FootprintPadGraphicsItem > mCurrentGraphicsItem
Definition packageeditorstate_addpads.h:115
void drillDiameterEditValueChanged(const PositiveLength &value) noexcept
Definition packageeditorstate_addpads.cpp:556
void requestRadius(const UnsignedLimitedRatio &radius)
void fiducialClearanceEditValueChanged(const UnsignedLength &value) noexcept
Definition packageeditorstate_addpads.cpp:566
void requestRadiusInputEnabled(bool enabled)
bool abortAddPad() noexcept
Definition packageeditorstate_addpads.cpp:476
void shapeSelectorCurrentShapeChanged(FootprintPad::Shape shape, const UnsignedLimitedRatio &radius, bool customRadius) noexcept
Definition packageeditorstate_addpads.cpp:526
virtual bool processRotate(const Angle &rotation) noexcept override
Definition packageeditorstate_addpads.cpp:414
FootprintPad mLastPad
Definition packageeditorstate_addpads.h:119
bool startAddPad(const Point &pos) noexcept
Definition packageeditorstate_addpads.cpp:427
void radiusEditValueChanged(const UnsignedLimitedRatio &value) noexcept
Definition packageeditorstate_addpads.cpp:574
void packagePadComboBoxCurrentPadChanged(std::optional< Uuid > pad) noexcept
Definition packageeditorstate_addpads.cpp:510
virtual bool exit() noexcept override
Definition packageeditorstate_addpads.cpp:361
PackageEditorState_AddPads(const PackageEditorState_AddPads &other)=delete
void pressFitCheckedChanged(bool value) noexcept
Definition packageeditorstate_addpads.cpp:582
void applyRecommendedRoundedRectRadius() noexcept
Definition packageeditorstate_addpads.cpp:590
virtual bool processGraphicsSceneRightMouseButtonReleased(QGraphicsSceneMouseEvent &e) noexcept override
Definition packageeditorstate_addpads.cpp:408
PackagePadComboBox * mPackagePadComboBox
Definition packageeditorstate_addpads.h:116
QSet< EditorWidgetBase::Feature > getAvailableFeatures() const noexcept override
Definition packageeditorstate_addpads.cpp:375
virtual ~PackageEditorState_AddPads() noexcept
Definition packageeditorstate_addpads.cpp:120
virtual bool processGraphicsSceneLeftMouseButtonPressed(QGraphicsSceneMouseEvent &e) noexcept override
Definition packageeditorstate_addpads.cpp:398
virtual bool entry() noexcept override
Definition packageeditorstate_addpads.cpp:128
The PackageEditorState class is the base class of all package editor FSM states.
Definition packageeditorstate.h:52
The PackagePadComboBox class.
Definition packagepadcombobox.h:44
Definition occmodel.cpp:76
type_safe::constrained_type< Length, PositiveLengthConstraint, PositiveLengthVerifier > PositiveLength
Definition length.h:810
type_safe::constrained_type< Length, UnsignedLengthConstraint, UnsignedLengthVerifier > UnsignedLength
Definition length.h:694
type_safe::constrained_type< Ratio, UnsignedLimitedRatioConstraint, UnsignedLimitedRatioVerifier > UnsignedLimitedRatio
Definition ratio.h:376
Definition packageeditorfsm.h:90