pgLab/pglab/CrudTab.h

62 lines
1.1 KiB
C
Raw Normal View History

#ifndef CRUDTAB_H
2018-01-08 20:45:52 +01:00
#define CRUDTAB_H
#include "catalog/PgClass.h"
2018-01-08 20:45:52 +01:00
#include <QWidget>
#include "plugin_support/PluginContentWidget.h"
#include "plugin_support/PluginModule.h"
#include <memory>
#include <optional>
2018-01-08 20:45:52 +01:00
namespace Ui {
class CrudTab;
2018-01-08 20:45:52 +01:00
}
class OpenDatabase;
class CrudModel;
class CrudTab : public PluginContentWidget
2018-01-08 20:45:52 +01:00
{
Q_OBJECT
public:
explicit CrudTab(IPluginContentWidgetContext *context, QWidget *parent = nullptr);
~CrudTab() override;
2018-01-08 20:45:52 +01:00
void setConfig(Oid oid);
public slots:
void refresh();
2018-01-08 20:45:52 +01:00
private:
Ui::CrudTab *ui;
std::shared_ptr<OpenDatabase> m_db;
std::optional<PgClass> m_table;
CrudModel *m_crudModel = nullptr;
QAction *m_refreshAction = nullptr;
void initActions();
virtual QList<QAction *> actions() override;
private slots:
void on_actionRemove_rows_triggered();
void headerCustomContextMenu(const QPoint &pos);
2018-01-08 20:45:52 +01:00
};
class CrudPageModule: public PluginModule {
Q_OBJECT
public:
using PluginModule::PluginModule;
void init();
private slots:
private:
void moduleAction_open(IPluginContentWidgetContext* context, const ModuleActionParameters &params);
};
2018-01-08 20:45:52 +01:00
#endif // CRUDTAB_H