Seamly2D
Code documentation
vpiecelabeldata_p.h
Go to the documentation of this file.
1 /************************************************************************
2  **
3  ** @file
4  ** @author Roman Telezhynskyi <dismine(at)gmail.com>
5  ** @date 23 2, 2017
6  **
7  ** @brief
8  ** @copyright
9  ** This source code is part of the Valentine project, a pattern making
10  ** program, whose allow create and modeling patterns of clothing.
11  ** Copyright (C) 2013 - 2022 Seamly2D project
12  ** <https://github.com/fashionfreedom/seamly2d> All Rights Reserved.
13  **
14  ** Seamly2D is free software: you can redistribute it and/or modify
15  ** it under the terms of the GNU General Public License as published by
16  ** the Free Software Foundation, either version 3 of the License, or
17  ** (at your option) any later version.
18  **
19  ** Seamly2D is distributed in the hope that it will be useful,
20  ** but WITHOUT ANY WARRANTY; without even the implied warranty of
21  ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22  ** GNU General Public License for more details.
23  **
24  ** You should have received a copy of the GNU General Public License
25  ** along with Seamly2D. If not, see <http://www.gnu.org/licenses/>.
26  **
27  *************************************************************************/
28 
29 #ifndef VPIECELABELDATA_P_H
30 #define VPIECELABELDATA_P_H
31 
32 #include <QSharedData>
33 #include <QString>
34 #include <QVector>
35 
36 
37 #include "floatitemdef.h"
38 #include "../ifc/ifcdef.h"
39 #include "../vmisc/diagnostic.h"
40 
41 QT_WARNING_PUSH
42 QT_WARNING_DISABLE_GCC("-Weffc++")
43 QT_WARNING_DISABLE_GCC("-Wnon-virtual-dtor")
44 
45 class VPieceLabelDataPrivate : public QSharedData
46 {
47 public:
49  : m_qsLetter()
50  , m_annotation()
51  , m_orientation()
52  , m_rotation()
53  , m_tilt()
54  , m_foldPosition()
55  , m_quantity(1)
56  , m_onFold(false)
57  , m_lines()
58  {}
59 
61  : QSharedData(data)
62  , m_qsLetter(data.m_qsLetter)
63  , m_annotation(data.m_annotation)
64  , m_orientation(data.m_orientation)
65  , m_rotation(data.m_rotation)
66  , m_tilt(data.m_tilt)
67  , m_foldPosition(data.m_foldPosition)
68  , m_quantity(data.m_quantity)
69  , m_onFold(data.m_onFold)
70  , m_lines(data.m_lines)
71  {}
72 
73  ~VPieceLabelDataPrivate() Q_DECL_EQ_DEFAULT;
74 
75 
76  QString m_qsLetter; /** @brief m_qsLetter Piece letter (should be no more than 3 characters) */
77  QString m_annotation;
78  QString m_orientation;
79  QString m_rotation;
80  QString m_tilt;
81  QString m_foldPosition;
82 
83  int m_quantity;
84  bool m_onFold;
85 
87 
88 private:
89  VPieceLabelDataPrivate &operator=(const VPieceLabelDataPrivate &) Q_DECL_EQ_DELETE;
90 };
91 
93 
94 #endif // VPIECELABELDATA_P_H
~VPieceLabelDataPrivate() Q_DECL_EQ_DEFAULT
VPieceLabelDataPrivate(const VPieceLabelDataPrivate &data)