LibrePCB Developers Documentation
PackageEditorState_DrawPolygonBase Class Reference

The PackageEditorState_DrawPolygonBase class. More...

#include <packageeditorstate_drawpolygonbase.h>

+ Inheritance diagram for PackageEditorState_DrawPolygonBase:
+ Collaboration diagram for PackageEditorState_DrawPolygonBase:

Public Types

enum class  Mode
 
- Public Types inherited from PackageEditorState
using Context = PackageEditorFsm::Context
 

Signals

void requestLineWidth (const UnsignedLength &value)
 
- Signals inherited from PackageEditorState
void availableFeaturesChanged ()
 
void statusBarMessageChanged (const QString &message, int timeoutMs=-1)
 

Public Member Functions

 PackageEditorState_DrawPolygonBase ()=delete
 
 PackageEditorState_DrawPolygonBase (const PackageEditorState_DrawPolygonBase &other)=delete
 
 PackageEditorState_DrawPolygonBase (Context &context, Mode mode) noexcept
 
virtual ~PackageEditorState_DrawPolygonBase () noexcept
 
bool entry () noexcept override
 
bool exit () noexcept override
 
QSet< EditorWidgetBase::FeaturegetAvailableFeatures () const noexcept override
 
bool processKeyPressed (const QKeyEvent &e) noexcept override
 
bool processKeyReleased (const QKeyEvent &e) noexcept override
 
bool processGraphicsSceneMouseMoved (QGraphicsSceneMouseEvent &e) noexcept override
 
bool processGraphicsSceneLeftMouseButtonPressed (QGraphicsSceneMouseEvent &e) noexcept override
 
bool processGraphicsSceneLeftMouseButtonDoubleClicked (QGraphicsSceneMouseEvent &e) noexcept override
 
bool processAbortCommand () noexcept override
 
PackageEditorState_DrawPolygonBaseoperator= (const PackageEditorState_DrawPolygonBase &rhs)=delete
 
- Public Member Functions inherited from PackageEditorState
 PackageEditorState ()=delete
 
 PackageEditorState (const PackageEditorState &other)=delete
 
 PackageEditorState (Context &context) noexcept
 
virtual ~PackageEditorState () noexcept
 
virtual bool entry () noexcept
 
virtual bool exit () noexcept
 
virtual QSet< EditorWidgetBase::FeaturegetAvailableFeatures () const noexcept=0
 
virtual bool processKeyPressed (const QKeyEvent &e) noexcept
 
virtual bool processKeyReleased (const QKeyEvent &e) noexcept
 
virtual bool processGraphicsSceneMouseMoved (QGraphicsSceneMouseEvent &e) noexcept
 
virtual bool processGraphicsSceneLeftMouseButtonPressed (QGraphicsSceneMouseEvent &e) noexcept
 
virtual bool processGraphicsSceneLeftMouseButtonReleased (QGraphicsSceneMouseEvent &e) noexcept
 
virtual bool processGraphicsSceneLeftMouseButtonDoubleClicked (QGraphicsSceneMouseEvent &e) noexcept
 
virtual bool processGraphicsSceneRightMouseButtonReleased (QGraphicsSceneMouseEvent &e) noexcept
 
virtual bool processSelectAll () noexcept
 
virtual bool processCut () noexcept
 
virtual bool processCopy () noexcept
 
virtual bool processPaste () noexcept
 
virtual bool processMove (Qt::ArrowType direction)
 
virtual bool processRotate (const Angle &rotation) noexcept
 
virtual bool processMirror (Qt::Orientation orientation) noexcept
 
virtual bool processSnapToGrid () noexcept
 
virtual bool processFlip (Qt::Orientation orientation) noexcept
 
virtual bool processRemove () noexcept
 
virtual bool processEditProperties () noexcept
 
virtual bool processGenerateOutline () noexcept
 
virtual bool processGenerateCourtyard () noexcept
 
virtual bool processImportDxf () noexcept
 
virtual bool processAbortCommand () noexcept
 
PackageEditorStateoperator= (const PackageEditorState &rhs)=delete
 

Private Member Functions

bool start () noexcept
 
bool abort (bool showErrMsgBox=true) noexcept
 
bool addNextSegment () noexcept
 
void updateCursorPosition (Qt::KeyboardModifiers modifiers) noexcept
 
void updatePolygonPath () noexcept
 
void updateOverlayText () noexcept
 
void updateStatusBarMessage () noexcept
 
void layerComboBoxValueChanged (const Layer &layer) noexcept
 
void lineWidthEditValueChanged (const UnsignedLength &value) noexcept
 
void angleEditValueChanged (const Angle &value) noexcept
 
void fillCheckBoxCheckedChanged (bool checked) noexcept
 
void grabAreaCheckBoxCheckedChanged (bool checked) noexcept
 

Private Attributes

Mode mMode
 
bool mIsUndoCmdActive
 
QScopedPointer< CmdPolygonEditmEditCmd
 
std::shared_ptr< PolygonmCurrentPolygon
 
std::shared_ptr< PolygonGraphicsItemmCurrentGraphicsItem
 
Point mLastScenePos
 
Point mCursorPos
 
Point mArcCenter
 
bool mArcInSecondState
 
const LayermLastLayer
 
UnsignedLength mLastLineWidth
 
Angle mLastAngle
 
bool mLastFill
 
bool mLastGrabArea
 
QHash< const Layer *, UnsignedLengthmUsedLineWidths
 

Additional Inherited Members

- Protected Member Functions inherited from PackageEditorState
const PositiveLengthgetGridInterval () const noexcept
 
