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++

#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