Loading...
Searching...
No Matches
RasterInfoWidget.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/raster/RasterInfoWidget.h
22
23 \brief This file has the RasterInfoWidget class.
24*/
25
26#ifndef __TERRALIB_QT_WIDGETS_RASTER_INTERNAL_RASTERINFOWIDGET_H
27#define __TERRALIB_QT_WIDGETS_RASTER_INTERNAL_RASTERINFOWIDGET_H
28
29// TerraLib
30#include "../Config.h"
31
32// STL
33#include <memory>
34#include <string>
35#include <map>
36
37// Qt
38#include <QWidget>
39
40namespace Ui { class RasterInfoWidgetForm; }
41
42namespace te
43{
44 namespace da { class DataSource; }
45
46 namespace qt
47 {
48 namespace widgets
49 {
50 class ParameterTableWidget;
51
52 /*!
53 \class RasterInfoWidget
54
55 \brief This class is used to define a map of information necessary to create a raster.
56
57 \sa RasterFactory
58 */
59 class TEQTWIDGETSEXPORT RasterInfoWidget : public QWidget
60 {
61 Q_OBJECT
62
63 public:
64
65 /*!
66 \brief Default constructor.
67
68 \param outputMode Allows select input rasters (outputMode=false - rasters that already exists) or output raster info - outputMode=true).
69 */
70 RasterInfoWidget(const bool outputMode, QWidget* parent, Qt::WindowFlags f);
71
73
74 Ui::RasterInfoWidgetForm* getForm() const;
75
76 std::string getType() const;
77
78 std::map<std::string, std::string> getInfo() const;
79
80 std::map<std::string, std::string> getInfo(int count, std::string name="") const;
81
82 std::unique_ptr<te::da::DataSource> getDataSource() const;
83
84 /*!
85 \brief Returns the raster name.
86 \return Returns the raster name.
87 \note If the full raster file name is "/home/user/raster.tif" this methods will return "raster.tif";
88 */
89 std::string getName() const;
90
91 /*!
92 \brief Returns the raster short name.
93 \return Returns the raster short name.
94 \note If the full raster file name is "/home/user/raster.tif" this methods will return "raster";
95 */
96 std::string getShortName() const;
97
98 /*!
99 \brief Returns the raster full name.
100 \return Returns the raster full name.
101 \note If the full raster file name is "/home/user/raster.tif" this methods will return "/home/user/raster.tif";
102 */
103 std::string getFullName() const;
104
105 /*!
106 \brief Returns the raster name extension.
107 \return Returns the raster name extension.
108 \note If the full raster file name is "/home/user/raster.tif" this methods will return ".tif";
109 */
110 std::string getExtension() const;
111
112 /*!
113 \brief Returns the raster directory.
114 \return Returns the raster directory.
115 \note If the full raster file name is "/home/user/raster.tif" this methods will return "/home/user";
116 */
117 std::string getPath() const;
118
119 bool fileExists() const;
120
122
123 protected slots:
124
126
128
129 void rawRasterInfoChanged(const QString & text);
130
132
134
135
136 private:
137
138 bool m_outputMode; //!< Allows select input rasters (outputMode=false - rasters that already exists) or output raster info - outputMode=true).
139 std::unique_ptr<Ui::RasterInfoWidgetForm> m_ui;
140 std::unique_ptr<te::qt::widgets::ParameterTableWidget> m_table;
141 std::string m_originalFullFileName; //!< The selected raster file full file name.
142
144
145 };
146
147 } // end namespace widgets
148 } // end namespace qt
149} // end namespace te
150
151#endif // __TERRALIB_QT_WIDGETS_RP_INTERNAL_RASTERINFOWIDGET_H
152
This class is used to define a map of information necessary to create a raster.
std::unique_ptr< te::da::DataSource > getDataSource() const
std::string getFullName() const
Returns the raster full name.
std::map< std::string, std::string > getInfo(int count, std::string name="") const
void onExtraParametersCheckBoxChecked(bool checked)
std::string m_originalFullFileName
The selected raster file full file name.
RasterInfoWidget(const bool outputMode, QWidget *parent, Qt::WindowFlags f)
Default constructor.
bool m_outputMode
Allows select input rasters (outputMode=false - rasters that already exists) or output raster info - ...
std::string getPath() const
Returns the raster directory.
Ui::RasterInfoWidgetForm * getForm() const
std::string getName() const
Returns the raster name.
std::map< std::string, std::string > getInfo() const
std::string getExtension() const
Returns the raster name extension.
std::string getShortName() const
Returns the raster short name.
std::unique_ptr< Ui::RasterInfoWidgetForm > m_ui
void rawRasterInfoChanged(const QString &text)
std::unique_ptr< te::qt::widgets::ParameterTableWidget > m_table
void rawRasterCheckBoxStateChanged(int state)
TerraLib.
#define slots
#define TEQTWIDGETSEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:63