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  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 processGraphicsSceneLeftMouseButtonReleased (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
 
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 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
+ Here is the call graph for this function:

◆ ~PackageEditorState_DrawPolygonBase()

~PackageEditorState_DrawPolygonBase ( )
virtualnoexcept
+ Here is the caller graph for this function:

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.

+ Here is the call graph for this function:

◆ processKeyReleased()

bool processKeyReleased ( const QKeyEvent &  e)
overridevirtualnoexcept

Reimplemented from PackageEditorState.

+ Here is the call graph for this function:

◆ 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:
+ Here is the caller graph for this function:

◆ processGraphicsSceneLeftMouseButtonDoubleClicked()

bool processGraphicsSceneLeftMouseButtonDoubleClicked ( QGraphicsSceneMouseEvent &  e)
overridevirtualnoexcept

Reimplemented from PackageEditorState.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ 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:
+ Here is the caller 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:
+ Here is the caller graph for this function:

◆ updateCursorPosition()

void updateCursorPosition ( Qt::KeyboardModifiers  modifiers)
privatenoexcept
+ Here is the call graph for this function:
+ 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: