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 
64  ~Plugin();
65 
66  void startup();
67 
68  void shutdown();
69 
70  protected:
71 
72  /*!
73  \brief Function used to register all attributefill actions.
74 
75  */
76  void registerActions();
77 
78  /*!
79  \brief Function used to unregister all attributefill actions.
80 
81  */
82  void unRegisterActions();
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
This class register the contrast action into Attribute Fill Plugin.
VectorToRasterAction * m_vectorToRaster
VectorToRaster Attribute Fill Action.
Definition: Plugin.h:94
A base class for application events.
Definition: Event.h:59
Configuration flags for the attributefill Qt Widget plugin.
Plugin(const te::core::PluginInfo &pluginInfo)
Basic information about a plugin.
Definition: PluginInfo.h:63
void registerActions()
Function used to register all attributefill actions.
QMenu * m_attributefillMenu
Attribute Fill Sub Menu registered.
Definition: Plugin.h:90
The base class for C++ plugins.
Definition: CppPlugin.h:46
URI C++ Library.
void unRegisterActions()
Function used to unregister all attributefill actions.
This class register the contrast action into Attribute Fill Plugin.
void shutdown()
This method will be called by applicatons to shutdown plugin's functionality.
This class register the contrast action into Attribute Fill Plugin.
void triggered(te::qt::af::evt::Event *e)
VectorToVectorAction * m_vectorToVector
VectorToVector Attribute Fill Action.
Definition: Plugin.h:95
QAction * m_popupAction
Attribute Fill pop up action registered.
Definition: Plugin.h:91
RasterToVectorAction * m_rasterToVector
RasterToVector Attribute Fill Action.
Definition: Plugin.h:93
void startup()
This method will be called by applications to startup some plugin's functionality.