27 #include "../../../dataaccess/datasource/DataSource.h"
28 #include "../../../dataaccess/datasource/DataSourceFactory.h"
29 #include "../utils/ParameterTableWidget.h"
32 #include "ui_RasterInfoWidgetForm.h"
33 #include "ui_ParameterTableWidgetForm.h"
36 #include <QFileDialog>
40 m_ui(new Ui::RasterInfoWidgetForm),
45 QGridLayout* layout =
new QGridLayout(
m_ui->m_widget);
47 layout->addWidget(
m_table.get());
48 layout->setContentsMargins(0,0,0,0);
50 m_table->getForm()->m_parameterTitle->setText(tr(
"Extra parameters"));
69 if(m_ui->m_fileRadioButton->isChecked())
73 else if(m_ui->m_memRadioButton->isChecked())
77 else if(m_ui->m_dsRadioButton->isChecked())
87 std::map<std::string, std::string> rinfo;
89 std::string name = getBaseName();
91 if(m_ui->m_fileRadioButton->isChecked())
93 std::string fileName = m_dir +
"/" + name +
".tif";
95 rinfo[
"URI"] = fileName;
97 else if(m_ui->m_memRadioButton->isChecked())
101 else if(m_ui->m_dsRadioButton->isChecked())
106 if(m_ui->m_overightRadioButton->isChecked() ==
false)
109 std::map<std::string, std::string> extra = m_table->getMap();
111 rinfo.insert(extra.begin(), extra.end());
119 std::map<std::string, std::string> connInfoRaster;
120 connInfoRaster[
"SOURCE"] = m_dir +
"/";
123 dsPtr->setConnectionInfo( connInfoRaster );
131 std::string name = getBaseName();
133 if(m_ui->m_fileRadioButton->isChecked())
143 std::string name =
"";
145 if(m_ui->m_nameLineEdit->text().isEmpty() ==
false)
146 name = m_ui->m_nameLineEdit->text().toStdString();
163 return m_ui->m_overightRadioButton->isChecked();
168 if(m_ui->m_fileRadioButton->isChecked())
170 std::string name = getBaseName();
172 std::string fileName = m_dir +
"/" + name +
".tif";
174 QFile file(fileName.c_str());
176 return file.exists();
184 std::string name =
"";
186 if(m_ui->m_nameLineEdit->text().isEmpty() ==
false)
188 name = m_ui->m_nameLineEdit->text().toStdString();
190 QFileInfo file(name.c_str());
192 name = file.baseName().toStdString();
200 QString dir = QFileDialog::getExistingDirectory(
this, tr(
"Open Directory"),
te::qt::widgets::GetFilePathFromSettings(
"rp_raster_info"), QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);
202 if(dir.isEmpty() ==
false)
204 m_dir = dir.replace(QRegExp(
"\\\\"),
"/").toStdString();
206 m_ui->m_fileNameLineEdit->setText(m_dir.c_str());
static std::auto_ptr< DataSource > make(const std::string &dsType)