Files
magrob-rqt-plugin/include/rqt_demo_plugin/lineItem.hpp

45 lines
1.1 KiB
C++

#pragma once
#include <QtQuick/QQuickItem>
#include <qchar.h>
#include <qglobal.h>
#include <qobject.h>
#include <qobjectdefs.h>
#include <qpoint.h>
#include <qquickitem.h>
#include <qsgnode.h>
class LineItem : public QQuickItem
{
Q_OBJECT
Q_PROPERTY(float scale READ scale WRITE setScale NOTIFY scaleChanged)
Q_PROPERTY(QString stupid READ stupid WRITE setStupid NOTIFY stupidChanged)
Q_PROPERTY(QObject* handler READ handler WRITE setHandler NOTIFY handlerChanged)
QML_ELEMENT
public:
LineItem(QQuickItem *parent = nullptr);
~LineItem();
QSGNode *updatePaintNode(QSGNode *, UpdatePaintNodeData *) override;
QString stupid() const {return stupid_;}
QObject* handler() const {return handler_;}
void setStupid(const QString &str) {stupid_ = str;}
void setScale(const float scale) {scale_ = scale;}
void setHandler(QObject* const obj) {handler_ = obj;}
signals:
void stupidChanged(const QString &str);
void handlerChanged(QObject* const obj);
private:
float scale_;
QString stupid_;
QObject* handler_;
int prev_size=0;
};