Seamly2D
Code documentation
DialogSplinePath Class Reference

The DialogSplinePath class dialog for ToolSplinePath. Help create spline path and edit option. More...

#include <dialogsplinepath.h>

Inheritance diagram for DialogSplinePath:
Collaboration diagram for DialogSplinePath:

Public Slots

virtual void ChosenObject (quint32 id, const SceneObject &type) Q_DECL_OVERRIDE
 ChoosedObject gets id and type of selected object. Save right data and ignore wrong. More...
 
virtual void ShowDialog (bool click) Q_DECL_OVERRIDE
 
void PathUpdated (const VSplinePath &path)
 
- 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

 DialogSplinePath (const VContainer *data, const quint32 &toolId, QWidget *parent=nullptr)
 DialogSplinePath create dialog. More...
 
virtual ~DialogSplinePath () Q_DECL_OVERRIDE
 
VSplinePath GetPath () const
 GetPath return spline path. More...
 
void SetPath (const VSplinePath &value)
 SetPath set spline path. More...
 
QString getPenStyle () const
 
void setPenStyle (const QString &value)
 
QString getLineWeight () const
 getLineWeight return weight of the lines More...
 
void setLineWeight (const QString &value)
 setLineWeight set weight of the lines More...
 
QString getLineColor () const
 
void setLineColor (const QString &value)
 
- 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)
 
virtual void SetPiecesList (const QVector< quint32 > &list)
 
quint32 GetToolId () const
 
void SetToolId (const quint32 &value)
 
QString getPointName () const
 

Protected Member Functions

virtual void ShowVisualization () Q_DECL_OVERRIDE
 
virtual void SaveData () Q_DECL_OVERRIDE
 SaveData Put dialog data in local variables. More...
 
virtual void CheckState () Q_DECL_FINAL
 CheckState enable, when all is correct, or disable, when something wrong, button ok. More...
 
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)
 
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 PointChanged (int row)
 PointChanged selected another point in list. More...
 
void currentPointChanged (int index)
 currentPointChanged changed point in combo box More...
 
void DeployAngle1TextEdit ()
 
void DeployAngle2TextEdit ()
 
void DeployLength1TextEdit ()
 
void DeployLength2TextEdit ()
 
void Angle1Changed ()
 
void Angle2Changed ()
 
void Length1Changed ()
 
void Length2Changed ()
 
void FXAngle1 ()
 
void FXAngle2 ()
 
void FXLength1 ()
 
void FXLength2 ()
 

Private Member Functions

void EvalAngle1 ()
 
void EvalAngle2 ()
 
void EvalLength1 ()
 
void EvalLength2 ()
 
void NewItem (const VSplinePoint &point)
 NewItem add point to list. More...
 
void DataPoint (const VSplinePoint &p)
 dataPoint show data of point in fields More...
 
void SavePath ()
 
QSet< quint32 > AllIds () const
 
bool IsPathValid () const
 
VSplinePath ExtractPath () const
 
void ShowPointIssue (const QString &pName)
 
void collapseFormula (QPlainTextEdit *textEdit, QPushButton *pushButton, int height)
 

Private Attributes

Ui::DialogSplinePath * ui
 ui keeps information about user interface More...
 
VSplinePath path
 path spline path More...
 
qint32 newDuplicate
 
int formulaBaseHeightAngle1
 formulaBaseHeight base height defined by dialogui More...
 
int formulaBaseHeightAngle2
 
int formulaBaseHeightLength1
 
int formulaBaseHeightLength2
 
QVector< bool > flagAngle1
 flagAngle1 true if value of first angle is correct More...
 
QVector< bool > flagAngle2
 
QVector< bool > flagLength1
 
QVector< bool > flagLength2
 

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

The DialogSplinePath class dialog for ToolSplinePath. Help create spline path and edit option.

Definition at line 75 of file dialogsplinepath.h.

Constructor & Destructor Documentation

◆ DialogSplinePath()

◆ ~DialogSplinePath()

DialogSplinePath::~DialogSplinePath ( )
virtual

Definition at line 185 of file dialogsplinepath.cpp.

References ui.

Member Function Documentation

◆ AllIds()

QSet< quint32 > DialogSplinePath::AllIds ( ) const
private

Definition at line 1018 of file dialogsplinepath.cpp.

References ui.

Referenced by ChosenObject(), and IsPathValid().

◆ Angle1Changed

void DialogSplinePath::Angle1Changed ( )
privateslot

◆ Angle2Changed

void DialogSplinePath::Angle2Changed ( )
privateslot

◆ CheckState()

void DialogSplinePath::CheckState ( )
protectedvirtual

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

Reimplemented from DialogTool.

