Loading...
Searching...
No Matches
VectorProcessingDialogCapabilities.h
Go to the documentation of this file.
1/* Copyright (C) 2008 National Institute For Space Research (INPE) - Brazil.
2
3This file is part of the TerraLib - a Framework for building GIS enabled applications.
4
5TerraLib is free software: you can redistribute it and/or modify
6it under the terms of the GNU Lesser General Public License as published by
7the Free Software Foundation, either version 3 of the License,
8or (at your option) any later version.
9
10TerraLib is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13GNU Lesser General Public License for more details.
14
15You should have received a copy of the GNU Lesser General Public License
16along with TerraLib. See COPYING. If not, write to
17TerraLib Team at <terralib-team@terralib.org>.
18*/
19
20/*!
21 * \file src/terralib/vp/qt/VectorProcessingOperationDialog.h
22 *
23 * \brief Implements a dialog used to execute a vector processing operation
24 */
25
26#ifndef __TERRALIB_VP_QT_INTERNAL_VECTORPROCESSINGDIALOGCAPABILITIES_H
27#define __TERRALIB_VP_QT_INTERNAL_VECTORPROCESSINGDIALOGCAPABILITIES_H
28
29#include "../Config.h"
30
31#include "../../common/AbstractFactory.h"
32
33//QT Includes
34#include <QIcon>
35#include <QPixmap>
36
37//STL includes
38#include <memory>
39#include <string>
40
41class QWidget;
42
43namespace te
44{
45 namespace vp
46 {
47 namespace qt
48 {
49 class SpecificParametersWidget;
50
51 /*!
52 \class VectorProcessingDialogCapabilities
53
54 \brief A class used to define the base capabilities of an operation, including number of inputs and outputs.
55 */
57 {
58 public:
60 const std::string& operationName
61 , const std::string& caption
62 , const std::string& description
63 , const std::string& icon
64 , const std::string& hintPixmap
65 , const std::string& helpPageNamespace
66 , const std::string& helpPageReference
67 , bool enablePropertySelection = true
68 );
69
70 //!< Destructor
72
73 //!< Returns the name of the operation
74 const std::string& getName() const;
75
76 //!< Returns the caption of the operation
77 const std::string& getCaption() const;
78
79 //!< Returns the description of the operation
80 const std::string& getDescription() const;
81
82 //!< Returns the icon of the operation
83 const QIcon& getIcon() const;
84
85 //!< Returns the hint pixmap of the operation
86 const QPixmap& getHintPixmap() const;
87
88 //!< Returns help page namespace
89 const std::string& getHelpPageNamespace() const;
90
91 //!< Returns help page referece
92 const std::string& getHelpPageReference() const;
93
94 //!< Returns the configuration enable property selection
96
97 //!< Returns the widget contiaing the specific inputs of the operation. Returns nullptr if there aren't specific parameters for the operation
98 virtual SpecificParametersWidget* getParametersWidget(QWidget* parent = nullptr) const;
99
100 protected:
101
102 std::string m_operationName; //!< The name of the operation
103 std::string m_caption; //!< The caption of the widget
104 std::string m_description; //!< The caption of the widget
105 std::string m_icon; //!< The icon of the operation
106 std::string m_hintPixmap; //!< The hint pixmap to be used in the widget
107 std::string m_helpPageNamespace; //!< The help page namespace
108 std::string m_helpPageReference; //!< The help page referece
109 QIcon m_qIcon; //!< The icon of the operation
110 QPixmap m_qHintPixmap; //!< The hint pixmap to be used in the widget
111 bool m_enablePropertySelection; //!< If TRUE, it allows the user to select the properties that will be used to create the output DataSet
112 };
113
114
115 /*!
116 \class VectorProcessingDialogCapabilitiesFactory
117
118 \brief Abstract factory used to create VectorProcessingDialogCapabilities.
119 */
120 class TEVPEXPORT VectorProcessingDialogCapabilitiesFactory : public te::common::AbstractFactory < VectorProcessingDialogCapabilities, std::string >
121 {
122 protected:
123
124 /*!
125 \brief Constructor.
126
127 \param factoryKey The key that identifies the factory.
128 */
129 VectorProcessingDialogCapabilitiesFactory(const std::string& factoryKey);
130
131 //!< Destructor
133 };
134
135 } //end namespace qt
136 }//end namespace vp
137}//end namespace te
138
139
140#endif //__TERRALIB_VP_QT_INTERNAL_VECTORPROCESSINGDIALOGCAPABILITIES_H
This class defines the interface of abstract factories without initializing parameters.
Abstract class used do define a component to set specific parameters for each operation.
Abstract factory used to create VectorProcessingDialogCapabilities.
VectorProcessingDialogCapabilitiesFactory(const std::string &factoryKey)
Constructor.
A class used to define the base capabilities of an operation, including number of inputs and outputs.
QPixmap m_qHintPixmap
The hint pixmap to be used in the widget.
const std::string & getHelpPageNamespace() const
Returns help page referece.
const std::string & getDescription() const
Returns the icon of the operation.
bool isPropertySelectionEnable() const
Returns the widget contiaing the specific inputs of the operation. Returns nullptr if there aren't sp...
const std::string & getCaption() const
Returns the description of the operation.
const std::string & getName() const
Returns the caption of the operation.
bool m_enablePropertySelection
If TRUE, it allows the user to select the properties that will be used to create the output DataSet.
VectorProcessingDialogCapabilities(const std::string &operationName, const std::string &caption, const std::string &description, const std::string &icon, const std::string &hintPixmap, const std::string &helpPageNamespace, const std::string &helpPageReference, bool enablePropertySelection=true)
Destructor.
const QIcon & getIcon() const
Returns the hint pixmap of the operation.
const QPixmap & getHintPixmap() const
Returns help page namespace.
const std::string & getHelpPageReference() const
Returns the configuration enable property selection.
virtual SpecificParametersWidget * getParametersWidget(QWidget *parent=nullptr) const
std::string m_hintPixmap
The hint pixmap to be used in the widget.
virtual ~VectorProcessingDialogCapabilities()
Returns the name of the operation.
TerraLib.
#define TEVPEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:61