ModelValidationWidget::ModelValidationWidget(QWidget *parent): QWidget(parent) { try { vector<QString> vers; setupUi(this); this->setModel(nullptr); swapobjectsids_wgt=nullptr; swapobjectsids_wgt=new SwapObjectsIdsWidget(this); SchemaParser::getPgSQLVersions(vers); version_cmb->addItem(trUtf8("Autodetect")); while(!vers.empty()) { version_cmb->addItem(vers.back()); vers.pop_back(); } options_frm->setVisible(false); curr_step=0; validation_thread=new QThread(this); validation_helper.moveToThread(validation_thread); connect(&validation_helper, SIGNAL(s_validationInfoGenerated(ValidationInfo)), this, SLOT(updateValidation(ValidationInfo))); connect(&validation_helper, SIGNAL(s_progressUpdated(int,QString,ObjectType)), this, SLOT(updateProgress(int,QString,ObjectType))); connect(&validation_helper, SIGNAL(s_objectProcessed(QString,ObjectType)), this, SLOT(updateObjectName(QString,ObjectType))); connect(hide_tb, SIGNAL(clicked(void)), this, SLOT(hide(void))); connect(clear_btn, SIGNAL(clicked(void)), this, SLOT(clearOutput(void))); connect(options_btn, SIGNAL(toggled(bool)), options_frm, SLOT(setVisible(bool))); connect(sql_validation_chk, SIGNAL(toggled(bool)), connections_cmb, SLOT(setEnabled(bool))); connect(sql_validation_chk, SIGNAL(toggled(bool)), version_cmb, SLOT(setEnabled(bool))); connect(version_cmb, SIGNAL(currentIndexChanged(int)), this, SLOT(configureValidation(void))); connect(connections_cmb, SIGNAL(currentIndexChanged(int)), this, SLOT(configureValidation(void))); connect(sql_validation_chk, SIGNAL(toggled(bool)), this, SLOT(configureValidation(void))); connect(validation_thread, SIGNAL(started(void)), &validation_helper, SLOT(validateModel(void))); connect(validate_btn, SIGNAL(clicked(void)), this, SLOT(validateModel(void))); connect(validation_thread, SIGNAL(started(void)), &validation_helper, SLOT(applyFixes(void))); connect(fix_btn, SIGNAL(clicked(void)), this, SLOT(applyFixes(void))); connect(&validation_helper, SIGNAL(s_validationFinished(void)), this, SLOT(reenableValidation(void))); connect(&validation_helper, SIGNAL(s_validationCanceled(void)), this, SLOT(reenableValidation(void))); connect(&validation_helper, SIGNAL(s_sqlValidationStarted(bool)), options_btn, SLOT(setDisabled(bool))); connect(&validation_helper, SIGNAL(s_sqlValidationStarted(bool)), clear_btn, SLOT(setDisabled(bool))); connect(&validation_helper, SIGNAL(s_sqlValidationStarted(bool)), options_frm, SLOT(setDisabled(bool))); connect(&validation_helper, SIGNAL(s_fixApplied(void)), this, SLOT(clearOutput(void))); connect(&validation_helper, SIGNAL(s_fixApplied(void)), prog_info_wgt, SLOT(show(void))); connect(cancel_btn, SIGNAL(clicked(void)), this, SLOT(cancelValidation(void))); connect(swap_ids_btn, SIGNAL(clicked(void)), this, SLOT(swapObjectsIds(void))); } catch(Exception &e) { throw Exception(e.getErrorMessage(),e.getErrorType(),__PRETTY_FUNCTION__,__FILE__,__LINE__, &e); } }
ModelValidationWidget::ModelValidationWidget(QWidget *parent): QWidget(parent) { vector<QString> vers; setupUi(this); this->setModel(nullptr); connect(validate_btn, SIGNAL(clicked(bool)), this, SLOT(validateModel(void))); connect(&validation_helper, SIGNAL(s_validationInfoGenerated(ValidationInfo)), this, SLOT(updateValidation(ValidationInfo))); connect(&validation_helper, SIGNAL(s_progressUpdated(int,QString)), this, SLOT(updateProgress(int,QString))); connect(hide_tb, SIGNAL(clicked(bool)), this, SLOT(hide(void))); connect(fix_btn, SIGNAL(clicked(bool)), this, SLOT(applyFix(void))); connect(clear_btn, SIGNAL(clicked(bool)), this, SLOT(clearOutput(void))); connect(options_btn, SIGNAL(toggled(bool)), options_frm, SLOT(setVisible(bool))); connect(sql_validation_chk, SIGNAL(toggled(bool)), connections_cmb, SLOT(setEnabled(bool))); connect(sql_validation_chk, SIGNAL(toggled(bool)), version_cmb, SLOT(setEnabled(bool))); connect(fix_steps_chk, SIGNAL(toggled(bool)), fix_steps_sb, SLOT(setEnabled(bool))); SchemaParser::getPgSQLVersions(vers); version_cmb->addItem(trUtf8("Autodetect")); while(!vers.empty()) { version_cmb->addItem(vers.back()); vers.pop_back(); } options_frm->setVisible(false); curr_step=0; }