VectorProcessingDialogCapabilities.h
Go to the documentation of this file.
1 /* Copyright (C) 2008 National Institute For Space Research (INPE) - Brazil.
2 
3 This file is part of the TerraLib - a Framework for building GIS enabled applications.
4 
5 TerraLib is free software: you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as published by
7 the Free Software Foundation, either version 3 of the License,
8 or (at your option) any later version.
9 
10 TerraLib is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU Lesser General Public License for more details.
14 
15 You should have received a copy of the GNU Lesser General Public License
16 along with TerraLib. See COPYING. If not, write to
17 TerraLib 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 
41 class QWidget;
42 
43 namespace 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 QPixmap & getHintPixmap() const
Returns help page namespace.
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...
virtual SpecificParametersWidget * getParametersWidget(QWidget *parent=nullptr) const
const std::string & getCaption() const
Returns the description of the operation.
const std::string & getName() const
Returns the caption of the operation.
const std::string & getHelpPageReference() const
Returns the configuration enable property selection.
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 std::string & getHelpPageNamespace() const
Returns help page referece.
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