20#ifndef LIBREPCB_EDITOR_PACKAGEEDITORSTATE_DRAWZONE_H
21#define LIBREPCB_EDITOR_PACKAGEEDITORSTATE_DRAWZONE_H
45class ZoneGraphicsItem;
66 bool entry() noexcept override;
67 bool exit() noexcept override;
69 const noexcept override;
87 bool start() noexcept;
88 bool abort(
bool showErrMsgBox = true) 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 Zone class.
Definition zone.h:43
The CmdZoneEdit class.
Definition cmdzoneedit.h:48
The PackageEditorState_DrawZone class.
Definition packageeditorstate_drawzone.h:54
std::unique_ptr< CmdZoneEdit > mEditCmd
Definition packageeditorstate_drawzone.h:98
bool processGraphicsSceneMouseMoved(const GraphicsSceneMouseEvent &e) noexcept override
Definition packageeditorstate_drawzone.cpp:203
bool abort(bool showErrMsgBox=true) noexcept
Definition packageeditorstate_drawzone.cpp:269
PackageEditorState_DrawZone()=delete
bool addNextSegment() noexcept
Definition packageeditorstate_drawzone.cpp:292
void updateOutline() noexcept
Definition packageeditorstate_drawzone.cpp:350
bool processGraphicsSceneLeftMouseButtonPressed(const GraphicsSceneMouseEvent &e) noexcept override
Definition packageeditorstate_drawzone.cpp:210
void updateCursorPosition(Qt::KeyboardModifiers modifiers) noexcept
Definition packageeditorstate_drawzone.cpp:335
std::shared_ptr< Zone > mCurrentZone
Definition packageeditorstate_drawzone.h:99
Angle mLastAngle
Definition packageeditorstate_drawzone.h:107
bool processAbortCommand() noexcept override
Definition packageeditorstate_drawzone.cpp:227
bool processGraphicsSceneLeftMouseButtonDoubleClicked(const GraphicsSceneMouseEvent &e) noexcept override
Definition packageeditorstate_drawzone.cpp:221
void updateOverlayText() noexcept
Definition packageeditorstate_drawzone.cpp:357
bool processKeyPressed(const GraphicsSceneKeyEvent &e) noexcept override
Definition packageeditorstate_drawzone.cpp:183
PackageEditorState_DrawZone(const PackageEditorState_DrawZone &other)=delete
bool mIsUndoCmdActive
Definition packageeditorstate_drawzone.h:97
bool start() noexcept
Definition packageeditorstate_drawzone.cpp:239
void angleEditValueChanged(const Angle &value) noexcept
Definition packageeditorstate_drawzone.cpp:408
bool exit() noexcept override
Definition packageeditorstate_drawzone.cpp:157
std::shared_ptr< ZoneGraphicsItem > mCurrentGraphicsItem
Definition packageeditorstate_drawzone.h:100
virtual ~PackageEditorState_DrawZone() noexcept
Definition packageeditorstate_drawzone.cpp:59
bool processKeyReleased(const GraphicsSceneKeyEvent &e) noexcept override
Definition packageeditorstate_drawzone.cpp:193
Zone::Rules mLastRules
Definition packageeditorstate_drawzone.h:106
void updateStatusBarMessage() noexcept
Definition packageeditorstate_drawzone.cpp:395
QSet< EditorWidgetBase::Feature > getAvailableFeatures() const noexcept override
Definition packageeditorstate_drawzone.cpp:173
Zone::Layers mLastLayers
Definition packageeditorstate_drawzone.h:105
Point mLastScenePos
Definition packageeditorstate_drawzone.h:101
Point mCursorPos
Definition packageeditorstate_drawzone.h:102
bool entry() noexcept override
Definition packageeditorstate_drawzone.cpp:66
The PackageEditorState class is the base class of all package editor FSM states.
Definition packageeditorstate.h:53
The ZoneGraphicsItem class.
Definition zonegraphicsitem.h:48
Definition occmodel.cpp:77
Definition graphicsscene.h:52
Definition graphicsscene.h:45
Definition packageeditorfsm.h:92