Seamly2D
Code documentation
dialogendline.h
Go to the documentation of this file.
1 /***************************************************************************
2  * *
3  * Copyright (C) 2017 Seamly, LLC *
4  * *
5  * https://github.com/fashionfreedom/seamly2d *
6  * *
7  ***************************************************************************
8  **
9  ** Seamly2D is free software: you can redistribute it and/or modify
10  ** it under the terms of the GNU General Public License as published by
11  ** the Free Software Foundation, either version 3 of the License, or
12  ** (at your option) any later version.
13  **
14  ** Seamly2D is distributed in the hope that it will be useful,
15  ** but WITHOUT ANY WARRANTY; without even the implied warranty of
16  ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  ** GNU General Public License for more details.
18  **
19  ** You should have received a copy of the GNU General Public License
20  ** along with Seamly2D. If not, see <http://www.gnu.org/licenses/>.
21  **
22  **************************************************************************
23 
24  ************************************************************************
25  **
26  ** @file dialogendline.h
27  ** @author Roman Telezhynskyi <dismine(at)gmail.com>
28  ** @date November 15, 2013
29  **
30  ** @brief
31  ** @copyright
32  ** This source code is part of the Valentine project, a pattern making
33  ** program, whose allow create and modeling patterns of clothing.
34  ** Copyright (C) 2013-2015 Seamly2D project
35  ** <https://github.com/fashionfreedom/seamly2d> All Rights Reserved.
36  **
37  ** Seamly2D is free software: you can redistribute it and/or modify
38  ** it under the terms of the GNU General Public License as published by
39  ** the Free Software Foundation, either version 3 of the License, or
40  ** (at your option) any later version.
41  **
42  ** Seamly2D is distributed in the hope that it will be useful,
43  ** but WITHOUT ANY WARRANTY; without even the implied warranty of
44  ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
45  ** GNU General Public License for more details.
46  **
47  ** You should have received a copy of the GNU General Public License
48  ** along with Seamly2D. If not, see <http://www.gnu.org/licenses/>.
49  **
50  *************************************************************************/
51 
52 #ifndef DIALOGENDLINE_H
53 #define DIALOGENDLINE_H
54 
55 #include <qcompilerdetection.h>
56 #include <QMetaObject>
57 #include <QObject>
58 #include <QString>
59 #include <QtGlobal>
60 
61 #include "../vmisc/def.h"
62 #include "dialogtool.h"
63 
64 namespace Ui
65 {
66  class DialogEndLine;
67 }
68 
69 /**
70  * @brief The DialogEndLine class dialog for ToolEndLine. Help create point and edit option.
71  */
72 class DialogEndLine : public DialogTool
73 {
74  Q_OBJECT
75 public:
76  DialogEndLine(const VContainer *data, const quint32 &toolId, QWidget *parent = nullptr);
77  virtual ~DialogEndLine() Q_DECL_OVERRIDE;
78 
79  void SetPointName(const QString &value);
80 
81  QString getLineColor() const;
82  void setLineColor(const QString &value);
83 
84  QString getLineType() const;
85  void setLineType(const QString &value);
86 
87  QString getLineWeight() const;
88  void setLineWeight(const QString &value);
89 
90  QString GetFormula() const;
91  void SetFormula(const QString &value);
92 
93  QString GetAngle() const;
94  void SetAngle(const QString &value);
95 
96  quint32 GetBasePointId() const;
97  void SetBasePointId(const quint32 &value);
98 
99  virtual void ShowDialog(bool click) Q_DECL_OVERRIDE;
100 
101 public slots:
102  virtual void ChosenObject(quint32 id, const SceneObject &type) Q_DECL_OVERRIDE;
103  /**
104  * @brief DeployFormulaTextEdit grow or shrink formula input
105  */
106  void DeployFormulaTextEdit();
107  /**
108  * @brief FormulaTextChanged when formula text changes for validation and calc
109  */
110  void FormulaTextChanged();
111 
112  void EvalAngle();
113  void AngleTextChanged();
114  void DeployAngleTextEdit();
115 
116  void FXAngle();
117  void FXLength();
118 protected:
119  virtual void ShowVisualization() Q_DECL_OVERRIDE;
120  /**
121  * @brief SaveData Put dialog data in local variables
122  */
123  virtual void SaveData() Q_DECL_OVERRIDE;
124  virtual void closeEvent(QCloseEvent *event) Q_DECL_OVERRIDE;
125 private:
126  Q_DISABLE_COPY(DialogEndLine)
127 
128  /** @brief ui keeps information about user interface */
130 
131  /** @brief formula formula */
132  QString formulaLength;
133 
134  /** @brief angle angle of line */
135  QString formulaAngle;
136 
137  /** @brief formulaBaseHeight base height defined by dialogui */
140 
142 };
143 
144 #endif // DIALOGENDLINE_H
The DialogEndLine class dialog for ToolEndLine. Help create point and edit option.
Definition: dialogendline.h:73
virtual void closeEvent(QCloseEvent *event) Q_DECL_OVERRIDE
closeEvent handle when dialog cloded
void FormulaTextChanged()
FormulaTextChanged when formula text changes for validation and calc.
void EvalAngle()
EvalAngle calculate value of angle.
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.
void AngleTextChanged()
void DeployFormulaTextEdit()
DeployFormulaTextEdit grow or shrink formula input.
void SetPointName(const QString &value)
SetPointName set name of point.
void SetAngle(const QString &value)
SetAngle set angle of line.
QString formulaAngle
angle angle of line
virtual ~DialogEndLine() Q_DECL_OVERRIDE
virtual void SaveData() Q_DECL_OVERRIDE
SaveData Put dialog data in local variables.
void setLineType(const QString &value)
setLineType set type of line
DialogEndLine(const VContainer *data, const quint32 &toolId, QWidget *parent=nullptr)
DialogEndLine create dialog.
void SetFormula(const QString &value)
SetFormula set string of formula.
void SetBasePointId(const quint32 &value)
SetBasePointId set id base point of line.
void DeployAngleTextEdit()
int formulaBaseHeight
formulaBaseHeight base height defined by dialogui
quint32 GetBasePointId() const
GetBasePointId return id base point of line.
void setLineColor(const QString &value)
setLineColor set color of the line
QString getLineWeight() const
getLineWeight return weight of the lines
QString getLineColor() const
getLineColor get the color of line
void setLineWeight(const QString &value)
setLineWeight set weight of the lines
virtual void ShowVisualization() Q_DECL_OVERRIDE
QString formulaLength
formula formula
QString GetFormula() const
GetFormula return string of formula.
Ui::DialogEndLine * ui
ui keeps information about user interface
int formulaBaseHeightAngle
virtual void ShowDialog(bool click) Q_DECL_OVERRIDE
DialogEndLine::ShowDialog show dialog after finish working with visual part.
QString GetAngle() const
GetAngle return formula angle of line.
QString getLineType() const
getLineType return type of line
The DialogTool class parent for all dialog of tools.
Definition: dialogtool.h:107
quint32 toolId
Definition: dialogtool.h:225
const VContainer * data
data container with data
Definition: dialogtool.h:177
The VContainer class container of all variables.
Definition: vcontainer.h:141
SceneObject
Definition: def.h:103