Plugin.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/mnt/Plugin.h
22 
23  \brief Plugin implementation for the MNT Qt Plugin widget.
24 */
25 
26 #ifndef __TE_QT_PLUGINS_MNT_INTERNAL_PLUGIN_H
27 #define __TE_QT_PLUGINS_MNT_INTERNAL_PLUGIN_H
28 
29 // TerraLib
30 #include "../../../core/plugin/CppPlugin.h"
31 #include "Config.h"
32 
33 // Qt
34 #include <QMenu>
35 
36 namespace te
37 {
38  namespace qt
39  {
40  namespace af
41  {
42  namespace evt
43  {
44  struct Event;
45  }
46  }
47 
48  namespace plugins
49  {
50  namespace mnt
51  {
52  class CreateIsolinesAction;
53  class MNTGenerationAction;
54  class ImageGenerationAction;
55  class ShowValuesAction;
56  class SlopeAction;
57  class SmoothAction;
58  class TINGenerationAction;
59  class VolumeAction;
60  class ProfileAction;
61 
62  class Plugin : public QObject, public te::core::CppPlugin
63  {
64  Q_OBJECT
65 
66  public:
67 
68  Plugin(const te::core::PluginInfo& pluginInfo);
69 
71 
72  void startup();
73 
74  void shutdown();
75 
76  protected:
77 
78  /*!
79  \brief Function used to register all raster processing actions.
80 
81  */
83 
84  /*!
85  \brief Function used to unregister all raster processing actions.
86 
87  */
89 
90  Q_SIGNALS:
91 
93 
94 
95  protected:
96 
97  QMenu* m_mntMenu; //!< MNT Main Menu registered.
98 
99  CreateIsolinesAction* m_ISOGeneration; //!< Isoline Generation Action
100  MNTGenerationAction* m_MNTGeneration; //!< GRID Generation Action
101  ImageGenerationAction* m_ImageGeneration; //!< Image Generation Action
103  SlopeAction* m_Slope; //!< Slope Generation Action
104  SmoothAction* m_Smooth; //!< Smooth Isolines Action
105  TINGenerationAction* m_TINGeneration; //!< TIN Generation Action
108  };
109  } // end namespace mnt
110  } // end namespace plugins
111  } // end namespace qt
112 } // end namespace te
113 
114 #endif //__TE_QT_PLUGINS_MNT_INTERNAL_PLUGIN_H
The base class for C++ plugins.
Definition: CppPlugin.h:47
This class register the isolines generation action into MNT Plugin.
This class register the image generation action into MNT Plugin.
This class register the regular grid generation action into MNT Plugin.
SmoothAction * m_Smooth
Smooth Isolines Action.
Definition: Plugin.h:104
CreateIsolinesAction * m_ISOGeneration
Isoline Generation Action.
Definition: Plugin.h:99
void registerActions()
Function used to register all raster processing actions.
VolumeAction * m_Volume
Definition: Plugin.h:106
TINGenerationAction * m_TINGeneration
TIN Generation Action.
Definition: Plugin.h:105
void startup()
This method will be called by applications to startup some plugin's functionality.
ImageGenerationAction * m_ImageGeneration
Image Generation Action.
Definition: Plugin.h:101
MNTGenerationAction * m_MNTGeneration
GRID Generation Action.
Definition: Plugin.h:100
void shutdown()
This method will be called by applicatons to shutdown plugin's functionality.
SlopeAction * m_Slope
Slope Generation Action.
Definition: Plugin.h:103
ProfileAction * m_Profile
Definition: Plugin.h:107
ShowValuesAction * m_ShowValue
Definition: Plugin.h:102
void triggered(te::qt::af::evt::Event *e)
void unRegisterActions()
Function used to unregister all raster processing actions.
QMenu * m_mntMenu
MNT Main Menu registered.
Definition: Plugin.h:97
Plugin(const te::core::PluginInfo &pluginInfo)
This class register the isolines generation action into MNT Plugin.
Definition: ProfileAction.h:53
This class register the show values action into MNT Plugin.
This class register the slope action into MNT Plugin.
Definition: SlopeAction.h:48
This class register the smooth action into MNT Plugin.
Definition: SmoothAction.h:48
This class register the Triangular Grid generation action into MNT Plugin.
This class register the calculate volume action into MNT Plugin.
Definition: VolumeAction.h:52
TerraLib.
Basic information about a plugin.
Definition: PluginInfo.h:64
A base class for application events.
Definition: Event.h:60
Proxy configuration file for TerraView (see terraview_config.h).