Definition at line 323 of file dialogsplinepath.cpp.

References DialogTool::apply_Button, flagAngle1, flagAngle2, DialogTool::flagError, flagLength1, flagLength2, DialogTool::ok_Button, SCASSERT, and ui.

Referenced by currentPointChanged(), EvalLength1(), and EvalLength2().

◆ ChosenObject

void DialogSplinePath::ChosenObject ( quint32  id,
const SceneObject type 
)
virtualslot

ChoosedObject gets id and type of selected object. Save right data and ignore wrong.

Parameters
idid of point or detail
typedon't show this id in list

Definition at line 268 of file dialogsplinepath.cpp.

References AllIds(), VSplinePath::CountPoints(), DialogTool::data, VContainer::GeometricObject(), NewItem(), NULL_ID, path, VisToolSplinePath::PathChanged(), PathUpdated(), Point, qApp, SavePath(), SCASSERT, VSplinePoint::SetP(), VAbstractMainWindow::ShowToolTip(), DialogTool::ToolTip(), Visualization::ToolTip(), and DialogTool::vis.

◆ closeEvent()

void DialogSplinePath::closeEvent ( QCloseEvent *  event)
protectedvirtual

closeEvent handle when dialog cloded

Parameters
eventevent

Reimplemented from DialogTool.

Definition at line 346 of file dialogsplinepath.cpp.

References DialogTool::closeEvent(), and ui.

◆ collapseFormula()

void DialogSplinePath::collapseFormula ( QPlainTextEdit *  textEdit,
QPushButton *  pushButton,
int  height 
)
private

◆ currentPointChanged

◆ DataPoint()

◆ DeployAngle1TextEdit

void DialogSplinePath::DeployAngle1TextEdit ( )
privateslot

◆ DeployAngle2TextEdit

void DialogSplinePath::DeployAngle2TextEdit ( )
privateslot

◆ DeployLength1TextEdit

void DialogSplinePath::DeployLength1TextEdit ( )
privateslot

◆ DeployLength2TextEdit

void DialogSplinePath::DeployLength2TextEdit ( )
privateslot

◆ EvalAngle1()

void DialogSplinePath::EvalAngle1 ( )
private

◆ EvalAngle2()

void DialogSplinePath::EvalAngle2 ( )
private

◆ EvalLength1()

◆ EvalLength2()

◆ ExtractPath()

VSplinePath DialogSplinePath::ExtractPath ( ) const
private

Definition at line 1041 of file dialogsplinepath.cpp.

References ui.

Referenced by currentPointChanged(), and SavePath().

◆ FXAngle1

void DialogSplinePath::FXAngle1 ( )
privateslot

◆ FXAngle2

void DialogSplinePath::FXAngle2 ( )
privateslot

◆ FXLength1

void DialogSplinePath::FXLength1 ( )
privateslot

◆ FXLength2

void DialogSplinePath::FXLength2 ( )
privateslot

◆ getLineColor()

QString DialogSplinePath::getLineColor ( ) const

Definition at line 251 of file dialogsplinepath.cpp.

References ColorBlack, DialogTool::GetComboBoxCurrentData(), and ui.

◆ getLineWeight()

QString DialogSplinePath::getLineWeight ( ) const

getLineWeight return weight of the lines

Returns
type

Definition at line 235 of file dialogsplinepath.cpp.

References DialogTool::GetComboBoxCurrentData(), and ui.

◆ GetPath()

VSplinePath DialogSplinePath::GetPath ( ) const
inline

GetPath return spline path.

Returns
path

Definition at line 168 of file dialogsplinepath.h.

References path.

◆ getPenStyle()

QString DialogSplinePath::getPenStyle ( ) const

Definition at line 219 of file dialogsplinepath.cpp.

References DialogTool::GetComboBoxCurrentData(), LineTypeSolidLine, and ui.

◆ IsPathValid()

bool DialogSplinePath::IsPathValid ( ) const
private

Definition at line 1030 of file dialogsplinepath.cpp.

References AllIds(), VSplinePath::CountPoints(), and path.

Referenced by currentPointChanged().

◆ Length1Changed

void DialogSplinePath::Length1Changed ( )
privateslot

◆ Length2Changed

void DialogSplinePath::Length2Changed ( )
privateslot

◆ NewItem()

void DialogSplinePath::NewItem ( const VSplinePoint point)
private

NewItem add point to list.

Parameters
pointspline path point

Definition at line 852 of file dialogsplinepath.cpp.

References DataPoint(), flagAngle1, flagAngle2, flagLength1, flagLength2, VGObject::name(), DialogTool::ok_Button, VSplinePoint::P(), and ui.

Referenced by ChosenObject(), and SetPath().

