Loading...
Searching...
No Matches
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
36namespace 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 class RegisterAction;
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
75
76 void startup();
77
78 void shutdown();
79
80 protected:
81
82 /*!
83 \brief Function used to register all raster processing actions.
84
85 */
87
88 /*!
89 \brief Function used to unregister all raster processing actions.
90
91 */
93
94 Q_SIGNALS:
95
97
98
99 protected:
100
101 QMenu* m_vpMenu; //!< VP Main Menu registered.
102
103 BufferAction* m_buffer; //!< Buffer Operation Action
104 AbstractAction* m_checkGeomValidity; //!< Check Geometry Validity Operation Action
105 AbstractAction* m_difference; //!< Difference Operation Action
106 DissolveAction* m_dissolveWithAggregation; //!< The older dissolve operation that contains aggregation of data
107 AbstractAction* m_dissolve; //!< Dissolve Operation Action
108 AbstractAction* m_dissolveSubdivision; //!< Dissolve Subdivision Operation Action
109 GeometricOpAction* m_geometricOp; //!< Geometric Operation Action
110 AbstractAction* m_identity; //!< Identity Operation Action
111 AbstractAction* m_intersection; //!< Intersection Operation Action
112 LineToPolygonAction* m_lineToPolygon; //!< Line to Polygon Operation Action
113 MergeAction* m_merge; //!< Merge Operation Action
114 MultipartToSinglepartAction* m_multipart2singlepart; //!< Multipart to Singlepart Operation Action
115 PolygonToLineAction* m_polygonToLine; //!< Polygon to Line Operation Action
116 AbstractAction* m_union; //!< Union Operation Action
117 AbstractAction* m_subdivide; //!< Subdivides the geometries from the given layer
118 AbstractAction* m_makeValid; //!< Fix all the geometries from the given layer
119 AbstractAction* m_register; //!< Register action
120 };
121
122 } // end namespace vp
123 } // end namespace plugins
124 } // end namespace qt
125} // end namespace te
126
127#endif //__TE_QT_PLUGINS_VP_INTERNAL_PLUGIN_H
The base class for C++ plugins.
Definition CppPlugin.h:47
This is an abstract class used to register actions into vp pluging.
This class register the buffer action into VP Plugin.
This class register the dissolve action into VP Plugin.
This class register the line to polygon action into VP Plugin.
This class register the merge action into VP Plugin.
Definition MergeAction.h:48
This class register the multipart to singlepart action into VP Plugin.
MultipartToSinglepartAction * m_multipart2singlepart
Multipart to Singlepart Operation Action.
Definition Plugin.h:114
AbstractAction * m_dissolve
Dissolve Operation Action.
Definition Plugin.h:107
AbstractAction * m_union
Union Operation Action.
Definition Plugin.h:116
LineToPolygonAction * m_lineToPolygon
Line to Polygon Operation Action.
Definition Plugin.h:112
GeometricOpAction * m_geometricOp
Geometric Operation Action.
Definition Plugin.h:109
void shutdown()
This method will be called by applicatons to shutdown plugin's functionality.
void triggered(te::qt::af::evt::Event *e)
Plugin(const te::core::PluginInfo &pluginInfo)
AbstractAction * m_makeValid
Fix all the geometries from the given layer.
Definition Plugin.h:118
void startup()
This method will be called by applications to startup some plugin's functionality.
DissolveAction * m_dissolveWithAggregation
The older dissolve operation that contains aggregation of data.
Definition Plugin.h:106
void registerActions()
Function used to register all raster processing actions.
void unRegisterActions()
Function used to unregister all raster processing actions.
AbstractAction * m_identity
Identity Operation Action.
Definition Plugin.h:110
AbstractAction * m_register
Register action.
Definition Plugin.h:119
AbstractAction * m_difference
Difference Operation Action.
Definition Plugin.h:105
QMenu * m_vpMenu
VP Main Menu registered.
Definition Plugin.h:101
BufferAction * m_buffer
Buffer Operation Action.
Definition Plugin.h:103
AbstractAction * m_checkGeomValidity
Check Geometry Validity Operation Action.
Definition Plugin.h:104
AbstractAction * m_dissolveSubdivision
Dissolve Subdivision Operation Action.
Definition Plugin.h:108
AbstractAction * m_intersection
Intersection Operation Action.
Definition Plugin.h:111
PolygonToLineAction * m_polygonToLine
Polygon to Line Operation Action.
Definition Plugin.h:115
MergeAction * m_merge
Merge Operation Action.
Definition Plugin.h:113
AbstractAction * m_subdivide
Subdivides the geometries from the given layer.
Definition Plugin.h:117
This class register the polygon to line action into VP Plugin.
TerraLib.
Basic information about a plugin.
Definition PluginInfo.h:64
A base class for application events.
Definition Event.h:60
Proxy configuration file for TerraView (see terraview_config.h).