27 #include "../../common/StringUtils.h"
28 #include "../../dataaccess/dataset/DataSet.h"
29 #include "../../dataaccess/dataset/DataSetType.h"
30 #include "../../dataaccess/utils/Utils.h"
31 #include "../../maptools/AbstractLayer.h"
32 #include "../../qt/widgets/datasource/selector/DataSourceSelectorDialog.h"
33 #include "../../qt/widgets/Utils.h"
34 #include "../../qt/widgets/utils/DoubleListWidget.h"
36 #include "ui_GeometricOpOutputWizardPageForm.h"
40 #include <QFileDialog>
41 #include <QIntValidator>
42 #include <QMessageBox>
45 #include <boost/filesystem.hpp>
51 : QWizardPage(parent),
52 m_ui(new
Ui::GeometricOpOutputWizardPageForm),
59 this->setTitle(tr(
"Output Layer Attributes"));
60 this->setSubTitle(tr(
"Choose the output parameters that compose the output layer."));
63 QSize iconSize(32, 32);
65 m_ui->m_convexHullCheckBox->setIconSize(iconSize);
66 m_ui->m_convexHullCheckBox->setIcon(QIcon::fromTheme(
"vp-convex-hull-hint"));
68 m_ui->m_centroidCheckBox->setIconSize(iconSize);
69 m_ui->m_centroidCheckBox->setIcon(QIcon::fromTheme(
"vp-centroid-hint"));
71 m_ui->m_mbrCheckBox->setIconSize(iconSize);
72 m_ui->m_mbrCheckBox->setIcon(QIcon::fromTheme(
"vp-mbr-hint"));
74 m_ui->m_areaCheckBox->setIconSize(iconSize);
75 m_ui->m_areaCheckBox->setIcon(QIcon::fromTheme(
"vp-area-hint"));
77 m_ui->m_lineCheckBox->setIconSize(iconSize);
78 m_ui->m_lineCheckBox->setIcon(QIcon::fromTheme(
"vp-line-length-hint"));
80 m_ui->m_perimeterCheckBox->setIconSize(iconSize);
81 m_ui->m_perimeterCheckBox->setIcon(QIcon::fromTheme(
"vp-perimeter-hint"));
83 m_ui->m_targetDatasourceToolButton->setIcon(QIcon::fromTheme(
"datasource"));
100 return m_ui->m_convexHullCheckBox->isChecked();
105 return m_ui->m_centroidCheckBox->isChecked();
110 return m_ui->m_mbrCheckBox->isChecked();
115 return m_ui->m_areaCheckBox->isChecked();
120 return m_ui->m_lineCheckBox->isChecked();
125 return m_ui->m_perimeterCheckBox->isChecked();
135 m_ui->m_attributesComboBox->clear();
137 for(std::size_t i = 0; i < attributes.size(); ++i)
139 m_ui->m_attributesComboBox->addItem(QString::fromStdString(attributes[i]));
145 if(m_ui->m_allObjectsRadioButton->isChecked())
147 if(m_ui->m_simpleRadioButton->isChecked())
149 if(m_ui->m_byAttributesRadioButton->isChecked())
162 return m_ui->m_newLayerNameLineEdit->text().toStdString();
172 return m_outputDatasource;
177 return m_ui->m_repositoryLineEdit->text().toStdString();
182 if(m_ui->m_byAttributesRadioButton->isChecked())
183 m_attribute = m_ui->m_attributesComboBox->itemText(index).toStdString();
190 m_ui->m_outputGroupBox->setCheckable(
true);
191 m_ui->m_attributesComboBox->setEnabled(
false);
192 onAttributeComboBoxChanged(0);
197 m_ui->m_outputGroupBox->setCheckable(
false);
198 m_ui->m_attributesComboBox->setEnabled(
false);
199 onAttributeComboBoxChanged(0);
204 m_ui->m_outputGroupBox->setCheckable(
false);
205 m_ui->m_attributesComboBox->setEnabled(
true);
210 m_ui->m_newLayerNameLineEdit->clear();
211 m_ui->m_newLayerNameLineEdit->setEnabled(
true);
215 std::list<te::da::DataSourceInfoPtr> dsPtrList = dlg.
getSelecteds();
217 if(dsPtrList.empty())
220 std::list<te::da::DataSourceInfoPtr>::iterator it = dsPtrList.begin();
222 m_ui->m_repositoryLineEdit->setText(QString(it->get()->getTitle().c_str()));
224 m_outputDatasource = *it;
231 m_ui->m_newLayerNameLineEdit->clear();
232 m_ui->m_repositoryLineEdit->clear();
236 if(dir.isEmpty() ==
false)
238 m_path = dir.replace(QRegExp(
"\\\\"),
"/").toStdString();
240 m_ui->m_repositoryLineEdit->setText(m_path.c_str());
~GeometricOpOutputWizardPage()
void onAttributeOperationToggled()
void setAttributes(std::vector< std::string > attributes)
GeometricOpObjStrategy
Defines the strategy used for the processing of the input geometries.
std::string getAttribute()
void onTargetDatasourceToolButtonPressed()
void onAttributeComboBoxChanged(int index)
Aggregate objects by attribute.
void onSimpleOperationToggled()
te::da::DataSourceInfoPtr getDsInfoPtr()
void onAllObjectsToggled()
std::string getOutDsName()
void onTargetFileToolButtonPressed()
te::vp::GeometricOpObjStrategy getObjectStrategy()
std::auto_ptr< Ui::GeometricOpOutputWizardPageForm > m_ui
GeometricOpOutputWizardPage(QWidget *parent=0)
All objects individually.
boost::shared_ptr< DataSourceInfo > DataSourceInfoPtr