Seamly2D
Code documentation
DialogInternalPath Class Reference

#include <dialoginternalpath.h>

Inheritance diagram for DialogInternalPath:
Collaboration diagram for DialogInternalPath:

Public Slots

virtual void ChosenObject (quint32 id, const SceneObject &type) Q_DECL_OVERRIDE
 
virtual void ShowDialog (bool click) Q_DECL_OVERRIDE
 
- Public Slots inherited from DialogTool
virtual void ChosenObject (quint32 id, const SceneObject &type)
 ChosenObject gets id and type of selected object. Save right data and ignore wrong. More...
 
virtual void SelectedObject (bool selected, quint32 object, quint32 tool)
 
void NamePointChanged ()
 NamePointChanged check name of point. More...
 
virtual void DialogAccepted ()
 DialogAccepted save data and emit signal about closed dialog. More...
 
virtual void DialogApply ()
 DialogApply save data and emit signal DialogApplied. More...
 
virtual void DialogRejected ()
 DialogRejected emit signal dialog rejected. More...
 
void FormulaChanged ()
 formula check formula More...
 
void FormulaChangedPlainText ()
 FormulaChangedPlainText check formula (plain text editor editor) More...
 
void ArrowUp ()
 ArrowUp set angle value 90 degree. More...
 
void ArrowDown ()
 ArrowDown set angle value 270 degree. More...
 
void ArrowLeft ()
 ArrowLeft set angle value 180 degree. More...
 
void ArrowRight ()
 ArrowRight set angle value 0 degree. More...
 
void ArrowLeftUp ()
 ArrowLeftUp set angle value 135 degree. More...
 
void ArrowLeftDown ()
 ArrowLeftDown set angle value 225 degree. More...
 
void ArrowRightUp ()
 ArrowRightUp set angle value 45 degree. More...
 
void ArrowRightDown ()
 ArrowRightDown set angle value 315 degree. More...
 
virtual void EvalFormula ()
 EvalFormula evaluate formula. More...
 
virtual void PointNameChanged ()
 

Public Member Functions

 DialogInternalPath (const VContainer *data, quint32 toolId, QWidget *parent=nullptr)
 
virtual ~DialogInternalPath ()
 
void EnbleShowMode (bool disable)
 
VPiecePath GetPiecePath () const
 
void SetPiecePath (const VPiecePath &path)
 
quint32 GetPieceId () const
 
void SetPieceId (quint32 id)
 
QString getSeamAllowanceWidthFormula () const
 
void setSeamAllowanceWidthFormula (const QString &formula)
 
virtual void SetPiecesList (const QVector< quint32 > &list) Q_DECL_OVERRIDE
 
- Public Member Functions inherited from DialogTool
 DialogTool (const VContainer *data, const quint32 &toolId, QWidget *parent=nullptr)
 DialogTool create dialog. More...
 
virtual ~DialogTool () Q_DECL_OVERRIDE
 
VAbstractToolGetAssociatedTool ()
 
void SetAssociatedTool (VAbstractTool *tool)
 
virtual void ShowDialog (bool click)
 
virtual void Build (const Tool &type)
 
quint32 GetToolId () const
 
void SetToolId (const quint32 &value)
 
QString getPointName () const
 

Protected Member Functions

virtual void CheckState () Q_DECL_FINAL
 CheckState enable, when all is correct, or disable, when something wrong, button ok. More...
 
virtual void ShowVisualization () Q_DECL_OVERRIDE
 
virtual void closeEvent (QCloseEvent *event) Q_DECL_OVERRIDE
 closeEvent handle when dialog cloded More...
 
- Protected Member Functions inherited from DialogTool
virtual void keyPressEvent (QKeyEvent *event) Q_DECL_OVERRIDE
 
virtual void showEvent (QShowEvent *event) Q_DECL_OVERRIDE
 showEvent handle when window show More...
 
void FillComboBoxPiecesList (QComboBox *box, const QVector< quint32 > &list)
 
void FillComboBoxPoints (QComboBox *box, FillComboBox rule=FillComboBox::Whole, const quint32 &ch1=NULL_ID, const quint32 &ch2=NULL_ID) const
 FillComboBoxPoints fill comboBox list of points. More...
 
