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.
42 lines
724 B
C++
42 lines
724 B
C++
#ifndef IFORM_H
|
|
#define IFORM_H
|
|
|
|
#include <QWidget>
|
|
#include <QString>
|
|
#include <QSharedPointer>
|
|
#include <QObject>
|
|
|
|
#include "core_global.h"
|
|
|
|
class CORESHARED_EXPORT IForm : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit IForm(QWidget *parent = 0);
|
|
~IForm() override = default;
|
|
|
|
QString pluginId() const;
|
|
void setPluginId(const QString &pluginId);
|
|
virtual void loadEntity() {}
|
|
virtual void onShow() {}
|
|
|
|
signals:
|
|
void recordAdded();
|
|
void recordUpdated();
|
|
void validationError(const QString &errMessage);
|
|
void refreshEntity();
|
|
|
|
public slots:
|
|
virtual bool saveRecord() = 0;
|
|
void refresh();
|
|
|
|
private:
|
|
QString m_pluginId;
|
|
|
|
protected:
|
|
bool m_newRec;
|
|
};
|
|
|
|
#endif // IFORM_H
|