DataExchangerWizard.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/plugins/exchanger/DataExchangerWizard.h
22 
23  \brief A Qt dialog for ....
24 */
25 
26 #ifndef __TERRALIB_PLUGINS_EXCHANGER_INTERNAL_DATAEXCHANGERWIZARD_H
27 #define __TERRALIB_PLUGINS_EXCHANGER_INTERNAL_DATAEXCHANGERWIZARD_H
28 
29 // TerraLib
30 #include "../../../dataaccess/datasource/DataSourceInfo.h"
31 #include "../Config.h"
32 
33 // STL
34 #include <memory>
35 #include <set>
36 
37 // Qt
38 #include <QWizard>
39 
40 // Forward declaration
41 namespace Ui { class DataExchangerWizardForm; }
42 
43 namespace te
44 {
45  namespace qt
46  {
47  namespace widgets
48  {
49  class DataExchangeSummaryWizardPage;
50  class DataSetOptionsWizardPage;
51  class DataSetSelectorWizardPage;
52  class DataSourceSelectorWizardPage;
53 
54  /*!
55  \class DataExchangerWizard
56 
57  \brief Qt dialog for ....
58 
59  \ingroup widgets
60  */
61  class TEQTWIDGETSEXPORT DataExchangerWizard : public QWizard
62  {
63  Q_OBJECT
64 
65  public:
66 
67  DataExchangerWizard(QWidget* parent = 0, Qt::WindowFlags f = 0);
68 
70 
71  int nextId() const;
72 
73  te::da::DataSourceInfoPtr getDataSource() const;
74 
75  te::da::DataSourceInfoPtr getTargetDataSource() const;
76 
77  protected slots:
78 
79  void back();
80 
81  void next();
82 
83  protected:
84 
85  void exchange();
86 
87  private:
88 
89  enum
90  {
95  PAGE_SUMMARY
96  };
97 
98  std::auto_ptr<Ui::DataExchangerWizardForm> m_ui;
99  std::auto_ptr<DataSourceSelectorWizardPage> m_datasourceSelectorPage;
100  std::auto_ptr<DataSetSelectorWizardPage> m_datasetSelectorPage;
101  std::auto_ptr<DataSourceSelectorWizardPage> m_targetSelectorPage;
102  std::auto_ptr<DataSetOptionsWizardPage> m_datasetOptionsPage;
103  std::auto_ptr<DataExchangeSummaryWizardPage> m_summaryPage;
104  };
105 
106  } // end namespace widgets
107  } // end namespace qt
108 } // end namespace te
109 
110 #endif // __TERRALIB_PLUGINS_EXCHANGER_INTERNAL_DATAEXCHANGERWIZARD_H
std::auto_ptr< DataSourceSelectorWizardPage > m_datasourceSelectorPage
std::auto_ptr< DataSetOptionsWizardPage > m_datasetOptionsPage
std::auto_ptr< DataExchangeSummaryWizardPage > m_summaryPage
std::auto_ptr< Ui::DataExchangerWizardForm > m_ui
std::auto_ptr< DataSetSelectorWizardPage > m_datasetSelectorPage
URI C++ Library.
std::auto_ptr< DataSourceSelectorWizardPage > m_targetSelectorPage
#define TEQTWIDGETSEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:63
boost::shared_ptr< DataSourceInfo > DataSourceInfoPtr