Added base classes for plugin UI.
This commit is contained in:
+15
-12
@@ -7,15 +7,18 @@
|
||||
#include <QSharedPointer>
|
||||
#include <QMetaMethod>
|
||||
#include <QDebug>
|
||||
#include <QVariant>
|
||||
|
||||
#include "iform.h"
|
||||
#include "service.h"
|
||||
#include "ivalidator.h"
|
||||
|
||||
|
||||
template <class T>
|
||||
class AutoForm : public QWidget
|
||||
class AutoForm : public IForm
|
||||
{
|
||||
public:
|
||||
explicit AutoForm(QWidget *parent = 0) : QWidget(parent) {
|
||||
explicit AutoForm(QWidget *parent = 0) : IForm(parent) {
|
||||
m_newRec = false;
|
||||
}
|
||||
|
||||
@@ -31,6 +34,14 @@ public:
|
||||
bindToUi();
|
||||
}
|
||||
|
||||
QSharedPointer<T> entity() {
|
||||
return m_entity;
|
||||
}
|
||||
|
||||
void setNewRec(bool isNew) {
|
||||
m_newRec = isNew;
|
||||
}
|
||||
|
||||
void registerBinding(QWidget *widget) {
|
||||
if (!m_bindWidgets.contains(widget)) {
|
||||
m_bindWidgets.append(widget);
|
||||
@@ -70,11 +81,6 @@ private:
|
||||
return true;
|
||||
}
|
||||
|
||||
signals:
|
||||
void recordAdded(QSharedPointer<T> entity);
|
||||
void recordUpdated(QSharedPointer<T> entity);
|
||||
void validationError(QString errMessage);
|
||||
|
||||
public slots:
|
||||
bool saveRecord() {
|
||||
if (!bindToData())
|
||||
@@ -82,13 +88,10 @@ public slots:
|
||||
return false;
|
||||
}
|
||||
|
||||
Service<T> service;
|
||||
service.save(m_entity);
|
||||
|
||||
if (m_newRec) {
|
||||
emit recordAdded(m_entity);
|
||||
emit recordAdded();
|
||||
} else {
|
||||
emit recordUpdated(m_entity);
|
||||
emit recordUpdated();
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user