2018-09-30 16:26:06 +03:00
|
|
|
#ifndef GUIOBJECT_H
|
|
|
|
#define GUIOBJECT_H
|
|
|
|
|
2018-10-08 21:10:07 +03:00
|
|
|
#include "baseclass.h"
|
|
|
|
#include "QObject"
|
2018-09-30 16:26:06 +03:00
|
|
|
|
2018-10-11 18:09:35 +03:00
|
|
|
#include <QRectF>
|
|
|
|
|
2018-10-08 21:10:07 +03:00
|
|
|
class GuiObject:public QObject, public BaseClass
|
2018-09-30 16:26:06 +03:00
|
|
|
{
|
2018-10-08 21:10:07 +03:00
|
|
|
Q_OBJECT
|
2018-11-14 23:15:36 +03:00
|
|
|
// @todo: add color
|
|
|
|
Q_PROPERTY(QString color READ color WRITE setColor NOTIFY colorChanged)
|
2018-10-11 18:09:35 +03:00
|
|
|
Q_PROPERTY(double angle READ angle NOTIFY angleChanged)
|
|
|
|
Q_PROPERTY(QString texture READ texture NOTIFY textureChanged)
|
|
|
|
Q_PROPERTY(int guiId READ guiId NOTIFY guiIdChanged)
|
|
|
|
|
2018-11-25 03:24:41 +03:00
|
|
|
Q_PROPERTY(double x READ x NOTIFY xChanged)
|
|
|
|
Q_PROPERTY(double y READ y NOTIFY yChanged)
|
|
|
|
Q_PROPERTY(double w READ w NOTIFY wChanged)
|
|
|
|
Q_PROPERTY(double h READ h NOTIFY hChanged)
|
|
|
|
|
2018-10-11 00:04:52 +03:00
|
|
|
private:
|
|
|
|
void generateId();
|
2018-10-11 18:09:35 +03:00
|
|
|
|
2018-10-08 21:10:07 +03:00
|
|
|
protected:
|
2018-10-11 18:09:35 +03:00
|
|
|
int m_guiId;
|
|
|
|
double m_angle;
|
|
|
|
QString m_texture;
|
2018-11-14 23:15:36 +03:00
|
|
|
QString m_color;
|
2018-11-25 03:24:41 +03:00
|
|
|
|
|
|
|
double m_x;
|
|
|
|
double m_y;
|
|
|
|
double m_w;
|
|
|
|
double m_h;
|
2018-10-11 00:04:52 +03:00
|
|
|
|
|
|
|
void setTexture(const QString &texture);
|
2018-11-04 16:11:55 +03:00
|
|
|
|
|
|
|
|
2018-09-30 16:26:06 +03:00
|
|
|
public:
|
2018-10-08 21:10:07 +03:00
|
|
|
GuiObject(QObject *ptr = nullptr);
|
|
|
|
|
2018-10-11 18:09:35 +03:00
|
|
|
double angle() const;
|
|
|
|
QString texture() const;
|
2018-10-08 21:10:07 +03:00
|
|
|
|
2018-10-11 18:09:35 +03:00
|
|
|
void render();
|
2018-10-08 21:10:07 +03:00
|
|
|
|
2018-10-11 18:09:35 +03:00
|
|
|
QRectF rect() const;
|
2018-11-16 20:01:47 +03:00
|
|
|
virtual void setAngle(double angle);
|
2018-10-11 18:09:35 +03:00
|
|
|
int guiId() const;
|
2018-10-11 00:04:52 +03:00
|
|
|
|
2018-11-14 23:15:36 +03:00
|
|
|
QString color() const;
|
|
|
|
|
|
|
|
void setColor(QString color);
|
|
|
|
|
2018-11-25 03:24:41 +03:00
|
|
|
double x() const;
|
|
|
|
double y() const;
|
|
|
|
double w() const;
|
|
|
|
double h() const;
|
|
|
|
|
|
|
|
void setX(double x);
|
|
|
|
void setY(double y);
|
|
|
|
void setW(double w);
|
|
|
|
void setH(double h);
|
|
|
|
|
2018-10-11 18:09:35 +03:00
|
|
|
signals:
|
|
|
|
void angleChanged(double angle);
|
|
|
|
void textureChanged(QString texture);
|
|
|
|
void guiIdChanged(int guiId);
|
2018-11-14 23:15:36 +03:00
|
|
|
void colorChanged(QString color);
|
2018-11-25 03:24:41 +03:00
|
|
|
void xChanged(double x);
|
|
|
|
void yChanged(double y);
|
|
|
|
void wChanged(double w);
|
|
|
|
void hChanged(double h);
|
2018-09-30 16:26:06 +03:00
|
|
|
};
|
|
|
|
|
2018-10-08 21:10:07 +03:00
|
|
|
#endif // GUIOBJECT_H
|