void FillComboBoxArcs (QComboBox *box, FillComboBox rule=FillComboBox::Whole, const quint32 &ch1=NULL_ID, const quint32 &ch2=NULL_ID) const
 
void FillComboBoxSplines (QComboBox *box) const
 
void FillComboBoxSplinesPath (QComboBox *box) const
 
void FillComboBoxCurves (QComboBox *box) const
 
void FillComboBoxTypeLine (QComboBox *box, const QMap< QString, QIcon > &stylesPics) const
 FillComboBoxTypeLine fill comboBox list of type lines. More...
 
void FillComboBoxLineColors (QComboBox *box) const
 
void FillComboBoxCrossCirclesPoints (QComboBox *box) const
 
void FillComboBoxVCrossCurvesPoint (QComboBox *box) const
 
void FillComboBoxHCrossCurvesPoint (QComboBox *box) const
 
QString GetComboBoxCurrentData (const QComboBox *box, const QString &def) const
 
void ChangeCurrentData (QComboBox *box, const QVariant &value) const
 ChangeCurrentData select item in combobox by id. More...
 
void ValFormulaChanged (bool &flag, QLineEdit *edit, QTimer *timer, const QString &postfix=QString())
 ValFormulaChanged handle change formula. More...
 
void ValFormulaChanged (bool &flag, QPlainTextEdit *edit, QTimer *timer, const QString &postfix=QString())
 
qreal Eval (const QString &text, bool &flag, QLabel *label, const QString &postfix, bool checkZero=true, bool checkLessThanZero=false)
 Eval evaluate formula and show result. More...
 
qreal normalize (const qreal value, const qreal start, const qreal end)
 
void setCurrentPointId (QComboBox *box, const quint32 &value, FillComboBox rule=FillComboBox::NoChildren, const quint32 &ch1=NULL_ID, const quint32 &ch2=NULL_ID) const
 
void setCurrentSplineId (QComboBox *box, const quint32 &value) const
 setCurrentSplineId set current spline id in combobox More...
 
void setCurrentArcId (QComboBox *box, const quint32 &value, FillComboBox rule=FillComboBox::NoChildren, const quint32 &ch1=NULL_ID, const quint32 &ch2=NULL_ID) const
 setCurrentArcId More...
 
void setCurrentSplinePathId (QComboBox *box, const quint32 &value) const
 setCurrentSplinePathId set current splinePath id in combobox More...
 
void setCurrentCurveId (QComboBox *box, const quint32 &value) const
 
quint32 getCurrentObjectId (QComboBox *box) const
 getCurrentPointId return current point id stored in combobox More...
 
template<typename T >
getCurrentCrossPoint (QComboBox *box) const
 
bool SetObject (const quint32 &id, QComboBox *box, const QString &toolTip)
 
void DeployFormula (QPlainTextEdit *formula, QPushButton *buttonGrowLength, int formulaBaseHeight)
 
template<typename T >
void initializeOkCancelApply (T *ui)
 initializeOkCancelApply initialize OK / Cancel and Apply buttons More...
 
template<typename T >
void initializeOkCancel (T *ui)
 initializeOkCancel initialize OK and Cancel buttons More...
 
template<typename T >
void initializeFormulaUi (T *ui)
 initializeFormulaUi initialize ui object for the formula field More...
 
template<typename T >
void AddVisualization ()
 
template<typename T >
QVector< T > GetListInternals (const QListWidget *list) const
 
void ChangeColor (QWidget *widget, const QColor &color)
 
virtual void SaveData ()
 SaveData Put dialog data in local variables. More...
 
void MoveCursorToEnd (QPlainTextEdit *plainTextEdit) const
 
virtual bool eventFilter (QObject *object, QEvent *event) Q_DECL_OVERRIDE
 
quint32 DNumber (const QString &baseName) const
 
NodeInfo getNodeInfo (const VPieceNode &node, bool showNotch=false) const
 
void newNodeItem (QListWidget *listWidget, const VPieceNode &node, bool nodeExcluded=true, bool isDuplicate=false)
 
void initializeNodeAngles (QComboBox *box)
 

Private Slots

void ShowContextMenu (const QPoint &pos)
 
void ListChanged ()
 
void NameChanged ()
 
