Seamly2D
Code documentation
dialoglineintersect.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 dialoglineintersect.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 DIALOGLINEINTERSECT_H
53 #define DIALOGLINEINTERSECT_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 DialogLineIntersect;
67 }
68 
69 /**
70  * @brief The DialogLineIntersect class dialog for ToolLineIntersect. Help create point and edit option.
71  */
73 {
74  Q_OBJECT
75 public:
76  DialogLineIntersect(const VContainer *data, const quint32 &toolId, QWidget *parent = nullptr);
77  virtual ~DialogLineIntersect() Q_DECL_OVERRIDE;
78 
79  quint32 GetP1Line1() const;
80  void SetP1Line1(const quint32 &value);
81 
82  quint32 GetP2Line1() const;
83  void SetP2Line1(const quint32 &value);
84 
85  quint32 GetP1Line2() const;
86  void SetP1Line2(const quint32 &value);
87 
88  quint32 GetP2Line2() const;
89  void SetP2Line2(const quint32 &value);
90 
91  void SetPointName(const QString &value);
92 public slots:
93  virtual void ChosenObject(quint32 id, const SceneObject &type) Q_DECL_OVERRIDE;
94  void PointChanged();
95  virtual void PointNameChanged() Q_DECL_OVERRIDE;
96 protected:
97  virtual void ShowVisualization() Q_DECL_OVERRIDE;
98  /**
99  * @brief SaveData Put dialog data in local variables
100  */
101  virtual void SaveData() Q_DECL_OVERRIDE;
102 private:
103  Q_DISABLE_COPY(DialogLineIntersect)
104 
105  /** @brief ui keeps information about user interface */
107 
108  /** @brief flagPoint keep state of point */
109  bool flagPoint;
110 
111  virtual void CheckState() Q_DECL_FINAL;
112  bool CheckIntersecion();
113 };
114 
115 #endif // DIALOGLINEINTERSECT_H
The DialogLineIntersect class dialog for ToolLineIntersect. Help create point and edit option.
void SetP2Line2(const quint32 &value)
SetP2Line2 set id second point of second line.
quint32 GetP2Line1() const
GetP2Line1 return id second point of first line.
virtual void ShowVisualization() Q_DECL_OVERRIDE
quint32 GetP1Line2() const
GetP1Line2 return id first point of second line.
virtual void PointNameChanged() Q_DECL_OVERRIDE
void SetP1Line1(const quint32 &value)
SetP1Line1 set id first point of first line.
Ui::DialogLineIntersect * ui
ui keeps information about user interface
DialogLineIntersect(const VContainer *data, const quint32 &toolId, QWidget *parent=nullptr)
DialogLineIntersect create dialog.
virtual void SaveData() Q_DECL_OVERRIDE
SaveData Put dialog data in local variables.
virtual void CheckState() Q_DECL_FINAL
CheckState check state of dialog. Enable or disable button ok.
void SetP1Line2(const quint32 &value)
SetP1Line2 set id first point of second line.
quint32 GetP2Line2() const
GetP2Line2 return id second point of second line.
virtual ~DialogLineIntersect() Q_DECL_OVERRIDE
void SetPointName(const QString &value)
SetPointName set name of point.
quint32 GetP1Line1() const
GetP1Line1 return id first point of first line.
void SetP2Line1(const quint32 &value)
SetP2Line1 set id second point of first line.
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.
bool CheckIntersecion()
CheckIntersecion check intersection of points.
void PointChanged()
P1Line1Changed changed first point of first line.
bool flagPoint
flagPoint keep state of point
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