ContrastDialog.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/widgets/rp/ContrastDialog.h
22 
23  \brief A dialog used to execute image contrast enhencement.
24 */
25 
26 #ifndef __TERRALIB_QT_WIDGETS_RP_INTERNAL_CONTRASTDIALOG_H
27 #define __TERRALIB_QT_WIDGETS_RP_INTERNAL_CONTRASTDIALOG_H
28 
29 // TerraLib
30 #include "../Config.h"
31 #include "../../../raster/Raster.h"
32 
33 // Qt
34 #include <QDialog>
35 
36 // STL
37 
38 #include <map>
39 #include <string>
40 
41 // Boost
42 #include <boost/shared_ptr.hpp>
44 
45 // Forward user interface declaration
46 namespace Ui
47 {
48  class ContrastForm;
49 }
50 
51 namespace te
52 {
53  namespace qt
54  {
55  namespace widgets
56  {
57  /*!
58  \class ContrastDialog
59 
60  \brief A dialog used to execute image contrast enhencement.
61  */
62  class TEQTWIDGETSEXPORT ContrastDialog : public QDialog
63  {
64  Q_OBJECT
65 
66  public:
67 
68  /*! \brief Constructs a basic dialog which is a child of parent, with widget flags set to f.
69 
70  \param inputRasterPtr Input raster pointer.
71 
72  \param outpuRasterDSType Output raster data source type (as described in te::raster::RasterFactory ).
73 
74  \param outpuRasterInfo The necessary information to create the raster (as described in te::raster::RasterFactory).
75 
76  \param parent Parent widget pointer.
77 
78  \param f Widget flags.
79  */
80  ContrastDialog(te::rst::Raster const* inputRasterPtr,
81  const std::string& outpuRasterDSType,
82  const std::map< std::string, std::string >& outpuRasterInfo,
83  QWidget* parent = 0,
84  Qt::WindowFlags f = 0);
85 
86  /*! \brief Constructs a basic dialog which is a child of parent, with widget flags set to f.
87 
88  \param rasterPtr Raster pointer (this is both input and output raster, the result be written to this raster).
89 
90  \param parent Parent widget pointer.
91 
92  \param f Widget flags.
93  */
94  ContrastDialog(te::rst::Raster const* rasterPtr,
95  QWidget* parent = 0,
96  Qt::WindowFlags f = 0);
97 
98  /*! \brief Destructor. */
99  ~ContrastDialog();
100 
101  /*! \brief Returns the output result raster.
102 
103  \param outputRasterPtr A pointer to the output result raster
104 
105  \return true if OK, false on errors.
106  */
107  bool getOutputRaster( boost::shared_ptr< te::rst::Raster >& outputRasterPtr );
108 
109  protected slots:
110 
111  void on_okPushButton_clicked();
112 
113  private:
114 
115  Ui::ContrastForm* m_uiPtr; //! User interface.
116  te::rst::Raster const* m_inputRasterPtr; //! Input raster pointer.
117  bool m_outputRasterIsInputRaster; //! true if the output raster is the input raster.
118  std::string m_outpuRasterDSType; //! Output raster data source type (as described in te::raster::RasterFactory ).
119  std::map< std::string, std::string > m_outpuRasterInfo; //! The necessary information to create the raster (as described in te::raster::RasterFactory).
120  boost::shared_ptr< te::rst::Raster > m_outputRasterPtr; //! Output raster pointer.
121  };
122 
123  } // end namespace widgets
124  } // end namespace qt
125 } // end namespace te
126 
127 #endif // __TERRALIB_QT_WIDGETS_RP_INTERNAL_CONTRASTDIALOG_H
boost::shared_ptr< te::rst::Raster > m_outputRasterPtr
The necessary information to create the raster (as described in te::raster::RasterFactory).
te::rst::Raster const * m_inputRasterPtr
User interface.
A dialog used to build a basic fill element.
std::map< std::string, std::string > m_outpuRasterInfo
Output raster data source type (as described in te::raster::RasterFactory ).
An abstract class for raster data strucutures.
Definition: Raster.h:71
URI C++ Library.
std::string m_outpuRasterDSType
true if the output raster is the input raster.
bool m_outputRasterIsInputRaster
Input raster pointer.
#define TEQTWIDGETSEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:63
A dialog used to execute image contrast enhencement.