52 lines
1.4 KiB
C++
52 lines
1.4 KiB
C++
#ifndef EWINDOW_H
|
|
#define EWINDOW_H
|
|
|
|
#include <QListWidget>
|
|
#include "eobject.h"
|
|
|
|
class eWindow : public eObject
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
struct Data {
|
|
QList<eObject *> eList;
|
|
eObject *eCur;
|
|
int index;
|
|
eWindow *self;
|
|
};
|
|
|
|
public:
|
|
explicit eWindow(QRectF rectInit,InteractiveType type = Dynamic, QGraphicsItem *parent = nullptr);
|
|
explicit eWindow(const QJsonObject &json, const QString pRoot, InteractiveType type = Dynamic, QGraphicsItem *parent = nullptr);
|
|
virtual ~eWindow() override;
|
|
|
|
//public:
|
|
// static void setElement(const QJsonObject &json, Data &attr);
|
|
|
|
public:
|
|
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override;
|
|
virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) override;
|
|
|
|
public:
|
|
virtual int type() const override { return eObject::Window; }
|
|
virtual QWidget* wAttr() override;
|
|
virtual QWidget* wAttrElement() override;
|
|
virtual QJsonObject save(const QString &pRoot) override;
|
|
virtual QStringList filesList() const override;
|
|
virtual QJsonObject elementJson() const override;
|
|
|
|
protected:
|
|
void restoreElement(const QJsonObject &json, const QString &pRoot);
|
|
|
|
signals:
|
|
|
|
public slots:
|
|
virtual void playElectment() override;
|
|
virtual void stopElectment() override;
|
|
|
|
private:
|
|
Data m_attr;
|
|
};
|
|
|
|
#endif // EWINDOW_H
|