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 <QtGui/QAbstractButton> 
   60 #include <QtGui/QMessageBox> 
   61 #include <QtGui/QVBoxLayout> 
   65     m_ui(new Ui::DataExchangerWizardForm)
 
   85   m_datasetSelectorPage->setSubTitle(tr(
"Please, select the datasets you want to transfer to another data source"));
 
  110   connect(this->button(QWizard::NextButton), SIGNAL(pressed()), 
this, SLOT(
next()));
 
  111   connect(this->button(QWizard::BackButton), SIGNAL(pressed()), 
this, SLOT(
back()));
 
  112   connect(this->button(QWizard::CommitButton), SIGNAL(pressed()), 
this, SLOT(
commit()));
 
  117   this->setButton(QWizard::HelpButton, helpButton);
 
  128   return QWizard::nextId();
 
  133   std::list<te::da::DataSourceInfoPtr> datasources = m_datasourceSelectorPage->getSelectorWidget()->getSelecteds();
 
  135   if(datasources.empty())
 
  138     return datasources.front();
 
  143   std::list<te::da::DataSourceInfoPtr> datasources = m_targetSelectorPage->getSelectorWidget()->getSelecteds();
 
  145   if(datasources.empty())
 
  148     return datasources.front();
 
  153   this->setOption(QWizard::HaveCustomButton1, 
false);
 
  155   if(currentId() == PAGE_SUMMARY)
 
  157     this->setButtonText(QWizard::CustomButton1, tr(
"Apply"));
 
  158     this->setOption(QWizard::HaveCustomButton1, 
true);
 
  160     connect(this->button(QWizard::CustomButton1), SIGNAL(clicked()), m_datasetOptionsPage.get(), SLOT(applyChanges()));
 
  168   this->setOption(QWizard::HaveCustomButton1, 
false);
 
  170   if(currentId() == PAGE_DATASOURCE_SELECTION)
 
  172     m_datasetSelectorPage->set(getDataSource(), 
true);
 
  174   else if(currentId() == PAGE_TARGET_DATASOURCE)
 
  176     std::list<te::da::DataSetTypePtr> datasets = m_datasetSelectorPage->getCheckedDataSets();
 
  177     m_datasetOptionsPage->set(datasets, getDataSource(), getTargetDataSource());
 
  179     this->setButtonText(QWizard::CustomButton1, tr(
"Apply"));
 
  180     this->setOption(QWizard::HaveCustomButton1, 
true);
 
  182     connect(this->button(QWizard::CustomButton1), SIGNAL(clicked()), m_datasetOptionsPage.get(), SLOT(applyChanges()));
 
  200   if(idatasource.get() == 0)
 
  211   if(odatasource.get() == 0)
 
  215   std::list<DataExchangeStatus> result;
 
  217   std::map<te::da::DataSetTypePtr, te::da::DataSetTypeConverter*> odatasets = m_datasetOptionsPage->getDatasets();
 
  219   std::map<te::da::DataSetTypePtr, te::da::DataSetTypeConverter*>::iterator it = odatasets.begin();
 
  221   while(it != odatasets.end())
 
  229       std::map<std::string,std::string> nopt;
 
  233       std::auto_ptr<te::da::DataSet> dataset(idatasource->getDataSet(idset->getName()));
 
  236       odatasource->createDataSet(odset, nopt);
 
  240         dsAdapter->setSRID(geomProp->
getSRID());
 
  242       if(dataset->moveBeforeFirst())
 
  243         odatasource->add(odset->
getName(), dsAdapter.get(), ods->getConnInfo());
 
  252       result.push_back(status);
 
  254     catch(
const std::exception& e)
 
  261       result.push_back(status);
 
  270       result.push_back(status);
 
  276   m_summaryPage->set(result);
 
te::da::DataSourceInfoPtr getTargetDataSource() const 
 
TEDATAACCESSEXPORT te::gm::GeometryProperty * GetFirstGeomProperty(const DataSetType *dt)
 
int getSRID() const 
It returns the spatial reference system identifier associated to this property. 
 
std::auto_ptr< DataSetSelectorWizardPage > m_datasetSelectorPage
 
const std::string & getName() const 
It returns the property name. 
 
Push button that uses te::qt::widgets::HelpManager on its mouse pressed implementation. 
 
std::auto_ptr< DataSetOptionsWizardPage > m_datasetOptionsPage
 
void setPageReference(const QString &ref)
Sets the documentation page reference. 
 
boost::shared_ptr< DataSource > DataSourcePtr
 
std::string m_exceptionMsg
 
std::auto_ptr< Ui::DataExchangerWizardForm > m_ui
 
DataExchangerWizard(QWidget *parent=0, Qt::WindowFlags f=0)
 
A class that models the description of a dataset. 
 
boost::shared_ptr< DataSetType > DataSetTypePtr
 
te::da::DataSetType * m_dataset
 
std::auto_ptr< DataSourceSelectorWizardPage > m_datasourceSelectorPage
 
static DataSourceManager & getInstance()
It returns a reference to the singleton instance. 
 
boost::shared_ptr< DataSourceInfo > DataSourceInfoPtr
 
std::auto_ptr< DataExchangeSummaryWizardPage > m_summaryPage
 
TEDATAACCESSEXPORT DataSetAdapter * CreateAdapter(DataSet *ds, DataSetTypeConverter *converter, bool isOwner=false)
 
std::auto_ptr< DataSourceSelectorWizardPage > m_targetSelectorPage
 
An object that when created shows a cursor during its scope. 
 
te::da::DataSourceInfoPtr getDataSource() const