Seamly2D
Code documentation
vinteractivetool.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
27
** @author Roman Telezhynskyi <dismine(at)gmail.com>
28
** @date 15 4, 2017
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) 2017 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 VINTERACTIVETOOL_H
53
#define VINTERACTIVETOOL_H
54
55
#include "
vabstracttool.h
"
56
#include "../dialogs/tools/dialogtool.h"
57
58
#include <QtCore/qglobal.h>
59
60
class
VInteractiveTool
:
public
VAbstractTool
61
{
62
Q_OBJECT
63
public
:
64
VInteractiveTool
(
VAbstractPattern
*
doc
,
VContainer
*
data
, quint32
id
,
65
QObject *parent =
nullptr
);
66
virtual
~VInteractiveTool
() Q_DECL_EQ_DEFAULT;
67
68
void
DialogLinkDestroy
();
69
70
public slots:
71
void
FullUpdateFromGuiOk
(
int
result);
72
void
FullUpdateFromGuiApply
();
73
74
protected:
75
/** @brief m_dialog tool's dialog options.*/
76
QSharedPointer
<
DialogTool
>
m_dialog
;
77
78
/** @brief setDialog set dialog when user want change tool option. */
79
virtual
void
setDialog
() {
/*do nothing by default*/
}
80
virtual
void
SaveDialogChange
()=0;
81
82
private
:
83
Q_DISABLE_COPY(
VInteractiveTool
)
84
};
85
86
#endif
// VINTERACTIVETOOL_H
DialogTool
The DialogTool class parent for all dialog of tools.
Definition:
dialogtool.h:107
QSharedPointer
Definition:
def.h:46
VAbstractPattern
Definition:
vabstractpattern.h:113
VAbstractTool
The VAbstractTool abstract class for all tools.
Definition:
vabstracttool.h:80
VAbstractTool::doc
VAbstractPattern * doc
doc dom document container
Definition:
vabstracttool.h:144
VContainer
The VContainer class container of all variables.
Definition:
vcontainer.h:141
VDataTool::data
VContainer data
data container with data
Definition:
vdatatool.h:84
VInteractiveTool
Definition:
vinteractivetool.h:61
VInteractiveTool::SaveDialogChange
virtual void SaveDialogChange()=0
VInteractiveTool::DialogLinkDestroy
void DialogLinkDestroy()
Definition:
vinteractivetool.cpp:62
VInteractiveTool::FullUpdateFromGuiApply
void FullUpdateFromGuiApply()
FullUpdateFromGuiApply refresh tool data after change in options but do not delete dialog.
Definition:
vinteractivetool.cpp:85
VInteractiveTool::VInteractiveTool
VInteractiveTool(VAbstractPattern *doc, VContainer *data, quint32 id, QObject *parent=nullptr)
Definition:
vinteractivetool.cpp:55
VInteractiveTool::~VInteractiveTool
virtual ~VInteractiveTool() Q_DECL_EQ_DEFAULT
VInteractiveTool::setDialog
virtual void setDialog()
setDialog set dialog when user want change tool option.
Definition:
vinteractivetool.h:79
VInteractiveTool::m_dialog
QSharedPointer< DialogTool > m_dialog
m_dialog tool's dialog options.
Definition:
vinteractivetool.h:76
VInteractiveTool::FullUpdateFromGuiOk
void FullUpdateFromGuiOk(int result)
FullUpdateFromGuiOk refresh tool data after change in options.
Definition:
vinteractivetool.cpp:72
vabstracttool.h
src
libs
vtools
tools
vinteractivetool.h
Generated by
1.9.1