qt/LedOK/program/etable.h
2025-12-30 17:22:43 +08:00

45 lines
1.1 KiB
C++

#ifndef ETABLE_H
#define ETABLE_H
#include "ebase.h"
#include "gutil/qgui.h"
#include "base/locolorselector.h"
#include "xlsxworksheet.h"
class PaintTableWidget : public TableWidget {
Q_OBJECT
public:
using TableWidget::TableWidget;
EBase *ebase = 0;
protected:
void paintEvent(QPaintEvent *) override;
};
class ETable : public EBase {
Q_OBJECT
public:
explicit ETable(int, int, EBase *multiWin = 0);
explicit ETable(const JObj &json, const QString &dir, EBase *multiWin = 0);
void init(int=0, int=0);
int read(QXlsx::Worksheet *);
void grabImg();
int type() const override {return EBase::Table;}
JObj attrJson() override;
bool save(const QString &) override;
void paint(QPainter*, const QStyleOptionGraphicsItem *, QWidget *) override;
void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) override;
QWidget* attrWgt() override;
EmitCloseWidget dlg;
PaintTableWidget *table = 0;
QPixmap img;
QByteArray png;
LoColorSelector *edGridColor;
QString name;
QString direction;
int speed = 60;
bool isAutoSetting = false;
};
#endif // ETABLE_H