ProfileDialog.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/sa/qt/BayesGlobalDialog.h
22 
23  \brief A dialog to calculate the global empirical bayes of a dataset.
24 */
25 
26 #ifndef __TERRALIB_MNT_INTERNAL_PROFILEDIALOG_H
27 #define __TERRALIB_MNT_INTERNAL_PROFILEDIALOG_H
28 
29 // TerraLib
30 #include "../../color/RGBAColor.h"
31 #ifndef Q_MOC_RUN
32 #include "../../dataaccess/datasource/DataSourceInfo.h"
33 #include "../../maptools/AbstractLayer.h"
34 #endif
35 #include "../core/Config.h"
36 #include "../core/Enums.h"
37 
38 #include "../../qt/af/BaseApplication.h"
39 
40 #include "ProfileTools.h"
41 
42 // Qt
43 #include <QDialog>
44 
45 namespace Ui { class ProfileDialogForm; }
46 
47 // Forward declarations
48 
49 namespace te
50 {
51  namespace mnt
52  {
53 // Forward declarations
54 
55  class TEMNTEXPORT ProfileDialog : public QDialog
56  {
57  Q_OBJECT
58 
59  public:
60 
61  ProfileDialog(QWidget* parent = 0, Qt::WindowFlags f = 0);
62 
63  ~ProfileDialog();
64 
65  //Q_SIGNALS:
66  // void geometriesEdited();
67 
68  protected slots:
69 
70  void onInputComboBoxChanged(int index);
71 
72  void oneditionEnabled(bool);
73  void onselectionEnabled(bool);
74 
75  void onVectorInputComboBoxChanged(int index);
76 
77  void onselectLineToggled(bool checked);
78  void onaddPointMouseToggled(bool checked);
79  void onaddPointKeyToggled(bool checked);
80  void onchangePointToggled(bool checked);
81  void onaddPointToggled(bool checked);
82  void ondeletePointToggled(bool checked);
83  void ondeletePathToggled(bool checked);
84  void oninvertToggled(bool checked);
85 
86  void onGeometriesChanged();
87 
88  void onOkPushButtonClicked();
89 
90  void DrawSelected(const std::vector<te::gm::LineString*> visadas, const std::vector<te::color::RGBAColor>color);
91 
92  /* protected:
93  void setCurrentTool(te::edit::GeometriesUpdateTool* tool, te::qt::af::MapDisplay* display);
94 */
95  public:
96  te::map::AbstractLayerPtr getLayer();
97  void setLayers(std::list<te::map::AbstractLayerPtr> layers);
98 
99  private:
100  std::auto_ptr<Ui::ProfileDialogForm> m_ui;
101 
103 
105  std::list<te::map::AbstractLayerPtr> m_layers;
106  mntType m_inputType; //!< Input type (TIN, GRID)
107  int m_srid;
108  double m_dummy;
109  std::auto_ptr<te::da::DataSetType> m_dsType;
112 
113  //ProfileTools* m_tool;
116 
117  //QAction* m_selectLineToolAction;
118  //QAction* m_addPointMouseToolAction;
119  //QAction* m_addPointKeyToolAction;
120  //QAction* m_changePointToolAction;
121  //QAction* m_addPointToolAction;
122  //QAction* m_deletePointToolAction;
123  //QAction* m_deletePathToolAction;
124  //QAction* m_invertToolAction;
125 
126  //te::edit::GeometriesUpdateTool* m_currentTool;
127 
128  std::vector<te::gm::LineString*> m_visadas;
129 
130  };
131  } // end namespace mnt
132 } // end namespace te
133 
134 #endif // __TERRALIB_MNT_INTERNAL_PROFILEDIALOG_H
te::qt::af::BaseApplication * m_app
std::list< te::map::AbstractLayerPtr > m_layers
This file defines the profile trajectory edition tools.
#define TEMNTEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:41
te::qt::widgets::AbstractTool * m_tool
This class defines an interface for objects that can receive application events and respond to them...
Definition: AbstractTool.h:62
te::map::AbstractLayerPtr m_outputLayer
std::vector< te::gm::LineString * > m_visadas
te::map::AbstractLayerPtr m_rasterinputLayer
mntType
Definition: Enums.h:78
URI C++ Library.
te::map::AbstractLayerPtr m_vectorinputLayer
std::auto_ptr< te::da::DataSetType > m_dsType
std::auto_ptr< Ui::ProfileDialogForm > m_ui
te::map::AbstractLayerPtr m_inputLayer
mntType m_inputType
Input type (TIN, GRID)
boost::intrusive_ptr< AbstractLayer > AbstractLayerPtr