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:78
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 PackageEditorState_AddPads class.
Definition: packageeditorstate_addpads.h:55
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
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
QScopedPointer< CmdFootprintPadEdit > mEditCmd
Definition: packageeditorstate_addpads.h:113
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
void packagePadComboBoxCurrentPadChanged(tl::optional< Uuid > pad) noexcept
Definition: packageeditorstate_addpads.cpp:510
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:77
type_safe::constrained_type< Length, PositiveLengthConstraint, PositiveLengthVerifier > PositiveLength
Definition: length.h:812
type_safe::constrained_type< Length, UnsignedLengthConstraint, UnsignedLengthVerifier > UnsignedLength
Definition: length.h:696
type_safe::constrained_type< Ratio, UnsignedLimitedRatioConstraint, UnsignedLimitedRatioVerifier > UnsignedLimitedRatio
Definition: ratio.h:378
Definition: packageeditorfsm.h:90