◆ PathUpdated

void DialogSplinePath::PathUpdated ( const VSplinePath path)
slot

Definition at line 836 of file dialogsplinepath.cpp.

References path, and SetPath().

Referenced by ChosenObject().

◆ PointChanged

void DialogSplinePath::PointChanged ( int  row)
privateslot

PointChanged selected another point in list.

Parameters
rownumber of row

Definition at line 750 of file dialogsplinepath.cpp.

References DataPoint(), and ui.

Referenced by DialogSplinePath().

◆ SaveData()

void DialogSplinePath::SaveData ( )
protectedvirtual

SaveData Put dialog data in local variables.

Reimplemented from DialogTool.

Definition at line 309 of file dialogsplinepath.cpp.

References VAbstractCurve::GetDuplicate(), newDuplicate, path, SavePath(), SCASSERT, VAbstractCurve::SetDuplicate(), Show, and DialogTool::vis.

◆ SavePath()

void DialogSplinePath::SavePath ( )
private

Definition at line 1011 of file dialogsplinepath.cpp.

References VSplinePath::Clear(), ExtractPath(), and path.

Referenced by ChosenObject(), and SaveData().

◆ setLineColor()

void DialogSplinePath::setLineColor ( const QString &  value)

Definition at line 257 of file dialogsplinepath.cpp.

References DialogTool::ChangeCurrentData(), and ui.

◆ setLineWeight()

void DialogSplinePath::setLineWeight ( const QString &  value)

setLineWeight set weight of the lines

Parameters
valuetype

Definition at line 245 of file dialogsplinepath.cpp.

References DialogTool::ChangeCurrentData(), and ui.

◆ SetPath()

void DialogSplinePath::SetPath ( const VSplinePath value)

SetPath set spline path.

Parameters
valuepath

Definition at line 195 of file dialogsplinepath.cpp.

References VSplinePath::at(), VSplinePath::CountPoints(), flagAngle1, flagAngle2, flagLength1, flagLength2, VGObject::name(), NewItem(), path, qApp, SCASSERT, ui, and DialogTool::vis.

Referenced by PathUpdated().

◆ setPenStyle()

void DialogSplinePath::setPenStyle ( const QString &  value)

Definition at line 225 of file dialogsplinepath.cpp.

References DialogTool::ChangeCurrentData(), and ui.

◆ ShowDialog

◆ ShowPointIssue()

void DialogSplinePath::ShowPointIssue ( const QString &  pName)
private

◆ ShowVisualization()

void DialogSplinePath::ShowVisualization ( )
protectedvirtual

Reimplemented from DialogTool.

Definition at line 842 of file dialogsplinepath.cpp.

Member Data Documentation

◆ flagAngle1

QVector<bool> DialogSplinePath::flagAngle1
private

flagAngle1 true if value of first angle is correct

Definition at line 142 of file dialogsplinepath.h.

Referenced by CheckState(), EvalAngle1(), NewItem(), SetPath(), and ShowPointIssue().

◆ flagAngle2

QVector<bool> DialogSplinePath::flagAngle2
private

Definition at line 143 of file dialogsplinepath.h.

Referenced by CheckState(), EvalAngle2(), NewItem(), SetPath(), and ShowPointIssue().

◆ flagLength1

QVector<bool> DialogSplinePath::flagLength1
private

Definition at line 144 of file dialogsplinepath.h.

Referenced by CheckState(), EvalLength1(), NewItem(), SetPath(), and ShowPointIssue().

◆ flagLength2

QVector<bool> DialogSplinePath::flagLength2
private

Definition at line 145 of file dialogsplinepath.h.

Referenced by CheckState(), EvalLength2(), NewItem(), SetPath(), and ShowPointIssue().

◆ formulaBaseHeightAngle1

int DialogSplinePath::formulaBaseHeightAngle1
private

formulaBaseHeight base height defined by dialogui

Definition at line 136 of file dialogsplinepath.h.

Referenced by DeployAngle1TextEdit(), DeployAngle2TextEdit(), DeployLength1TextEdit(), DeployLength2TextEdit(), and DialogSplinePath().

◆ formulaBaseHeightAngle2

int DialogSplinePath::formulaBaseHeightAngle2
private

◆ formulaBaseHeightLength1

int DialogSplinePath::formulaBaseHeightLength1
private

◆ formulaBaseHeightLength2

int DialogSplinePath::formulaBaseHeightLength2
private

◆ newDuplicate

qint32 DialogSplinePath::newDuplicate
private

Definition at line 133 of file dialogsplinepath.h.

Referenced by currentPointChanged(), and SaveData().

◆ path

VSplinePath DialogSplinePath::path
private

◆ ui


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