CloudDetectionAction.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/qt/plugins/vp/CloudDetectionAction.h
22 
23  \brief This file defines the cloud detection class
24 */
25 
26 #ifndef __TE_QT_PLUGINS_CLOUDDETECTION_INTERNAL_CLOUDDETECTIONACTION_H
27 #define __TE_QT_PLUGINS_CLOUDDETECTION_INTERNAL_CLOUDDETECTIONACTION_H
28 
29 // TerraLib
30 #include "AbstractAction.h"
31 #include "Config.h"
32 #include "../../../maptools/AbstractLayer.h"
33 #include "../../../qt/widgets/rp/CloudDetectionDialog.h"
34 
35 //STL
36 #include <memory>
37 
38 // Qt
39 #include <QAction>
40 #include <QMenu>
41 #include <QObject>
42 
43 namespace te
44 {
45  namespace qt
46  {
47  namespace af
48  {
49  namespace evt
50  {
51  struct Event;
52  }
53  }
54  namespace plugins
55  {
56  namespace rp
57  {
58  /*!
59  \class CloudDetectionAction
60 
61  \brief This class register the action into Cloud Detection Plugin.
62 
63  */
65  {
66  Q_OBJECT
67 
68  public:
69 
70  CloudDetectionAction(QMenu* menu, QMenu* popupMenu);
71 
72  virtual ~CloudDetectionAction();
73 
74  protected slots:
75 
76  virtual void onActionActivated(bool checked);
77 
78  void addLayer(te::map::AbstractLayerPtr outputLayer);
79 
80  void closeTool();
81 
82  protected:
83 
84  /*!
85  \brief Add a new layer into layer explorer widget
86 
87  \param layer The layer auto pointer
88 
89  */
90  void addNewLayer(te::map::AbstractLayerPtr layer);
91 
92  /*!
93  \brief Get the list of layers from app
94 
95  \return The list pf layer auto pointers
96 
97  */
98  std::list<te::map::AbstractLayerPtr> getLayers();
99 
100  protected:
101 
102  std::unique_ptr<te::qt::widgets::CloudDetectionDialog> m_dlg;
103  };
104 
105  } // end namespace clouddetection
106  } // end namespace plugins
107  } // end namespace qt
108 } // end namespace te
109 
110 #endif //__TE_QT_PLUGINS_RP_INTERNAL_CLOUDDETECTIONACTION_H
#define slots
This is an abstract class used to register actions into rp pluging.
This file defines the abstract class AbstractAction.
Configuration flags for the RP Qt Widget plugin.
std::unique_ptr< te::qt::widgets::CloudDetectionDialog > m_dlg
URI C++ Library.
boost::intrusive_ptr< AbstractLayer > AbstractLayerPtr
This class register the action into Cloud Detection Plugin.