src/terralib/qt/plugins/timeviewer/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/timeviewer/Plugin.h
24 
25  \brief Add a plugin interface for dynamic loading of the TimeViewer plugin.
26 
27  \author Carolina Galvão dos Santos
28  \author Matheus Cavassan Zaglia
29  \author Fabiana Zioti
30 
31  */
32 
33 #ifndef __TERRALIB_QT_PLUGINS_TIMEVIEWER_PLUGIN_H__
34 #define __TERRALIB_QT_PLUGINS_TIMEVIEWER_PLUGIN_H__
35 
36 // TerraLib
37 #include "../../../core/plugin/CppPlugin.h"
38 
39 // Timeviewer
40 #include "Config.h"
41 
42 // QT
43 #include <QAction>
44 
45 namespace te
46 {
47  namespace qt
48  {
49  namespace af
50  {
51  namespace evt
52  {
53  struct Event;
54  }
55  }
56 
57  namespace plugins
58  {
59  namespace tv
60  {
61  class TimeViewerDockWidget; // foward declaration
62 
63  class Plugin : public QObject, public te::core::CppPlugin
64  {
65  Q_OBJECT
66 
67  public:
68  Plugin(const te::core::PluginInfo &pluginInfo);
69 
70  ~Plugin();
71 
72  void startup();
73 
74  void shutdown();
75 
76  Q_SIGNALS:
77 
78  void triggered(te::qt::af::evt::Event *e);
79 
80  protected slots:
81 
82  void onTimeViewerActionTriggered();
83  void onTimeDockTriggered(te::qt::af::evt::Event *e);
84 
85  protected:
88  };
89  } // end namespace tv
90  } // end namespace plugins
91  } // end namespace qt
92 } // end namespace te
93 
94 #endif //__TERRALIB_QT_PLUGINS_TIMEVIEWER_PLUGIN_H__
#define slots
A base class for application events.
Basic information about a plugin.
Config.h file.
The base class for C++ plugins.
URI C++ Library.
Definition: Attributes.h:37
te::qt::plugins::tv::TimeViewerDockWidget * m_tvDock