void nodeChanged (int index)
 
void notchChanged (int index)
 
void enableDefaultBeforeButton ()
 
void enableDefaultAfterButton ()
 
void notchTypeChanged (int id)
 
void notchSubTypeChanged (int id)
 
void evaluateDefaultWidth ()
 
void evaluateBeforeWidth ()
 
void evaluateAfterWidth ()
 
void editDefaultSeamAllowanceWidth ()
 
void editBeforeSeamAllowanceWidth ()
 
void editAfterSeamAllowanceWidth ()
 
void defaultWidthChanged ()
 
void beforeWidthChanged ()
 
void afterWidthChanged ()
 
void expandWidthFormulaTextEdit ()
 
void expandWidthBeforeFormulaTextEdit ()
 
void expandWidthAfterFormulaTextEdit ()
 

Private Member Functions

void InitPathTab ()
 
void InitSeamAllowanceTab ()
 
void InitNotchesTab ()
 
void InitPathTypes ()
 
void initializeNodesList ()
 
void initializeNotchesList ()
 
void nodeAngleChanged (int index)
 
VPiecePath CreatePath () const
 
bool PathIsValid () const
 
void ValidObjects (bool value)
 
void NewItem (const VPieceNode &node)
 
PiecePathType GetType () const
 
void SetType (PiecePathType type)
 
Qt::PenStyle GetPenType () const
 
void SetPenType (const Qt::PenStyle &type)
 
bool IsCutPath () const
 
void SetCutPath (bool value)
 
QListWidgetItem * getItemById (quint32 id)
 
quint32 GetLastId () const
 
void SetCurrentSABefore (const QString &formula)
 
void setCurrentAfterSeamAllowance (const QString &formula)
 
void updateNodeBeforeSeamAllowance (const QString &formula)
 
void updateNodeAfterSeamAllowance (const QString &formula)
 
QString getSeamAllowanceWidthFormulaBefore () const
 
QString getSeamAllowanceWidthFormulaAfter () const
 
void setMoveExclusions ()
 

Private Attributes

Ui::DialogInternalPath * ui
 
bool m_showMode
 
qreal m_saWidth
 
QTimer * m_timerWidth
 
QTimer * m_timerWidthBefore
 
QTimer * m_timerWidthAfter
 
int m_widthFormula
 
int m_beforeWidthFormula
 
int m_afterWidthFormula
 

Additional Inherited Members

- Signals inherited from DialogTool
void DialogClosed (int result)
 DialogClosed signal dialog closed. More...
 
void DialogApplied ()
 DialogApplied emit signal dialog apply changes. More...
 
void ToolTip (const QString &toolTip)
 ToolTip emit tooltipe for tool. More...
 
- Static Public Member Functions inherited from DialogTool
static void moveListRowTop (QListWidget *list)
 
static void moveListRowUp (QListWidget *list)
 
static void moveListRowDown (QListWidget *list)
 
static void moveListRowBottom (QListWidget *list)
 
- Static Protected Member Functions inherited from DialogTool
static int FindNotExcludedNodeDown (QListWidget *listWidget, int candidate)
 
static int FindNotExcludedNodeUp (QListWidget *listWidget, int candidate)
 
static bool isFirstPointSameAsLast (QListWidget *listWidget)
 
static bool doublePointsExist (QListWidget *listWidget)
 
static bool isEachPointNameUnique (QListWidget *listWidget)
 
static QString DialogWarningIcon ()
 
static QFont NodeFont (bool nodeExcluded)
 
- Protected Attributes inherited from DialogTool
const VContainerdata
 data container with data More...
 
bool isInitialized
 isInitialized true if window is initialized More...
 
bool flagName
 flagName true if name is correct More...
 
bool flagFormula
 flagFormula true if formula correct More...
 
bool flagError
 flagError use this flag if for you do not enought More...
 
QTimer * timerFormula
 timerFormula timer for check formula More...
 
QPushButton * ok_Button
 ok_Button button ok More...
 
QPushButton * apply_Button
 apply_Button button apply More...
 
QDoubleSpinBox * spinBoxAngle
 spinBoxAngle spinbox for angle More...
 
QPlainTextEdit * plainTextEditFormula
 plainTextEditFormula formula More...
 
