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