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/attributefill/Plugin.h
22 
23  \brief Plugin implementation for the SA Qt Plugin widget.
24 */
25 
26 #ifndef __TE_QT_PLUGINS_ATTRIBUTEFILL_INTERNAL_PLUGIN_H
27 #define __TE_QT_PLUGINS_ATTRIBUTEFILL_INTERNAL_PLUGIN_H
28 
29 // TerraLib
30 #include "../../../core/plugin/CppPlugin.h"
31 #include "Config.h"
32 
33 // Qt
34 #include <QAction>
35 #include <QMenu>
36 
37 namespace te
38 {
39  namespace qt
40  {
41  namespace af
42  {
43  namespace evt
44  {
45  struct Event;
46  }
47  }
48  namespace plugins
49  {
50  namespace attributefill
51  {
52  class RasterToVectorAction;
53  class VectorToRasterAction;
54  class VectorToVectorAction;
55 
56  class Plugin : public QObject, public te::core::CppPlugin
57  {
58  Q_OBJECT
59 
60  public:
61 
62  Plugin(const te::core::PluginInfo& pluginInfo);
63 
65 
66  void startup();
67 
68  void shutdown();
69 
70  protected:
71 
72  /*!
73  \brief Function used to register all attributefill actions.
74 
75  */
77 
78  /*!
79  \brief Function used to unregister all attributefill actions.
80 
81  */
83 
84  Q_SIGNALS:
85 
87 
88  protected:
89 
90  QMenu* m_attributefillMenu; //!< Attribute Fill Sub Menu registered.
91  QAction* m_popupAction; //!< Attribute Fill pop up action registered.
92 
93  RasterToVectorAction* m_rasterToVector; //!< RasterToVector Attribute Fill Action
94  VectorToRasterAction* m_vectorToRaster; //!< VectorToRaster Attribute Fill Action
95  VectorToVectorAction* m_vectorToVector; //!< VectorToVector Attribute Fill Action
96  };
97 
98  } // end namespace attributefill
99  } // end namespace plugins
100  } // end namespace qt
101 } // end namespace te
102 
103 #endif //__TE_QT_PLUGINS_ATTRIBUTEFILL_INTERNAL_PLUGIN_H
The base class for C++ plugins.
Definition: CppPlugin.h:47
void registerActions()
Function used to register all attributefill actions.
void startup()
This method will be called by applications to startup some plugin's functionality.
void unRegisterActions()
Function used to unregister all attributefill actions.
VectorToRasterAction * m_vectorToRaster
VectorToRaster Attribute Fill Action.
Definition: Plugin.h:94
Plugin(const te::core::PluginInfo &pluginInfo)
QAction * m_popupAction
Attribute Fill pop up action registered.
Definition: Plugin.h:91
void shutdown()
This method will be called by applicatons to shutdown plugin's functionality.
RasterToVectorAction * m_rasterToVector
RasterToVector Attribute Fill Action.
Definition: Plugin.h:93
void triggered(te::qt::af::evt::Event *e)
QMenu * m_attributefillMenu
Attribute Fill Sub Menu registered.
Definition: Plugin.h:90
VectorToVectorAction * m_vectorToVector
VectorToVector Attribute Fill Action.
Definition: Plugin.h:95
This class register the contrast action into Attribute Fill Plugin.
This class register the contrast action into Attribute Fill Plugin.
This class register the contrast action into Attribute Fill Plugin.
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).