const LengthUnitgetLengthUnit () const noexcept
 
- Static Protected Member Functions inherited from PackageEditorState
static const QSet< const Layer * > & getAllowedTextLayers () noexcept
 
static const QSet< const Layer * > & getAllowedCircleAndPolygonLayers () noexcept
 
- Protected Attributes inherited from PackageEditorState
ContextmContext
 

Detailed Description

Member Enumeration Documentation

◆ Mode

enum class Mode
strong
Enumerator
LINE 
ARC 
RECT 
POLYGON 

Constructor & Destructor Documentation

◆ PackageEditorState_DrawPolygonBase() [1/3]

◆ PackageEditorState_DrawPolygonBase() [2/3]

◆ PackageEditorState_DrawPolygonBase() [3/3]

PackageEditorState_DrawPolygonBase ( Context context,
Mode  mode 
)
noexcept

◆ ~PackageEditorState_DrawPolygonBase()

~PackageEditorState_DrawPolygonBase ( )
virtualnoexcept

Member Function Documentation

◆ entry()

bool entry ( )
overridevirtualnoexcept

Reimplemented from PackageEditorState.

+ Here is the call graph for this function:

◆ exit()

bool exit ( )
overridevirtualnoexcept

Reimplemented from PackageEditorState.

+ Here is the call graph for this function:

◆ getAvailableFeatures()

QSet< EditorWidgetBase::Feature > getAvailableFeatures ( ) const
overridevirtualnoexcept

Implements PackageEditorState.

◆ processKeyPressed()

bool processKeyPressed ( const QKeyEvent &  e)
overridevirtualnoexcept

Reimplemented from PackageEditorState.

◆ processKeyReleased()

bool processKeyReleased ( const QKeyEvent &  e)
overridevirtualnoexcept

Reimplemented from PackageEditorState.

◆ processGraphicsSceneMouseMoved()

bool processGraphicsSceneMouseMoved ( QGraphicsSceneMouseEvent &  e)
overridevirtualnoexcept

Reimplemented from PackageEditorState.

+ Here is the call graph for this function:

◆ processGraphicsSceneLeftMouseButtonPressed()

bool processGraphicsSceneLeftMouseButtonPressed ( QGraphicsSceneMouseEvent &  e)
overridevirtualnoexcept

Reimplemented from PackageEditorState.

+ Here is the call graph for this function:

◆ processGraphicsSceneLeftMouseButtonDoubleClicked()

bool processGraphicsSceneLeftMouseButtonDoubleClicked ( QGraphicsSceneMouseEvent &  e)
overridevirtualnoexcept

Reimplemented from PackageEditorState.

◆ processAbortCommand()

bool processAbortCommand ( )
overridevirtualnoexcept

Reimplemented from PackageEditorState.

+ Here is the call graph for this function:

◆ operator=()

◆ requestLineWidth

void requestLineWidth ( const UnsignedLength value)
signal
+ Here is the caller graph for this function:

◆ start()

bool start ( )
privatenoexcept
+ Here is the call graph for this function:

◆ abort()

bool abort ( bool  showErrMsgBox = true)
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addNextSegment()

bool addNextSegment ( )
privatenoexcept
+ Here is the call graph for this function:

◆ updateCursorPosition()

void updateCursorPosition ( Qt::KeyboardModifiers  modifiers)
privatenoexcept
+ Here is the caller graph for this function:

◆ updatePolygonPath()

void updatePolygonPath ( )
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateOverlayText()

void updateOverlayText ( )
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateStatusBarMessage()

void updateStatusBarMessage ( )
privatenoexcept
+ Here is the caller graph for this function:

◆ layerComboBoxValueChanged()

void layerComboBoxValueChanged ( const Layer layer)
privatenoexcept
+ Here is the caller graph for this function:

◆ lineWidthEditValueChanged()

void lineWidthEditValueChanged ( const UnsignedLength value)
privatenoexcept
+ Here is the caller graph for this function:

◆ angleEditValueChanged()

void angleEditValueChanged ( const Angle value)
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ fillCheckBoxCheckedChanged()

void fillCheckBoxCheckedChanged ( bool  checked)
privatenoexcept
+ Here is the caller graph for this function:

◆ grabAreaCheckBoxCheckedChanged()

void grabAreaCheckBoxCheckedChanged ( bool  checked)
privatenoexcept
+ Here is the caller graph for this function:

Member Data Documentation

◆ mMode

Mode mMode
private

◆ mIsUndoCmdActive

bool mIsUndoCmdActive
private

◆ mEditCmd

QScopedPointer<CmdPolygonEdit> mEditCmd
private

◆ mCurrentPolygon

std::shared_ptr<Polygon> mCurrentPolygon
private

◆ mCurrentGraphicsItem

std::shared_ptr<PolygonGraphicsItem> mCurrentGraphicsItem
private

◆ mLastScenePos

Point mLastScenePos
private

◆ mCursorPos

Point mCursorPos
private

◆ mArcCenter

Point mArcCenter
private

◆ mArcInSecondState

bool mArcInSecondState
private

◆ mLastLayer

const Layer* mLastLayer
private

◆ mLastLineWidth

UnsignedLength mLastLineWidth
private

◆ mLastAngle

Angle mLastAngle
private

◆ mLastFill

bool mLastFill
private

◆ mLastGrabArea

bool mLastGrabArea
private

◆ mUsedLineWidths

QHash<const Layer*, UnsignedLength> mUsedLineWidths
private

The documentation for this class was generated from the following files: