27 #include "../../../dataaccess/dataset/AttributeConverterManager.h"
28 #include "../../../dataaccess/dataset/DataSetAdapter.h"
29 #include "../../../dataaccess/dataset/DataSetType.h"
30 #include "../../../dataaccess/dataset/DataSetTypeConverter.h"
31 #include "../../../dataaccess/datasource/DataSource.h"
32 #include "../../../dataaccess/datasource/DataSourceCatalog.h"
35 #include "ui_NewPropertyWidgetForm.h"
36 #include "ui_PropertyConverterDialogForm.h"
39 #include <QMessageBox>
40 #include <QGridLayout>
45 m_ui(new Ui::PropertyConverterDialogForm),
56 QGridLayout* layout =
new QGridLayout(
m_ui->m_widget);
64 std::vector<std::string> converters;
67 for(std::size_t t = 0; t < converters.size(); ++t)
69 m_ui->m_comboBox->addItem(converters[t].c_str());
72 m_ui->m_helpPushButton->setPageReference(
"widgets/property/property_converter.html");
87 for(
size_t t = 0; t < m_dsType->size(); ++t)
91 int newrow = m_ui->m_tableWidget->rowCount();
92 m_ui->m_tableWidget->insertRow(newrow);
94 QTableWidgetItem* itemCheck =
new QTableWidgetItem();
95 itemCheck->setFlags(Qt::ItemIsUserCheckable|Qt::ItemIsEnabled);
96 itemCheck->setCheckState(Qt::Unchecked);
97 m_ui->m_tableWidget->setItem(newrow, 0, itemCheck);
99 QTableWidgetItem* itemName =
new QTableWidgetItem(QString::fromStdString(propName));
100 itemName->setFlags(Qt::ItemIsEnabled);
101 m_ui->m_tableWidget->setItem(newrow, 1, itemName);
103 QTableWidgetItem* itemType =
new QTableWidgetItem(m_typeMap[m_dsType->getProperty(t)->getType()].c_str());
104 itemType->setFlags(Qt::ItemIsEnabled);
105 m_ui->m_tableWidget->setItem(newrow, 2, itemType);
108 m_ui->m_tableWidget->resizeColumnsToContents();
113 m_propWidget->setDataSourceId(dataSourceId);
119 std::vector<std::string> names;
120 std::string converterName = m_ui->m_comboBox->currentText().toStdString();
123 int row = m_ui->m_tableWidget->rowCount();
125 for(
int i = 0; i < row; ++i)
127 QTableWidgetItem* item = m_ui->m_tableWidget->item(i, 0);
129 if(item && item->checkState() == Qt::Checked)
131 names.push_back(m_ui->m_tableWidget->item(i, 1)->text().toStdString());
141 if(m_propWidget->buildProperty() ==
false)
153 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::ARRAY_TYPE, tr(
"Array").toStdString()));
154 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::BIT_TYPE, tr(
"Bit").toStdString()));
155 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::BOOLEAN_TYPE, tr(
"Boolean").toStdString()));
156 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::BYTE_ARRAY_TYPE, tr(
"Byte Array").toStdString()));
157 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::CHAR_TYPE, tr(
"Char").toStdString()));
158 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::COMPOSITE_TYPE, tr(
"Composite").toStdString()));
159 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::DATASET_TYPE, tr(
"Data Set").toStdString()));
160 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::DATETIME_TYPE, tr(
"Date and Time").toStdString()));
161 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::DOUBLE_TYPE, tr(
"Double").toStdString()));
162 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::FLOAT_TYPE, tr(
"Float").toStdString()));
163 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::GEOMETRY_TYPE, tr(
"Geometry").toStdString()));
164 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::INT16_TYPE, tr(
"Int 16").toStdString()));
165 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::INT32_TYPE, tr(
"Int 32").toStdString()));
166 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::INT64_TYPE, tr(
"Int 64").toStdString()));
167 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::NUMERIC_TYPE, tr(
"Numeric").toStdString()));
168 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::RASTER_TYPE, tr(
"Raster").toStdString()));
169 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::STRING_TYPE, tr(
"String").toStdString()));
170 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::UCHAR_TYPE, tr(
"U Char").toStdString()));
171 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::UINT16_TYPE, tr(
"U Int 16").toStdString()));
172 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::UINT32_TYPE, tr(
"U Int 32").toStdString()));
173 m_typeMap.insert(std::map<int, std::string>::value_type(
te::dt::UINT64_TYPE, tr(
"U Int 64").toStdString()));
Property * getProperty(std::size_t i) const
It returns the i-th property.
An atomic property like an integer or double.
A class that models the description of a dataset.
It models a property definition.
An converter for DataSetType.
static AttributeConverterManager & getInstance()
It returns a reference to the singleton instance.
void add(const std::string &propertyName, te::dt::Property *p, const std::string &attributeConverterName="GenericAttributeConverter")
It adds a conversions to the given property of the input data set type.
A class used to define the PropertyConverterDialog class.
const std::string & getName() const
It returns the property name.