GeometricOpOutputWizardPage.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 terralib/vp/qt/BasicGeometricOpWizardPage.h
22 
23  \brief This file defines a class for a Basic Geometric Operation Wizard Page.
24 */
25 
26 #ifndef __TERRALIB_VP_INTERNAL_GEOMETRICOPOUTPUTWIZARDPAGE_H
27 #define __TERRALIB_VP_INTERNAL_GEOMETRICOPOUTPUTWIZARDPAGE_H
28 
29 // TerraLib
30 #include "../../dataaccess/datasource/DataSourceInfo.h"
31 #include "../../maptools/AbstractLayer.h"
32 #include "../Config.h"
33 #include "../Enums.h"
34 
35 // STL
36 #include <memory>
37 
38 // Qt
39 #include <QWizardPage>
40 
41 // Forward declaration
42 namespace Ui { class GeometricOpOutputWizardPageForm; }
43 
44 namespace te
45 {
46  namespace vp
47  {
48  /*!
49  \class GeometricOpOutputWizardPage
50 
51  \brief This class is GUI used to define the basic geometric operator parameters for the VP operation.
52  */
53  class TEVPEXPORT GeometricOpOutputWizardPage : public QWizardPage
54  {
55  Q_OBJECT
56 
57  public:
58 
59  GeometricOpOutputWizardPage(QWidget* parent = 0);
60 
62 
63  public:
64 
65  bool hasConvexHull();
66 
67  bool hasCentroid();
68 
69  bool hasMBR();
70 
71  bool hasArea();
72 
73  bool hasLine();
74 
75  bool hasPerimeter();
76 
77  std::string getAttribute();
78 
79  void setAttributes(std::vector<std::string> attributes);
80 
81  te::vp::GeometricOpObjStrategy getObjectStrategy();
82 
83  std::string getOutDsName();
84 
85  bool hasOutputLayer();
86 
87  bool getToFile();
88 
89  te::da::DataSourceInfoPtr getDsInfoPtr();
90 
91  std::string getPath();
92 
93  public slots:
94 
95  void onAllObjectsToggled();
96 
97  void onSimpleOperationToggled();
98 
99  void onAttributeOperationToggled();
100 
101  void onAttributeComboBoxChanged(int index);
102 
103  void onTargetDatasourceToolButtonPressed();
104 
105  void onTargetFileToolButtonPressed();
106 
107  private:
108 
109  std::auto_ptr<Ui::GeometricOpOutputWizardPageForm> m_ui;
110 
111  te::da::DataSourceInfoPtr m_outputDatasource; //!< DataSource information.
112  std::string m_dsName;
113  bool m_toFile;
114  std::string m_attribute;
115  std::string m_path;
116 
117  };
118 
119  } // end namespace qt
120 } // end namespace te
121 
122 #endif // __TERRALIB_VP_INTERNAL_GEOMETRICOPOUTPUTWIZARDPAGE_H
#define TEVPEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:61
This class is GUI used to define the basic geometric operator parameters for the VP operation...
GeometricOpObjStrategy
Defines the strategy used for the processing of the input geometries.
Definition: Enums.h:115
URI C++ Library.
te::da::DataSourceInfoPtr m_outputDatasource
DataSource information.
std::auto_ptr< Ui::GeometricOpOutputWizardPageForm > m_ui
boost::shared_ptr< DataSourceInfo > DataSourceInfoPtr