QLabel * labelResultCalculation
 labelResultCalculation label with result of calculation More...
 
QLabel * labelEditNamePoint
 labelEditNamePoint label used when need show wrong name of point More...
 
QLabel * labelEditFormula
 labelEditFormula label used when need show wrong formula More...
 
const QColor okColor
 
const QColor errorColor
 
VAbstractToolassociatedTool
 associatedTool vdrawtool associated with opened dialog. More...
 
quint32 toolId
 
bool prepare
 prepare show if we prepare. Show dialog after finish working with visual part of tool More...
 
QString pointName
 pointName name of point More...
 
qint32 number
 number number of handled objects More...
 
QPointer< Visualizationvis
 

Detailed Description

Definition at line 62 of file dialoginternalpath.h.

Constructor & Destructor Documentation

◆ DialogInternalPath()

DialogInternalPath::DialogInternalPath ( const VContainer data,
quint32  toolId,
QWidget *  parent = nullptr 
)
explicit

◆ ~DialogInternalPath()

DialogInternalPath::~DialogInternalPath ( )
virtual

Definition at line 102 of file dialoginternalpath.cpp.

References ui.

Member Function Documentation

◆ afterWidthChanged

void DialogInternalPath::afterWidthChanged ( )
privateslot

◆ beforeWidthChanged

void DialogInternalPath::beforeWidthChanged ( )
privateslot

◆ CheckState()

void DialogInternalPath::CheckState ( )
protectedvirtual

CheckState enable, when all is correct, or disable, when something wrong, button ok.

Reimplemented from DialogTool.

Definition at line 215 of file dialoginternalpath.cpp.

References DialogTool::flagError, DialogTool::flagName, DialogTool::ok_Button, and SCASSERT.

Referenced by DialogInternalPath(), NameChanged(), and ValidObjects().

◆ ChosenObject

◆ closeEvent()

void DialogInternalPath::closeEvent ( QCloseEvent *  event)
protectedvirtual

closeEvent handle when dialog cloded

Parameters
eventevent

Reimplemented from DialogTool.

Definition at line 237 of file dialoginternalpath.cpp.

References DialogTool::closeEvent(), and ui.

◆ CreatePath()

◆ defaultWidthChanged

void DialogInternalPath::defaultWidthChanged ( )
privateslot

◆ editAfterSeamAllowanceWidth

◆ editBeforeSeamAllowanceWidth

◆ editDefaultSeamAllowanceWidth

◆ enableDefaultAfterButton

void DialogInternalPath::enableDefaultAfterButton ( )
privateslot

Definition at line 514 of file dialoginternalpath.cpp.

References currentSeamAllowance, and ui.

Referenced by InitSeamAllowanceTab().

◆ enableDefaultBeforeButton

void DialogInternalPath::enableDefaultBeforeButton ( )
privateslot

Definition at line 504 of file dialoginternalpath.cpp.

References currentSeamAllowance, and ui.

Referenced by InitSeamAllowanceTab().

◆ EnbleShowMode()

void DialogInternalPath::EnbleShowMode ( bool  disable)

Definition at line 108 of file dialoginternalpath.cpp.

References m_showMode, and ui.

◆ evaluateAfterWidth

◆ evaluateBeforeWidth

◆ evaluateDefaultWidth

◆ expandWidthAfterFormulaTextEdit

void DialogInternalPath::expandWidthAfterFormulaTextEdit ( )
privateslot

Definition at line 752 of file dialoginternalpath.cpp.

References DialogTool::DeployFormula(), m_afterWidthFormula, and ui.

Referenced by InitSeamAllowanceTab(), and nodeChanged().

◆ expandWidthBeforeFormulaTextEdit

void DialogInternalPath::expandWidthBeforeFormulaTextEdit ( )
privateslot

Definition at line 746 of file dialoginternalpath.cpp.

References DialogTool::DeployFormula(), m_beforeWidthFormula, and ui.

Referenced by InitSeamAllowanceTab(), and nodeChanged().

◆ expandWidthFormulaTextEdit

void DialogInternalPath::expandWidthFormulaTextEdit ( )
privateslot

◆ getItemById()

QListWidgetItem * DialogInternalPath::getItemById ( quint32  id)
private

