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
4  applications.
5 
6  TerraLib is free software: you can redistribute it and/or modify
7  it under the terms of the GNU Lesser General Public License as published by
8  the Free Software Foundation, either version 3 of the License,
9  or (at your option) any later version.
10 
11  TerraLib is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU Lesser General Public License for more details.
15 
16  You should have received a copy of the GNU Lesser General Public License
17  along with TerraLib. See COPYING. If not, write to
18  TerraLib Team at <terralib-team@terralib.org>.
19  */
20 
21 /*!
22  \file terralib/vp/qt/BasicGeometricOpWizardPage.h
23 
24  \brief This file defines a class for a Basic Geometric Operation Wizard Page.
25 */
26 
27 #ifndef __TERRALIB_VP_INTERNAL_GEOMETRICOPOUTPUTWIZARDPAGE_H
28 #define __TERRALIB_VP_INTERNAL_GEOMETRICOPOUTPUTWIZARDPAGE_H
29 
30 // TerraLib
31 #ifndef Q_MOC_RUN
32 #include "../../dataaccess/datasource/DataSourceInfo.h"
33 #include "../../maptools/AbstractLayer.h"
34 #endif
35 #include "../Config.h"
36 #include "../Enums.h"
37 
38 // STL
39 #include <memory>
40 
41 // Qt
42 #include <QWizardPage>
43 
44 // Forward declaration
45 namespace Ui
46 {
47  class GeometricOpOutputWizardPageForm;
48 }
49 
50 namespace te
51 {
52  namespace vp
53  {
54  /*!
55  \class GeometricOpOutputWizardPage
56 
57  \brief This class is GUI used to define the basic geometric operator
58  parameters for the VP operation.
59  */
60  class TEVPEXPORT GeometricOpOutputWizardPage : public QWizardPage
61  {
62  Q_OBJECT
63 
64  public:
65  GeometricOpOutputWizardPage(QWidget* parent = 0);
66 
68 
69  public:
70  bool hasConvexHull();
71 
72  bool hasCentroid();
73 
74  bool hasMBR();
75 
76  bool hasArea();
77 
78  bool hasLine();
79 
80  bool hasPerimeter();
81 
82  std::string getAttribute();
83 
84  void setInputGeometryType(te::gm::GeomType type);
85 
86  void setAttributes(std::vector<std::string> attributes);
87 
88  te::vp::GeometricOpObjStrategy getObjectStrategy();
89 
90  std::string getOutDsName();
91 
92  bool getToFile();
93 
94  te::da::DataSourceInfoPtr getDsInfoPtr();
95 
96  std::string getPath();
97 
98  public slots:
99 
100  void onAllObjectsToggled();
101 
102  void onAllLayerOperationToggled();
103 
104  void onAttributeOperationToggled();
105 
106  void onAttributeComboBoxChanged(int index);
107 
108  void onTargetDatasourceToolButtonPressed();
109 
110  void onTargetFileToolButtonPressed();
111 
112  private:
113  std::auto_ptr<Ui::GeometricOpOutputWizardPageForm> m_ui;
114 
116  m_outputDatasource; //!< DataSource information.
117  std::string m_dsName;
118  bool m_toFile;
120  std::string m_attribute;
121  std::string m_path;
122  };
123 
124  } // end namespace qt
125 } // end namespace te
126 
127 #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
GeomType
Each enumerated type is compatible with a Well-known Binary (WKB) type code.
Definition: Enums.h:41
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