27 #include "../../../dataaccess/dataset/DataSet.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/DataSourceInfo.h" 
   33 #include "../../../dataaccess/datasource/DataSourceManager.h" 
   34 #include "../../../dataaccess/datasource/DataSourceTransactor.h" 
   35 #include "../../../dataaccess/utils/Utils.h" 
   36 #include "../../../geometry/GeometryProperty.h" 
   37 #include "../../../qt/widgets/dataset/selector/DataSetSelectorWizardPage.h" 
   38 #include "../../../qt/widgets/datasource/selector/DataSourceSelectorWidget.h" 
   39 #include "../../../qt/widgets/datasource/selector/DataSourceSelectorWizardPage.h" 
   40 #include "../../../qt/widgets/help/HelpPushButton.h" 
   41 #include "../../../qt/widgets/utils/ScopedCursor.h" 
   46 #include "ui_DataExchangerWizardForm.h" 
   47 #include "ui_DataExchangeSummaryWizardPageForm.h" 
   48 #include "ui_DataSetOptionsWizardPageForm.h" 
   49 #include "ui_DataSourceSelectorWidgetForm.h" 
   59 #include <QAbstractButton> 
   60 #include <QMessageBox> 
   61 #include <QVBoxLayout> 
   65     m_ui(new Ui::DataExchangerWizardForm)
 
   85   m_datasetSelectorPage->setSubTitle(tr(
"Please, select the datasets you want to transfer to another data source"));
 
  111   connect(this->button(QWizard::NextButton), SIGNAL(pressed()), 
this, SLOT(
next()));
 
  112   connect(this->button(QWizard::BackButton), SIGNAL(pressed()), 
this, SLOT(
back()));
 
  113   connect(this->button(QWizard::CommitButton), SIGNAL(pressed()), 
this, SLOT(commit()));
 
  118   this->setButton(QWizard::HelpButton, helpButton);
 
  129   return QWizard::nextId();
 
  134   std::list<te::da::DataSourceInfoPtr> datasources = m_datasourceSelectorPage->getSelectorWidget()->getSelecteds();
 
  136   if(datasources.empty())
 
  139     return datasources.front();
 
  144   std::list<te::da::DataSourceInfoPtr> datasources = m_targetSelectorPage->getSelectorWidget()->getSelecteds();
 
  146   if(datasources.empty())
 
  149     return datasources.front();
 
  154   this->setOption(QWizard::HaveCustomButton1, 
false);
 
  156   if(currentId() == PAGE_SUMMARY)
 
  158     this->setButtonText(QWizard::CustomButton1, tr(
"Apply"));
 
  159     this->setOption(QWizard::HaveCustomButton1, 
true);
 
  161     connect(this->button(QWizard::CustomButton1), SIGNAL(clicked()), m_datasetOptionsPage.get(), SLOT(applyChanges()));
 
  169   this->setOption(QWizard::HaveCustomButton1, 
false);
 
  171   if(currentId() == PAGE_DATASOURCE_SELECTION)
 
  173     m_datasetSelectorPage->set(getDataSource(), 
true);
 
  175   else if(currentId() == PAGE_TARGET_DATASOURCE)
 
  177     std::list<te::da::DataSetTypePtr> datasets = m_datasetSelectorPage->getCheckedDataSets();
 
  178     m_datasetOptionsPage->set(datasets, getDataSource(), getTargetDataSource());
 
  180     this->setButtonText(QWizard::CustomButton1, tr(
"Apply"));
 
  181     this->setOption(QWizard::HaveCustomButton1, 
true);
 
  183     connect(this->button(QWizard::CustomButton1), SIGNAL(clicked()), m_datasetOptionsPage.get(), SLOT(applyChanges()));
 
  185   else if(currentId() == PAGE_DATASET_OPTIONS)
 
  205   if(idatasource.get() == 0)
 
  216   if(odatasource.get() == 0)
 
  220   std::list<DataExchangeStatus> result;
 
  222   std::map<te::da::DataSetTypePtr, te::da::DataSetTypeConverter*> odatasets = m_datasetOptionsPage->getDatasets();
 
  224   std::map<te::da::DataSetTypePtr, te::da::DataSetTypeConverter*>::iterator it = odatasets.begin();
 
  226   while(it != odatasets.end())
 
  232     std::auto_ptr<te::da::DataSourceTransactor> t;
 
  236       std::map<std::string,std::string> nopt;
 
  240       std::auto_ptr<te::da::DataSet> dataset(idatasource->getDataSet(idset->getName()));
 
  242       t = odatasource->getTransactor();
 
  247       t->createDataSet(odset, nopt);
 
  251         dsAdapter->setSRID(geomProp->
getSRID());
 
  253       if(dataset->moveBeforeFirst())
 
  254         t->add(odset->
getName(), dsAdapter.get(), ods->getConnInfo());
 
  263       result.push_back(status);
 
  267     catch(
const std::exception& e)
 
  274       result.push_back(status);
 
  285       result.push_back(status);
 
  293   m_summaryPage->set(result);
 
boost::shared_ptr< DataSetType > DataSetTypePtr
 
boost::shared_ptr< DataSource > DataSourcePtr
 
A class that models the description of a dataset. 
 
int getSRID() const 
It returns the spatial reference system identifier associated to this property. 
 
static DataSourceManager & getInstance()
It returns a reference to the singleton instance. 
 
TEDATAACCESSEXPORT te::gm::GeometryProperty * GetFirstGeomProperty(const DataSetType *dt)
 
TEDATAACCESSEXPORT DataSetAdapter * CreateAdapter(DataSet *ds, DataSetTypeConverter *converter, bool isOwner=false)
 
boost::shared_ptr< DataSourceInfo > DataSourceInfoPtr
 
const std::string & getName() const 
It returns the property name.