◆ GetLastId()

quint32 DialogInternalPath::GetLastId ( ) const
private

Definition at line 1039 of file dialoginternalpath.cpp.

References VPieceNode::GetId(), NULL_ID, and ui.

Referenced by ChosenObject().

◆ GetPenType()

Qt::PenStyle DialogInternalPath::GetPenType ( ) const
private

◆ GetPieceId()

quint32 DialogInternalPath::GetPieceId ( ) const

Definition at line 1134 of file dialoginternalpath.cpp.

References DialogTool::getCurrentObjectId(), and ui.

Referenced by ShowVisualization().

◆ GetPiecePath()

VPiecePath DialogInternalPath::GetPiecePath ( ) const

Definition at line 950 of file dialoginternalpath.cpp.

References CreatePath().

Referenced by PatternPieceDialog::pathDialogClosed().

◆ getSeamAllowanceWidthFormula()

QString DialogInternalPath::getSeamAllowanceWidthFormula ( ) const

Definition at line 1161 of file dialoginternalpath.cpp.

References qApp, and ui.

Referenced by editDefaultSeamAllowanceWidth().

◆ getSeamAllowanceWidthFormulaAfter()

QString DialogInternalPath::getSeamAllowanceWidthFormulaAfter ( ) const
private

Definition at line 1264 of file dialoginternalpath.cpp.

References qApp, and ui.

Referenced by editAfterSeamAllowanceWidth(), and evaluateAfterWidth().

◆ getSeamAllowanceWidthFormulaBefore()

QString DialogInternalPath::getSeamAllowanceWidthFormulaBefore ( ) const
private

Definition at line 1256 of file dialoginternalpath.cpp.

References qApp, and ui.

Referenced by editBeforeSeamAllowanceWidth(), and evaluateBeforeWidth().

◆ GetType()

PiecePathType DialogInternalPath::GetType ( ) const
private

Definition at line 979 of file dialoginternalpath.cpp.

References ui.

Referenced by CreatePath(), InitPathTypes(), and PathIsValid().

◆ initializeNodesList()

◆ initializeNotchesList()

void DialogInternalPath::initializeNotchesList ( )
private

◆ InitNotchesTab()

void DialogInternalPath::InitNotchesTab ( )
private

◆ InitPathTab()

void DialogInternalPath::InitPathTab ( )
private

◆ InitPathTypes()

void DialogInternalPath::InitPathTypes ( )
private

Definition at line 854 of file dialoginternalpath.cpp.

References CustomSeamAllowance, GetType(), InternalPath, and ui.

Referenced by InitPathTab().

◆ InitSeamAllowanceTab()

◆ IsCutPath()

bool DialogInternalPath::IsCutPath ( ) const
private

Definition at line 1011 of file dialoginternalpath.cpp.

References ui.

Referenced by CreatePath().

◆ ListChanged

◆ NameChanged

void DialogInternalPath::NameChanged ( )
privateslot

◆ NewItem()

void DialogInternalPath::NewItem ( const VPieceNode node)
private

Definition at line 1250 of file dialoginternalpath.cpp.

References DialogTool::newNodeItem(), and ui.

Referenced by ChosenObject(), and SetPiecePath().

◆ nodeAngleChanged()

void DialogInternalPath::nodeAngleChanged ( int  index)
private

Definition at line 931 of file dialoginternalpath.cpp.

References getItemById(), ListChanged(), VPieceNode::SetAngleType(), and ui.

Referenced by InitSeamAllowanceTab().

◆ nodeChanged

◆ notchChanged

◆ notchSubTypeChanged

void DialogInternalPath::notchSubTypeChanged ( int  id)
privateslot

◆ notchTypeChanged

void DialogInternalPath::notchTypeChanged ( int  id)
privateslot

◆ PathIsValid()

◆ setCurrentAfterSeamAllowance()

void DialogInternalPath::setCurrentAfterSeamAllowance ( const QString &  formula)
private

Definition at line 1062 of file dialoginternalpath.cpp.

References ListChanged(), and updateNodeAfterSeamAllowance().

Referenced by editAfterSeamAllowanceWidth().

◆ SetCurrentSABefore()

