27 #include "../../../dataaccess/dataset/DataSet.h"
28 #include "../../../dataaccess/dataset/DataSetType.h"
29 #include "../../../dataaccess/dataset/DataSetTypeConverter.h"
30 #include "../../../dataaccess/datasource/DataSource.h"
31 #include "../../../dataaccess/datasource/DataSourceTransactor.h"
32 #include "../../../dataaccess/datasource/DataSourceManager.h"
35 #include "ui_DataSetAdapterWidgetForm.h"
38 #include <QMessageBox>
43 m_ui(new Ui::DataSetAdapterWidgetForm),
44 m_sourceDataSetType(0),
52 m_ui->m_addToolButton->setIcon(QIcon::fromTheme(
"list-add"));
53 m_ui->m_removeToolButton->setIcon(QIcon::fromTheme(
"list-remove"));
54 m_ui->m_editToolButton->setIcon(QIcon::fromTheme(
"preferences-system"));
55 m_ui->m_upToolButton->setIcon(QIcon::fromTheme(
"go-up"));
56 m_ui->m_downToolButton->setIcon(QIcon::fromTheme(
"go-down"));
64 connect(
m_ui->m_tableWidget, SIGNAL(cellClicked(
int,
int)),
this, SLOT(
onCellClicked(
int,
int)));
75 m_ui->m_addToolButton->setEnabled(
true);
79 m_sourceDataSetType = sourceDataSetType;
81 m_dataSetConverter = converter;
88 return m_dataSetConverter;
95 w.
set(m_targetDataSource->getId());
96 w.
set(m_sourceDataSetType);
98 if(w.exec() == QDialog::Accepted)
100 w.
adapt(m_dataSetConverter);
108 if(m_ui->m_tableWidget->currentRow() == -1)
111 std::string propName = m_ui->m_tableWidget->item(m_ui->m_tableWidget->currentRow(), 1)->text().toStdString();
113 m_dataSetConverter->remove(propName);
115 m_ui->m_removeToolButton->setEnabled(
false);
134 std::string propName = m_ui->m_tableWidget->item(row, 1)->text().toStdString();
136 std::vector<std::string> nap;
138 m_dataSetConverter->getNonConvertedProperties(nap);
140 for(
size_t t = 0; t < nap.size(); ++t)
142 if(nap[t] == propName)
144 m_ui->m_removeToolButton->setEnabled(
false);
149 m_ui->m_removeToolButton->setEnabled(
true);
156 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::ARRAY_TYPE, tr(
"Array").toStdString()));
157 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::BIT_TYPE, tr(
"Bit").toStdString()));
158 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::BOOLEAN_TYPE, tr(
"Boolean").toStdString()));
159 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::BYTE_ARRAY_TYPE, tr(
"Byte Array").toStdString()));
160 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::CHAR_TYPE, tr(
"Char").toStdString()));
161 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::COMPOSITE_TYPE, tr(
"Composite").toStdString()));
162 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::DATASET_TYPE, tr(
"Data Set").toStdString()));
163 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::DATETIME_TYPE, tr(
"Date and Time").toStdString()));
164 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::DOUBLE_TYPE, tr(
"Double").toStdString()));
165 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::FLOAT_TYPE, tr(
"Float").toStdString()));
166 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::GEOMETRY_TYPE, tr(
"Geometry").toStdString()));
167 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::INT16_TYPE, tr(
"Int 16").toStdString()));
168 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::INT32_TYPE, tr(
"Int 32").toStdString()));
169 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::INT64_TYPE, tr(
"Int 64").toStdString()));
170 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::NUMERIC_TYPE, tr(
"Numeric").toStdString()));
171 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::RASTER_TYPE, tr(
"Raster").toStdString()));
172 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::STRING_TYPE, tr(
"String").toStdString()));
173 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::UCHAR_TYPE, tr(
"U Char").toStdString()));
174 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::UINT16_TYPE, tr(
"U Int 16").toStdString()));
175 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::UINT32_TYPE, tr(
"U Int 32").toStdString()));
176 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::UINT64_TYPE, tr(
"U Int 64").toStdString()));
181 assert(m_dataSetConverter);
185 m_ui->m_tableWidget->setRowCount(0);
188 for(
size_t t = 0; t < dsType->
size(); ++t)
192 int newrow = m_ui->m_tableWidget->rowCount();
193 m_ui->m_tableWidget->insertRow(newrow);
195 QTableWidgetItem* itemCheck =
new QTableWidgetItem();
196 itemCheck->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable);
197 itemCheck->setIcon(QIcon::fromTheme(
"check"));
198 m_ui->m_tableWidget->setItem(newrow, 0, itemCheck);
200 QTableWidgetItem* itemName =
new QTableWidgetItem(QString::fromStdString(propName));
201 itemName->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable);
202 m_ui->m_tableWidget->setItem(newrow, 1, itemName);
204 QTableWidgetItem* itemType =
new QTableWidgetItem(m_typeMap[dsType->
getProperty(t)->
getType()].c_str());
205 itemType->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable);
206 m_ui->m_tableWidget->setItem(newrow, 2, itemType);
210 std::vector<std::string> nonAdaptedProperties;
211 m_dataSetConverter->getNonConvertedProperties(nonAdaptedProperties);
213 for(std::size_t i = 0; i < nonAdaptedProperties.size(); ++i)
215 int newrow = m_ui->m_tableWidget->rowCount();
216 m_ui->m_tableWidget->insertRow(newrow);
218 QTableWidgetItem* itemCheck =
new QTableWidgetItem();
219 itemCheck->setFlags(Qt::ItemIsEnabled);
220 itemCheck->setIcon(QIcon::fromTheme(
"delete"));
221 m_ui->m_tableWidget->setItem(newrow, 0, itemCheck);
223 QTableWidgetItem* itemName =
new QTableWidgetItem(QString::fromStdString(nonAdaptedProperties[i]));
224 itemName->setFlags(Qt::ItemIsEnabled);
225 m_ui->m_tableWidget->setItem(newrow, 1, itemName);
Property * getProperty(std::size_t i) const
It returns the i-th property.
A class that models the description of a dataset.
An converter for DataSetType.
static DataSourceManager & getInstance()
It returns a reference to the singleton instance.
std::size_t size() const
It returns the number of properties of the CompositeProperty.
int getType() const
It returns the property data type.
A class used to define the PropertyConverterDialog class.
boost::shared_ptr< DataSourceInfo > DataSourceInfoPtr
const std::string & getName() const
It returns the property name.