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++
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();
|
|
}
|