Plugin.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2008 National Institute For Space Research (INPE) - Brazil.
3 
4  This file is part of the TerraLib - a Framework for building GIS enabled
5  applications.
6 
7  TerraLib is free software: you can redistribute it and/or modify
8  it under the terms of the GNU Lesser General Public License as published by
9  the Free Software Foundation, either version 3 of the License,
10  or (at your option) any later version.
11 
12  TerraLib is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  GNU Lesser General Public License for more details.
16 
17  You should have received a copy of the GNU Lesser General Public License
18  along with TerraLib. See COPYING. If not, write to
19  TerraLib Team at <terralib-team@terralib.org>.
20 */
21 
22 /*!
23  \file terralib/qt/plugins/wtss/plugin.h
24 
25  \brief Add a plugin interface for dynamic loading of the Web Time Series Data
26  Service plugin.
27 
28  \author Matheus Cavassan Zaglia
29  */
30 
31 #ifndef __TERRALIB_QT_PLUGINS_WTSS_PLUGIN_H
32 #define __TERRALIB_QT_PLUGINS_WTSS_PLUGIN_H
33 
34 // TerraLib
35 #include "../../../core/plugin/CppPlugin.h"
36 
37 // QT
38 #include <QAction>
39 #include <QMenu>
40 #include <QObject>
41 #include <QToolBar>
42 
43 // STL
44 #include <vector>
45 
46 // wtss.tl
47 #include "Config.h"
48 #include "WtssDialog.h"
49 
50 namespace te
51 {
52  namespace qt
53  {
54  namespace af
55  {
56  namespace evt
57  {
58  struct Event;
59  }
60  }
61 
62  namespace plugins
63  {
64  namespace wtss
65  {
66  class Plugin : public QObject, public te::core::CppPlugin
67  {
68  Q_OBJECT
69 
70  public:
71 
72  Plugin(const te::core::PluginInfo& pluginInfo);
73 
74  ~Plugin();
75 
76  void startup();
77 
78  void shutdown();
79 
81 
82  protected:
83 
84  void registerActions();
85 
86  void unregisterActions();
87 
88  Q_SIGNALS:
89 
91 
92  protected:
93 
94  QMenu* m_menu;
95  QAction* m_wtssAction;
97  QToolBar* m_wtssToolBar;
98 
99  protected slots:
100 
101  void onActionQueryToggled();
102 
103  void onActionActivated(bool);
104 
105  void onClose();
106 
107  private:
108 
110 
111  };
112  }
113  }
114  }
115 }
116 
117 #endif //__TERRALIB_QT_PLUGINS_WTSS_PLUGIN_H
A base class for application events.
Definition: Event.h:59
void shutdown()
This method will be called by applicatons to shutdown plugin's functionality.
Basic information about a plugin.
Definition: PluginInfo.h:63
A widget to control the display of a set of layers.
Definition: MapDisplay.h:69
Plugin(const te::core::PluginInfo &pluginInfo)
void triggered(te::qt::af::evt::Event *e)
The base class for C++ plugins.
Definition: CppPlugin.h:46
URI C++ Library.
QAction * m_timeSeriesAction
Definition: Plugin.h:96
void startup()
This method will be called by applications to startup some plugin's functionality.
te::qt::widgets::MapDisplay * getMapDisplay()
Configuration dialog for Web Time Series Services plugin.
te::qt::plugins::wtss::WtssDialog * m_wtssDlg
Definition: Plugin.h:109