20#ifndef LIBREPCB_EDITOR_PACKAGEEDITORSTATE_DRAWCIRCLE_H
21#define LIBREPCB_EDITOR_PACKAGEEDITORSTATE_DRAWCIRCLE_H
43class CircleGraphicsItem;
65 bool entry() noexcept override;
66 bool exit() noexcept override;
68 const noexcept override;
72 QGraphicsSceneMouseEvent& e) noexcept override;
74 QGraphicsSceneMouseEvent& e) noexcept override;
The Circle class.
Definition: circle.h:46
The Layer class provides all supported geometry layers.
Definition: layer.h:42
The Point class is used to represent a point/coordinate/vector, for example (1.2mm; 5....
Definition: point.h:79
The CircleGraphicsItem class.
Definition: circlegraphicsitem.h:48
The CmdCircleEdit class.
Definition: cmdcircleedit.h:51
The PackageEditorState_DrawCircle class.
Definition: packageeditorstate_drawcircle.h:53
bool processGraphicsSceneMouseMoved(QGraphicsSceneMouseEvent &e) noexcept override
Definition: packageeditorstate_drawcircle.cpp:143
bool updateCircleDiameter(const Point &pos) noexcept
Definition: packageeditorstate_drawcircle.cpp:200
std::shared_ptr< Circle > mCurrentCircle
Definition: packageeditorstate_drawcircle.h:97
const Layer * mLastLayer
Definition: packageeditorstate_drawcircle.h:101
void requestLineWidth(const UnsignedLength &value)
QScopedPointer< CmdCircleEdit > mEditCmd
Definition: packageeditorstate_drawcircle.h:96
bool mLastFill
Definition: packageeditorstate_drawcircle.h:103
bool startAddCircle(const Point &pos) noexcept
Definition: packageeditorstate_drawcircle.cpp:177
QHash< const Layer *, UnsignedLength > mUsedLineWidths
Definition: packageeditorstate_drawcircle.h:105
bool processAbortCommand() noexcept override
Definition: packageeditorstate_drawcircle.cpp:165
void fillCheckBoxCheckedChanged(bool checked) noexcept
Definition: packageeditorstate_drawcircle.cpp:270
bool abortAddCircle() noexcept
Definition: packageeditorstate_drawcircle.cpp:230
void grabAreaCheckBoxCheckedChanged(bool checked) noexcept
Definition: packageeditorstate_drawcircle.cpp:278
std::shared_ptr< CircleGraphicsItem > mCurrentGraphicsItem
Definition: packageeditorstate_drawcircle.h:98
bool mLastGrabArea
Definition: packageeditorstate_drawcircle.h:104
~PackageEditorState_DrawCircle() noexcept
Definition: packageeditorstate_drawcircle.cpp:62
void layerComboBoxValueChanged(const Layer &layer) noexcept
Definition: packageeditorstate_drawcircle.cpp:244
bool exit() noexcept override
Definition: packageeditorstate_drawcircle.cpp:120
UnsignedLength mLastLineWidth
Definition: packageeditorstate_drawcircle.h:102
bool finishAddCircle(const Point &pos) noexcept
Definition: packageeditorstate_drawcircle.cpp:211
QSet< EditorWidgetBase::Feature > getAvailableFeatures() const noexcept override
Definition: packageeditorstate_drawcircle.cpp:133
void lineWidthEditValueChanged(const UnsignedLength &value) noexcept
Definition: packageeditorstate_drawcircle.cpp:261
bool processGraphicsSceneLeftMouseButtonPressed(QGraphicsSceneMouseEvent &e) noexcept override
Definition: packageeditorstate_drawcircle.cpp:154
PackageEditorState_DrawCircle(const PackageEditorState_DrawCircle &other)=delete
bool entry() noexcept override
Definition: packageeditorstate_drawcircle.cpp:70
PackageEditorState_DrawCircle()=delete
The PackageEditorState class is the base class of all package editor FSM states.
Definition: packageeditorstate.h:52
Definition: occmodel.cpp:77
type_safe::constrained_type< Length, UnsignedLengthConstraint, UnsignedLengthVerifier > UnsignedLength
Definition: length.h:696
Definition: packageeditorfsm.h:90