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/rp/Plugin.h
22 
23  \brief Plugin implementation for the RP Qt Plugin widget.
24 */
25 
26 #ifndef __TE_QT_PLUGINS_RP_INTERNAL_PLUGIN_H
27 #define __TE_QT_PLUGINS_RP_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  namespace plugins
49  {
50  namespace rp
51  {
52  class ArithmeticOpAction;
53  class BoundaryExtractionAction;
54  class ClassifierAction;
55  class ClippingAction;
56  class CloudDetectionAction;
57  class ColorTransformAction;
58  class ComposeBandsAction;
59  class ContrastAction;
60  class FilterAction;
61  class FusionAction;
62  class MajorityFilterAction;
63  class MixtureModelAction;
64  class MosaicAction;
65  class PaletteAction;
66  class PCAAction;
67  class PostClassificationAction;
68  class RasterEditAction;
69  class RasterSlicingAction;
70  class RasterizationAction;
71  class SegmenterAction;
72  class RegisterAction;
73  class VectorizationAction;
74  class RasterStatisticsAction;
75  class RasterTransformAction;
76  class RestorationAction;
77 
78  class Plugin : public QObject, public te::core::CppPlugin
79  {
80  Q_OBJECT
81 
82  public:
83 
84  Plugin(const te::core::PluginInfo& pluginInfo);
85 
87 
88  void startup();
89 
90  void shutdown();
91 
92  protected:
93 
94  /*!
95  \brief Function used to register all raster processing actions.
96 
97  */
99 
100  /*!
101  \brief Function used to unregister all raster processing actions.
102 
103  */
105 
106  Q_SIGNALS:
107 
109 
110  protected:
111 
112  QMenu* m_rpMenu; //!< RP Main Menu registered.
113  QMenu* m_rpPopupMenu; //!< RP Main Menu registered.
114  QAction* m_popupAction; //!< RP pop up action registered.
115 
116  te::qt::plugins::rp::ArithmeticOpAction* m_arithmeticOp; //!< Arithmetic Operation Process Action
117  te::qt::plugins::rp::ClassifierAction* m_classifier; //!< Classifier Process Action
118  te::qt::plugins::rp::ClippingAction* m_clipping; //!< Clipping Process Action
119  te::qt::plugins::rp::CloudDetectionAction* m_cloudDetection; //!< Cloud Detection Process Action
120  te::qt::plugins::rp::ColorTransformAction* m_colorTrans; //!< Color Transform Process Action
121  te::qt::plugins::rp::ComposeBandsAction* m_composeBands; //!< Compose Bands Process Action
122  te::qt::plugins::rp::ContrastAction* m_contrast; //!< Contrast Process Action
123  te::qt::plugins::rp::FilterAction* m_filter; //!< Filter Process Action
124  te::qt::plugins::rp::FusionAction* m_fusion; //!< Fusion Process Action
125  te::qt::plugins::rp::MajorityFilterAction* m_majorityFilter; //!< Majority Filter Process Action
126  te::qt::plugins::rp::MixtureModelAction* m_mixtureModel; //!< Mixture Model Process Action
127  te::qt::plugins::rp::MosaicAction* m_mosaic; //!< Mosaic Process Action
128  te::qt::plugins::rp::PaletteAction* m_palette; //!< Convertion to Palette Raster Action
130  te::qt::plugins::rp::PostClassificationAction* m_postClass; //!< Post Classification Process Action
132  te::qt::plugins::rp::SegmenterAction* m_segmenter; //!< Segmenter Process Action
133  te::qt::plugins::rp::RasterSlicingAction* m_rasterSlicing; //!< Raster slicing Process Action
134  te::qt::plugins::rp::RasterizationAction* m_raster; //!< Rasterization Process Action
135  te::qt::plugins::rp::RegisterAction* m_register; //!< Register Process Action
136  te::qt::plugins::rp::VectorizationAction* m_vector; //!< Vectorization Process Action
137  te::qt::plugins::rp::BoundaryExtractionAction *m_boundary; //!< Raster Boundary Extraction Process Action
138  te::qt::plugins::rp::RasterStatisticsAction *m_rasterStats; //!< Raster Statistics Process Action
139  te::qt::plugins::rp::RasterTransformAction *m_rasterTransf; //!< Raster Transform Process Action
140  te::qt::plugins::rp::RestorationAction *m_restoration; //!< Raster restoration action.
141  };
142 
143  } // end namespace rp
144  } // end namespace plugins
145  } // end namespace qt
146 } // end namespace te
147 
148 #endif //__TE_QT_PLUGINS_RP_INTERNAL_PLUGIN_H
The base class for C++ plugins.
Definition: CppPlugin.h:47
This class register the arithmeticOp action into RP Plugin.
This class register the classifier action into RP Plugin.
This class register the Clipping action into RP Plugin.
This class register the action into Cloud Detection Plugin.
This class register the colorTransform action into RP Plugin.
This class register the compose bands action into RP Plugin.
This class register the contrast action into RP Plugin.
This class register the filter action into RP Plugin.
Definition: FilterAction.h:51
This class register the fusion action into RP Plugin.
Definition: FusionAction.h:48
This class register the mixture model action into RP Plugin.
This class register the mosaic action into RP Plugin.
Definition: MosaicAction.h:48
This class register the PCA action into RP Plugin.
Definition: PCAAction.h:50
This class register the Palette action into RP Plugin.
Definition: PaletteAction.h:51
te::qt::plugins::rp::SegmenterAction * m_segmenter
Segmenter Process Action.
Definition: Plugin.h:132
te::qt::plugins::rp::FusionAction * m_fusion
Fusion Process Action.
Definition: Plugin.h:124
void unRegisterActions()
Function used to unregister all raster processing actions.
te::qt::plugins::rp::RasterSlicingAction * m_rasterSlicing
Raster slicing Process Action.
Definition: Plugin.h:133
QAction * m_popupAction
RP pop up action registered.
Definition: Plugin.h:114
te::qt::plugins::rp::ContrastAction * m_contrast
Contrast Process Action.
Definition: Plugin.h:122
te::qt::plugins::rp::PaletteAction * m_palette
Convertion to Palette Raster Action.
Definition: Plugin.h:128
te::qt::plugins::rp::MosaicAction * m_mosaic
Mosaic Process Action.
Definition: Plugin.h:127
te::qt::plugins::rp::ClippingAction * m_clipping
Clipping Process Action.
Definition: Plugin.h:118
te::qt::plugins::rp::PCAAction * m_PCA
PCA Action.
Definition: Plugin.h:129
te::qt::plugins::rp::ClassifierAction * m_classifier
Classifier Process Action.
Definition: Plugin.h:117
Plugin(const te::core::PluginInfo &pluginInfo)
te::qt::plugins::rp::BoundaryExtractionAction * m_boundary
Raster Boundary Extraction Process Action.
Definition: Plugin.h:137
void shutdown()
This method will be called by applicatons to shutdown plugin's functionality.
te::qt::plugins::rp::MixtureModelAction * m_mixtureModel
Mixture Model Process Action.
Definition: Plugin.h:126
te::qt::plugins::rp::MajorityFilterAction * m_majorityFilter
Majority Filter Process Action.
Definition: Plugin.h:125
te::qt::plugins::rp::ColorTransformAction * m_colorTrans
Color Transform Process Action.
Definition: Plugin.h:120
te::qt::plugins::rp::PostClassificationAction * m_postClass
Post Classification Process Action.
Definition: Plugin.h:130
te::qt::plugins::rp::RasterStatisticsAction * m_rasterStats
Raster Statistics Process Action.
Definition: Plugin.h:138
te::qt::plugins::rp::RasterizationAction * m_raster
Rasterization Process Action.
Definition: Plugin.h:134
void startup()
This method will be called by applications to startup some plugin's functionality.
void registerActions()
Function used to register all raster processing actions.
te::qt::plugins::rp::RasterEditAction * m_rasterEdit
Raster edit Action.
Definition: Plugin.h:131
te::qt::plugins::rp::RestorationAction * m_restoration
Raster restoration action.
Definition: Plugin.h:140
te::qt::plugins::rp::FilterAction * m_filter
Filter Process Action.
Definition: Plugin.h:123
te::qt::plugins::rp::ArithmeticOpAction * m_arithmeticOp
Arithmetic Operation Process Action.
Definition: Plugin.h:116
void triggered(te::qt::af::evt::Event *e)
te::qt::plugins::rp::CloudDetectionAction * m_cloudDetection
Cloud Detection Process Action.
Definition: Plugin.h:119
te::qt::plugins::rp::RegisterAction * m_register
Register Process Action.
Definition: Plugin.h:135
te::qt::plugins::rp::RasterTransformAction * m_rasterTransf
Raster Transform Process Action.
Definition: Plugin.h:139
QMenu * m_rpPopupMenu
RP Main Menu registered.
Definition: Plugin.h:113
te::qt::plugins::rp::ComposeBandsAction * m_composeBands
Compose Bands Process Action.
Definition: Plugin.h:121
te::qt::plugins::rp::VectorizationAction * m_vector
Vectorization Process Action.
Definition: Plugin.h:136
QMenu * m_rpMenu
RP Main Menu registered.
Definition: Plugin.h:112
This class register the Post Classification action into RP Plugin.
This class register the RasterEdit action into RP Plugin.
This class register the RasterSlicing action into RP Plugin.
This class register the register action into RP Plugin.
This class register the Segmenter action into RP 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).