Exemplo n.º 1
0
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);
	}
}
Exemplo n.º 2
0
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;
}