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