Files
prodejna/core/igridform.h
T

60 lines
1.2 KiB
C++
Raw Normal View History

2015-11-17 22:24:00 +01:00
#ifndef IGRIDFORM_H
#define IGRIDFORM_H
#include <QWidget>
#include <QString>
#include <QTableView>
#include <QMenu>
#include <QList>
2015-11-17 22:24:00 +01:00
#include "columndialog.h"
2015-11-17 22:24:00 +01:00
#include "defaultformhandler.h"
#include "core_global.h"
namespace Ui {
class GridForm;
}
class CORESHARED_EXPORT IGridForm : public QWidget
{
Q_OBJECT
public:
explicit IGridForm(QWidget *parent = 0);
virtual ~IGridForm();
void setPluginId(const QString &pluginId);
QString pluginId();
QTableView *tableView();
signals:
void dataChanged();
public slots:
virtual void fillData() = 0;
protected:
virtual void handleNewRecord() = 0;
virtual void handleEditRecord() = 0;
virtual void handleDeleteRecord() = 0;
2015-11-17 22:24:00 +01:00
void hideColumns(const QList<int> &cols);
2015-11-17 22:24:00 +01:00
private slots:
void on_btnNew_clicked();
void on_btnEdit_clicked();
void on_btnDelete_clicked();
void on_tableView_customContextMenuRequested(const QPoint &pos);
void on_actionSelectColumns_triggered();
void columnsAccepted();
2015-11-17 22:24:00 +01:00
private:
QString m_pluginId;
IFormHandler *m_formHandler;
Ui::GridForm *ui;
QMenu *m_contextMenu;
ColumnDialog *m_columnDialog;
2015-11-17 22:24:00 +01:00
};
#endif // IGRIDFORM_H