22 #include "../../../dataaccess/dataset/DataSet.h" 
   23 #include "../../../dataaccess/utils/Utils.h" 
   24 #include "../../widgets/datasource/selector/DataSourceSelectorDialog.h" 
   26 #include "ui_VectorizationWizardPageForm.h" 
   30 #include <QFileDialog> 
   31 #include <QIntValidator> 
   34 #include <boost/algorithm/string.hpp> 
   35 #include <boost/filesystem.hpp> 
   36 #include <boost/lexical_cast.hpp> 
   41   m_ui.reset(
new Ui::VectorizationWizardPageForm);
 
   46   this->setTitle(tr(
"Vectorization"));
 
   47   this->setSubTitle(tr(
"Define the vectorization parameters."));
 
   49   m_ui->m_targetDatasourceToolButton->setIcon(QIcon::fromTheme(
"datasource"));
 
   54   m_ui->m_maxGeomLineEdit->setValidator(
new QIntValidator(
this));
 
   71   m_ui->m_layerLineEdit->setText(m_layer->getTitle().c_str());
 
   74   m_ui->m_bandComboBox->clear();
 
   77   std::auto_ptr<te::da::DataSet> ds = m_layer->getData();
 
   83     std::auto_ptr<te::rst::Raster> inputRst = ds->getRaster(rpos);
 
   87       for(
unsigned int i = 0; i < inputRst->getNumberOfBands(); ++i)
 
   89         m_ui->m_bandComboBox->addItem(QString::number(i));
 
   97   assert(m_layer.get());
 
  100   std::auto_ptr<te::da::DataSet> ds = m_layer->getData();
 
  104   return ds->getRaster(rpos);
 
  109   return m_ui->m_bandComboBox->currentText().toUInt();
 
  114   if(!m_ui->m_maxGeomLineEdit->text().isEmpty())
 
  115     maxGeom = m_ui->m_maxGeomLineEdit->text().toInt();
 
  117   return m_ui->m_maxGeomCheckBox->isChecked();
 
  127   return m_outputDatasource;
 
  132   if(m_ui->m_newLayerNameLineEdit->text().isEmpty())
 
  135   return m_ui->m_newLayerNameLineEdit->text().toStdString();
 
  140   if(m_ui->m_repositoryLineEdit->text().isEmpty())
 
  143   return m_ui->m_repositoryLineEdit->text().toStdString();
 
  148   m_ui->m_newLayerNameLineEdit->clear();
 
  149   m_ui->m_newLayerNameLineEdit->setEnabled(
true);
 
  153   std::list<te::da::DataSourceInfoPtr> dsPtrList = dlg.
getSelecteds();
 
  155   if(dsPtrList.size() <= 0)
 
  158   std::list<te::da::DataSourceInfoPtr>::iterator it = dsPtrList.begin();
 
  160   m_ui->m_repositoryLineEdit->setText(QString(it->get()->getTitle().c_str()));
 
  162   m_outputDatasource = *it;
 
  169   m_ui->m_newLayerNameLineEdit->clear();
 
  170   m_ui->m_repositoryLineEdit->clear();
 
  172   QString fileName = QFileDialog::getSaveFileName(
this, tr(
"Save as..."),
 
  173                                                       QString(), tr(
"Shapefile (*.shp *.SHP);;"),0, QFileDialog::DontConfirmOverwrite);
 
  175   if(fileName.isEmpty())
 
  178   boost::filesystem::path outfile(fileName.toStdString());
 
  179   std::string aux = outfile.leaf().string();
 
  180   m_ui->m_newLayerNameLineEdit->setText(aux.c_str());
 
  181   aux = outfile.string();
 
  182   m_ui->m_repositoryLineEdit->setText(aux.c_str());
 
  185   m_ui->m_newLayerNameLineEdit->setEnabled(
false);
 
bool outputDataSourceToFile()
 
void setLayer(te::map::AbstractLayerPtr layer)
This method is used to set the selected layer for vectorization operation. 
 
VectorizationWizardPage(QWidget *parent=0)
 
te::da::DataSourceInfoPtr getDataSourceInfo()
 
bool hasMaxGeom(unsigned int &maxGeom)
 
void onTargetDatasourceToolButtonPressed()
 
std::auto_ptr< te::rst::Raster > getRaster()
 
std::string getLayerName()
 
std::auto_ptr< Ui::VectorizationWizardPageForm > m_ui
 
~VectorizationWizardPage()
 
TEDATAACCESSEXPORT std::size_t GetFirstPropertyPos(const te::da::DataSet *dataset, int datatype)
 
void onTargetFileToolButtonPressed()
 
boost::intrusive_ptr< AbstractLayer > AbstractLayerPtr
 
boost::shared_ptr< DataSourceInfo > DataSourceInfoPtr
 
std::string getRepositoryName()