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/vp/Plugin.h
22 
23  \brief Plugin implementation for the VP Qt Plugin widget.
24 */
25 
26 #ifndef __TE_QT_PLUGINS_VP_INTERNAL_PLUGIN_H
27 #define __TE_QT_PLUGINS_VP_INTERNAL_PLUGIN_H
28 
29 // TerraLib
30 #include "../../../core/plugin/CppPlugin.h"
31 #include "Config.h"
32 
33 // Qt
34 #include <QMenu>
35 
36 namespace te
37 {
38  namespace qt
39  {
40  namespace af
41  {
42  namespace evt
43  {
44  struct Event;
45  }
46  }
47 
48  namespace plugins
49  {
50  namespace vp
51  {
52  class BufferAction;
53  class CheckGeomValidityAction;
54  class DifferenceAction;
55  class DissolveAction;
56  class GeometricOpAction;
57  class IdentityAction;
58  class IntersectionAction;
59  class LineToPolygonAction;
60  class MergeAction;
61  class MultipartToSinglepartAction;
62  class PolygonToLineAction;
63  class UnionAction;
64 
65  class Plugin : public QObject, public te::core::CppPlugin
66  {
67  Q_OBJECT
68 
69  public:
70 
71  Plugin(const te::core::PluginInfo& pluginInfo);
72 
73  ~Plugin();
74 
75  void startup();
76 
77  void shutdown();
78 
79  protected:
80 
81  /*!
82  \brief Function used to register all raster processing actions.
83 
84  */
85  void registerActions();
86 
87  /*!
88  \brief Function used to unregister all raster processing actions.
89 
90  */
91  void unRegisterActions();
92 
93  Q_SIGNALS:
94 
96 
97 
98  protected:
99 
100  QMenu* m_vpMenu; //!< VP Main Menu registered.
101 
102  BufferAction* m_buffer; //!< Buffer Operation Action
103  CheckGeomValidityAction* m_checkGeomValidity; //!< Check Geometry Validity Operation Action
104  DifferenceAction* m_difference; //!< Difference Operation Action
105  DissolveAction* m_dissolve; //!< Dissolve Operation Action
106  GeometricOpAction* m_geometricOp; //!< Geometric Operation Action
107  IdentityAction* m_identity; //!< Identity Operation Action
108  IntersectionAction* m_intersection; //!< Intersection Operation Action
109  LineToPolygonAction* m_lineToPolygon; //!< Line to Polygon Operation Action
110  MergeAction* m_merge; //!< Merge Operation Action
111  MultipartToSinglepartAction* m_multipart2singlepart; //!< Multipart to Singlepart Operation Action
112  PolygonToLineAction* m_polygonToLine; //!< Polygon to Line Operation Action
113  UnionAction* m_union; //!< Union Operation Action
114  };
115 
116  } // end namespace vp
117  } // end namespace plugins
118  } // end namespace qt
119 } // end namespace te
120 
121 #endif //__TE_QT_PLUGINS_VP_INTERNAL_PLUGIN_H
MergeAction * m_merge
Merge Operation Action.
Definition: Plugin.h:110
GeometricOpAction * m_geometricOp
Geometric Operation Action.
Definition: Plugin.h:106
This class register the line to polygon action into VP Plugin.
LineToPolygonAction * m_lineToPolygon
Line to Polygon Operation Action.
Definition: Plugin.h:109
QMenu * m_vpMenu
VP Main Menu registered.
Definition: Plugin.h:100
A base class for application events.
Definition: Event.h:59
This class register the dissolve action into VP Plugin.
IntersectionAction * m_intersection
Intersection Operation Action.
Definition: Plugin.h:108
PolygonToLineAction * m_polygonToLine
Polygon to Line Operation Action.
Definition: Plugin.h:112
Basic information about a plugin.
Definition: PluginInfo.h:63
This class register the contrast action into VP Plugin.
Definition: UnionAction.h:47
CheckGeomValidityAction * m_checkGeomValidity
Check Geometry Validity Operation Action.
Definition: Plugin.h:103
Configuration flags for the VP Qt Widget plugin.
MultipartToSinglepartAction * m_multipart2singlepart
Multipart to Singlepart Operation Action.
Definition: Plugin.h:111
void shutdown()
This method will be called by applicatons to shutdown plugin's functionality.
This class register the polygon to line action into VP Plugin.
The base class for C++ plugins.
Definition: CppPlugin.h:46
This class register the merge action into VP Plugin.
Definition: MergeAction.h:47
URI C++ Library.
This class register the check geometry validity action into VP Plugin.
IdentityAction * m_identity
Identity Operation Action.
Definition: Plugin.h:107
BufferAction * m_buffer
Buffer Operation Action.
Definition: Plugin.h:102
DifferenceAction * m_difference
Difference Operation Action.
Definition: Plugin.h:104
This class register the multipart to singlepart action into VP Plugin.
This class register the difference action into VP Plugin.
void registerActions()
Function used to register all raster processing actions.
void triggered(te::qt::af::evt::Event *e)
UnionAction * m_union
Union Operation Action.
Definition: Plugin.h:113
This class register the buffer action into VP Plugin.
Definition: BufferAction.h:47
This class register the intersection action into VP Plugin.
Plugin(const te::core::PluginInfo &pluginInfo)
This class register the identity action into VP Plugin.
void unRegisterActions()
Function used to unregister all raster processing actions.
DissolveAction * m_dissolve
Dissolve Operation Action.
Definition: Plugin.h:105
void startup()
This method will be called by applications to startup some plugin's functionality.