void DialogInternalPath::SetCurrentSABefore ( const QString &  formula)
private

◆ SetCutPath()

void DialogInternalPath::SetCutPath ( bool  value)
private

Definition at line 1017 of file dialoginternalpath.cpp.

References ui.

Referenced by SetPiecePath().

◆ setMoveExclusions()

void DialogInternalPath::setMoveExclusions ( )
private

Definition at line 1272 of file dialoginternalpath.cpp.

References ui.

Referenced by InitPathTab().

◆ SetPenType()

void DialogInternalPath::SetPenType ( const Qt::PenStyle &  type)
private

◆ SetPieceId()

void DialogInternalPath::SetPieceId ( quint32  id)

◆ SetPiecePath()

◆ SetPiecesList()

void DialogInternalPath::SetPiecesList ( const QVector< quint32 > &  list)
virtual

Reimplemented from DialogTool.

Definition at line 1169 of file dialoginternalpath.cpp.

References DialogTool::FillComboBoxPiecesList(), and ui.

◆ setSeamAllowanceWidthFormula()

void DialogInternalPath::setSeamAllowanceWidthFormula ( const QString &  formula)

◆ SetType()

void DialogInternalPath::SetType ( PiecePathType  type)
private

Definition at line 985 of file dialoginternalpath.cpp.

References InternalPath, and ui.

Referenced by SetPiecePath().

◆ ShowContextMenu

void DialogInternalPath::ShowContextMenu ( const QPoint &  pos)
privateslot

◆ ShowDialog

void DialogInternalPath::ShowDialog ( bool  click)
virtualslot

◆ ShowVisualization()

void DialogInternalPath::ShowVisualization ( )
protectedvirtual

Reimplemented from DialogTool.

Definition at line 222 of file dialoginternalpath.cpp.

References GetPieceId(), VAbstractPattern::getTool(), m_showMode, SCASSERT, and DialogTool::vis.

◆ updateNodeAfterSeamAllowance()

void DialogInternalPath::updateNodeAfterSeamAllowance ( const QString &  formula)
private

◆ updateNodeBeforeSeamAllowance()

void DialogInternalPath::updateNodeBeforeSeamAllowance ( const QString &  formula)
private

◆ ValidObjects()

void DialogInternalPath::ValidObjects ( bool  value)
private

Definition at line 1243 of file dialoginternalpath.cpp.

References CheckState(), and DialogTool::flagError.

Referenced by ChosenObject(), SetPiecePath(), and ShowContextMenu().

Member Data Documentation

◆ m_afterWidthFormula

int DialogInternalPath::m_afterWidthFormula
private

Definition at line 130 of file dialoginternalpath.h.

Referenced by expandWidthAfterFormulaTextEdit(), and InitSeamAllowanceTab().

◆ m_beforeWidthFormula

int DialogInternalPath::m_beforeWidthFormula
private

Definition at line 129 of file dialoginternalpath.h.

Referenced by expandWidthBeforeFormulaTextEdit(), and InitSeamAllowanceTab().

◆ m_saWidth

qreal DialogInternalPath::m_saWidth
private

Definition at line 122 of file dialoginternalpath.h.

Referenced by evaluateDefaultWidth(), and InitSeamAllowanceTab().

◆ m_showMode

bool DialogInternalPath::m_showMode
private

◆ m_timerWidth

QTimer* DialogInternalPath::m_timerWidth
private

Definition at line 124 of file dialoginternalpath.h.

Referenced by defaultWidthChanged(), and InitSeamAllowanceTab().

◆ m_timerWidthAfter

QTimer* DialogInternalPath::m_timerWidthAfter
private

Definition at line 126 of file dialoginternalpath.h.

Referenced by afterWidthChanged(), and InitSeamAllowanceTab().

◆ m_timerWidthBefore

QTimer* DialogInternalPath::m_timerWidthBefore
private

Definition at line 125 of file dialoginternalpath.h.

Referenced by beforeWidthChanged(), and InitSeamAllowanceTab().

◆ m_widthFormula

int DialogInternalPath::m_widthFormula
private

Definition at line 128 of file dialoginternalpath.h.

Referenced by expandWidthFormulaTextEdit(), and InitSeamAllowanceTab().

◆ ui


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