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 ClassifierAction;
54  class ClippingAction;
55  class CloudDetectionAction;
56  class ColorTransformAction;
57  class ComposeBandsAction;
58  class ContrastAction;
59  class FilterAction;
60  class FusionAction;
61  class MixtureModelAction;
62  class MosaicAction;
63  class PCAAction;
64  class PostClassificationAction;
65  class RasterSlicingAction;
66  class RasterizationAction;
67  class SegmenterAction;
68  class RegisterAction;
69  class VectorizationAction;
70 
71  class Plugin : public QObject, public te::core::CppPlugin
72  {
73  Q_OBJECT
74 
75  public:
76 
77  Plugin(const te::core::PluginInfo& pluginInfo);
78 
79  ~Plugin();
80 
81  void startup();
82 
83  void shutdown();
84 
85  protected:
86 
87  /*!
88  \brief Function used to register all raster processing actions.
89 
90  */
91  void registerActions();
92 
93  /*!
94  \brief Function used to unregister all raster processing actions.
95 
96  */
97  void unRegisterActions();
98 
99  Q_SIGNALS:
100 
102 
103  protected:
104 
105  QMenu* m_rpMenu; //!< RP Main Menu registered.
106  QMenu* m_rpPopupMenu; //!< RP Main Menu registered.
107  QAction* m_popupAction; //!< RP pop up action registered.
108 
109  te::qt::plugins::rp::ArithmeticOpAction* m_arithmeticOp; //!< Arithmetic Operation Process Action
110  te::qt::plugins::rp::ClassifierAction* m_classifier; //!< Classifier Process Action
111  te::qt::plugins::rp::ClippingAction* m_clipping; //!< Clipping Process Action
112  te::qt::plugins::rp::CloudDetectionAction* m_cloudDetection; //!< Cloud Detection Process Action
113  te::qt::plugins::rp::ColorTransformAction* m_colorTrans; //!< Color Transform Process Action
114  te::qt::plugins::rp::ComposeBandsAction* m_composeBands; //!< Compose Bands Process Action
115  te::qt::plugins::rp::ContrastAction* m_contrast; //!< Contrast Process Action
116  te::qt::plugins::rp::FilterAction* m_filter; //!< Filter Process Action
117  te::qt::plugins::rp::FusionAction* m_fusion; //!< Fusion Process Action
118  te::qt::plugins::rp::MixtureModelAction* m_mixtureModel; //!< Mixture Model Process Action
119  te::qt::plugins::rp::MosaicAction* m_mosaic; //!< Mosaic Process Action
121  te::qt::plugins::rp::PostClassificationAction* m_postClass; //!< Post Classification Process Action
122  te::qt::plugins::rp::SegmenterAction* m_segmenter; //!< Segmenter Process Action
123  te::qt::plugins::rp::RasterSlicingAction* m_rasterSlicing; //!< Raster slicing Process Action
124  te::qt::plugins::rp::RasterizationAction* m_raster; //!< Rasterization Process Action
125  te::qt::plugins::rp::RegisterAction* m_register; //!< Register Process Action
126  te::qt::plugins::rp::VectorizationAction* m_vector; //!< Vectorization Process Action
127  };
128 
129  } // end namespace rp
130  } // end namespace plugins
131  } // end namespace qt
132 } // end namespace te
133 
134 #endif //__TE_QT_PLUGINS_RP_INTERNAL_PLUGIN_H
te::qt::plugins::rp::RasterSlicingAction * m_rasterSlicing
Raster slicing Process Action.
Definition: Plugin.h:123
This class register the arithmeticOp action into RP Plugin.
void unRegisterActions()
Function used to unregister all raster processing actions.
te::qt::plugins::rp::PostClassificationAction * m_postClass
Post Classification Process Action.
Definition: Plugin.h:121
A base class for application events.
Definition: Event.h:59
QMenu * m_rpMenu
RP Main Menu registered.
Definition: Plugin.h:105
void startup()
This method will be called by applications to startup some plugin&#39;s functionality.
This class register the Post Classification action into RP Plugin.
This class register the Segmenter action into RP Plugin.
te::qt::plugins::rp::VectorizationAction * m_vector
Vectorization Process Action.
Definition: Plugin.h:126
Configuration flags for the RP Qt Widget plugin.
This class register the register action into RP Plugin.
Basic information about a plugin.
Definition: PluginInfo.h:63
te::qt::plugins::rp::ContrastAction * m_contrast
Contrast Process Action.
Definition: Plugin.h:115
This class register the contrast action into RP Plugin.
te::qt::plugins::rp::FilterAction * m_filter
Filter Process Action.
Definition: Plugin.h:116
te::qt::plugins::rp::ClippingAction * m_clipping
Clipping Process Action.
Definition: Plugin.h:111
te::qt::plugins::rp::ColorTransformAction * m_colorTrans
Color Transform Process Action.
Definition: Plugin.h:113
QAction * m_popupAction
RP pop up action registered.
Definition: Plugin.h:107
te::qt::plugins::rp::FusionAction * m_fusion
Fusion Process Action.
Definition: Plugin.h:117
te::qt::plugins::rp::ClassifierAction * m_classifier
Classifier Process Action.
Definition: Plugin.h:110
void triggered(te::qt::af::evt::Event *e)
QMenu * m_rpPopupMenu
RP Main Menu registered.
Definition: Plugin.h:106
This class register the classifier action into RP Plugin.
te::qt::plugins::rp::RasterizationAction * m_raster
Rasterization Process Action.
Definition: Plugin.h:124
The base class for C++ plugins.
Definition: CppPlugin.h:46
te::qt::plugins::rp::RegisterAction * m_register
Register Process Action.
Definition: Plugin.h:125
URI C++ Library.
This class register the mixture model action into RP Plugin.
Plugin(const te::core::PluginInfo &pluginInfo)
This class register the compose bands action into RP Plugin.
te::qt::plugins::rp::PCAAction * m_PCA
PCA Action.
Definition: Plugin.h:120
This class register the fusion action into RP Plugin.
Definition: FusionAction.h:47
This class register the mosaic action into RP Plugin.
Definition: MosaicAction.h:47
te::qt::plugins::rp::ArithmeticOpAction * m_arithmeticOp
Arithmetic Operation Process Action.
Definition: Plugin.h:109
This class register the PCA action into RP Plugin.
Definition: PCAAction.h:49
This class register the Clipping action into RP Plugin.
This class register the RasterSlicing action into RP Plugin.
te::qt::plugins::rp::MixtureModelAction * m_mixtureModel
Mixture Model Process Action.
Definition: Plugin.h:118
This class register the filter action into RP Plugin.
Definition: FilterAction.h:50
te::qt::plugins::rp::ComposeBandsAction * m_composeBands
Compose Bands Process Action.
Definition: Plugin.h:114
This class register the colorTransform action into RP Plugin.
te::qt::plugins::rp::SegmenterAction * m_segmenter
Segmenter Process Action.
Definition: Plugin.h:122
te::qt::plugins::rp::CloudDetectionAction * m_cloudDetection
Cloud Detection Process Action.
Definition: Plugin.h:112
This class register the action into Cloud Detection Plugin.
void registerActions()
Function used to register all raster processing actions.
void shutdown()
This method will be called by applicatons to shutdown plugin&#39;s functionality.
te::qt::plugins::rp::MosaicAction * m_mosaic
Mosaic Process Action.
Definition: Plugin.h:119