Plugin.h
Go to the documentation of this file.
1 /* Copyright (C) 2011-2012 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 src/terraMobilePlugin/Plugin.h
22 
23  \brief Plugin implementation for the Terra Mobile Qt Plugin widget.
24 */
25 
26 #ifndef __TE_QT_PLUGINS_TERRAMOBILE_INTERNAL_PLUGIN_H
27 #define __TE_QT_PLUGINS_TERRAMOBILE_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 
49  namespace plugins
50  {
51  namespace terramobile
52  {
53  class CreateLayerAction;
54  class GeoPackageBuilderAction;
55  class GeoPackagePublisherAction;
56  class GeoPackageSynchronizerAction;
57 
58 
59  class Plugin : public QObject, public te::core::CppPlugin
60  {
61  Q_OBJECT
62 
63  public:
64 
65  Plugin(const te::core::PluginInfo& pluginInfo);
66 
67  ~Plugin();
68 
69  void startup();
70 
71  void shutdown();
72 
73  protected:
74 
75  /*!
76  \brief Function used to register all terra mobile actions.
77 
78  */
79  void registerActions();
80 
81  /*!
82  \brief Function used to unregister all terra mobile actions.
83 
84  */
85  void unRegisterActions();
86 
87  Q_SIGNALS:
88 
90 
91  protected:
92 
93  QMenu* m_menu; //!< thirdParty Main Menu registered.
94  QAction* m_popupAction; //!< thirdParty pop up action registered.
95 
96  te::qt::plugins::terramobile::GeoPackageBuilderAction* m_gpBuider; //!< GeoPackage Builder Operation Process Action
97  te::qt::plugins::terramobile::GeoPackagePublisherAction* m_gpPublisher; //!< GeoPackage Publisher Operation Process Action
98  te::qt::plugins::terramobile::GeoPackageSynchronizerAction* m_gpSync; //!< GeoPackage Synchronizer Operation Process Action
99 
101  };
102 
103  } // end namespace thirdParty
104  } // end namespace plugins
105  } // end namespace qt
106 } // end namespace te
107 
108 #endif //__TE_QT_PLUGINS_TERRAMOBILE_INTERNAL_PLUGIN_H
QMenu * m_menu
thirdParty Main Menu registered.
Definition: Plugin.h:93
te::qt::plugins::terramobile::CreateLayerAction * m_createLayer
Used to create a new layer.
Definition: Plugin.h:100
te::qt::plugins::terramobile::GeoPackagePublisherAction * m_gpPublisher
GeoPackage Publisher Operation Process Action.
Definition: Plugin.h:97
te::qt::plugins::terramobile::GeoPackageBuilderAction * m_gpBuider
GeoPackage Builder Operation Process Action.
Definition: Plugin.h:96
QAction * m_popupAction
thirdParty pop up action registered.
Definition: Plugin.h:94
This file defines the Create Layer Action class.
A base class for application events.
Definition: Event.h:59
void triggered(te::qt::af::evt::Event *e)
This file defines the GeoPackage Publisher Action class.
Basic information about a plugin.
Definition: PluginInfo.h:63
void unRegisterActions()
Function used to unregister all terra mobile actions.
void shutdown()
This method will be called by applicatons to shutdown plugin's functionality.
This file defines the GeoPackage Builder Action class.
This file defines the GeoPackage Synchronizer Action class.
The base class for C++ plugins.
Definition: CppPlugin.h:46
URI C++ Library.
void registerActions()
Function used to register all terra mobile actions.
void startup()
This method will be called by applications to startup some plugin's functionality.
te::qt::plugins::terramobile::GeoPackageSynchronizerAction * m_gpSync
GeoPackage Synchronizer Operation Process Action.
Definition: Plugin.h:98
Plugin(const te::core::PluginInfo &pluginInfo)