28 #include "../../../../dataaccess/datasource/DataSource.h" 29 #include "../../../../dataaccess/datasource/DataSourceFactory.h" 30 #include "../../../../dataaccess/datasource/DataSourceInfo.h" 31 #include "../../../../dataaccess/datasource/DataSourceManager.h" 32 #include "../../../widgets/Exception.h" 33 #include "ui_MySQLCreatorDialogForm.h" 36 #include <QtGui/QMessageBox> 40 m_ui(new
Ui::MySQLCreatorDialogForm)
46 m_ui->m_advancedOptionsGroupBox->hide();
68 throw te::qt::widgets::Exception(TR_QT_WIDGETS(
"Sorry! No data access driver loaded for MySQL data sources!"));
71 std::map<std::string, std::string> dsInfo;
79 catch(
const std::exception& e)
81 QMessageBox::warning(
this,
82 tr(
"TerraLib Qt Components"),
88 QMessageBox::warning(
this,
89 tr(
"TerraLib Qt Components"),
90 tr(
"Unknown error while opening MySQL database!"));
109 m_ui->m_advancedOptionsGroupBox->setVisible(t);
118 QString qstr =
m_ui->m_hostNameLineEdit->text().trimmed();
121 connInfo[
"MY_HOST_NAME"] = qstr.toUtf8().data();
124 qstr =
m_ui->m_portLineEdit->text().trimmed();
127 connInfo[
"MY_PORT"] = qstr.toUtf8().data();
130 qstr =
m_ui->m_userNameLineEdit->text().trimmed();
133 connInfo[
"MY_USER_NAME"] = qstr.toUtf8().data();
136 qstr =
m_ui->m_passwordLineEdit->text().trimmed();
139 connInfo[
"MY_PASSWORD"] = qstr.toUtf8().data();
142 qstr =
m_ui->m_schemaNameComboBox->currentText().trimmed();
146 connInfo[
"MY_SCHEMA"] = qstr.toUtf8().data();
149 qstr =
m_ui->m_charsetComboBox->currentText().trimmed();
152 connInfo[
"MY_OPT_CHARSET_NAME"] = qstr.toUtf8().data();
155 qstr =
m_ui->m_newHostNameLineEdit->text().trimmed();
158 connInfo[
"MY_NEW_SCHEMA_HOST"] = qstr.toUtf8().data();
161 qstr =
m_ui->m_newPortLineEdit->text().trimmed();
164 connInfo[
"MY_NEW_SCHEMA_PORT"] = qstr.toUtf8().data();
167 qstr =
m_ui->m_newUserNameLineEdit->text().trimmed();
170 connInfo[
"MY_NEW_SCHEMA_USER_NAME"] = qstr.toUtf8().data();
173 qstr =
m_ui->m_newPasswordLineEdit->text().trimmed();
176 connInfo[
"MY_NEW_SCHEMA_PASSWORD"] = qstr.toUtf8().data();
179 qstr =
m_ui->m_newSchemaNameLineEdit->text().trimmed();
182 connInfo[
"MY_NEW_SCHEMA_NAME"] = qstr.toUtf8().data();
185 qstr =
m_ui->m_newCharsetComboBox->currentText().trimmed();
188 connInfo[
"MY_NEW_SCHEMA_CHARSET_NAME"] = qstr.toUtf8().data();
191 qstr =
m_ui->m_newCollateComboBox->currentText().trimmed();
194 connInfo[
"MY_NEW_SCHEMA_COLLATE_NAME"] = qstr.toUtf8().data();
196 if(
m_ui->m_createRasterMetadataCheckBox->isChecked())
197 connInfo[
"MY_NEW_SCHEMA_CREATE_TERRALIB_RASTER_METADATA_TABLES"] =
"TRUE";
199 if(
m_ui->m_createOGCMetadataCheckBox->isChecked())
200 connInfo[
"MY_NEW_SCHEMA_CREATE_OGC_METADATA_TABLES"] =
"TRUE";
215 if(
m_ui->m_userNameLineEdit->text() !=
"" &&
m_ui->m_passwordLineEdit->text() !=
"")
217 std::map<std::string, std::string> dsInfo;
221 std::vector<std::string> dbNames = te::da::DataSource::getDataSources(
"MYSQL", dsInfo);
223 for(std::size_t i = 0; i < dbNames.size(); i++)
224 m_ui->m_schemaNameComboBox->addItem(dbNames[i].c_str());
void helpPushButtonPressed()
static std::unique_ptr< DataSource > create(const std::string &dsType, const std::string &connInfo)
It creates a new repository for a data source.
static bool find(const std::string &dsType)
te::da::DataSourceInfoPtr m_datasource
boost::shared_ptr< DataSource > DataSourcePtr
void passwordLineEditEditingFinished()
void closePushButtonPressed()
void applyPushButtonPressed()
const te::da::DataSourceInfoPtr & getDataSource() const
te::da::DataSourcePtr m_driver
void advancedCreationOptionsCheckBoxToggled(bool t)
const te::da::DataSourcePtr & getDriver() const
MySQLCreatorDialog(QWidget *parent=0, Qt::WindowFlags f=0)
void getConnectionInfo(std::map< std::string, std::string > &connInfo) const
std::auto_ptr< Ui::MySQLCreatorDialogForm > m_ui
boost::shared_ptr< DataSourceInfo > DataSourceInfoPtr