You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
922 B
C++

#include "formdialog.h"
#include "ui_formdialog.h"
#include <QMessageBox>
FormDialog::FormDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::FormDialog)
{
ui->setupUi(this);
m_formSet = false;
m_form = NULL;
}
FormDialog::~FormDialog()
{
delete ui;
}
void FormDialog::setForm(IForm *formWidget)
{
if (m_form == NULL)
{
ui->verticalLayout->addWidget(formWidget);
m_form = formWidget;
connect(m_form, SIGNAL(validationError(QString)), this, SLOT(onValidationError(QString)));
setGeometry(formWidget->geometry());
}
}
void FormDialog::onValidationError(const QString &message)
{
QMessageBox::critical(this, tr("Validation error"), tr(message.toStdString().c_str()));
}
void FormDialog::accept()
{
if (m_form->saveRecord())
{
QDialog::accept();
}
}
void FormDialog::reject()
{
m_form->refresh();
QDialog::reject();
}