6#include <qqmlregistration.h>
8#include "qml_material/export.hpp"
17class QML_MATERIAL_API ToolTipAttached final :
public QObject {
20 Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged FINAL)
21 Q_PROPERTY(
int delay READ delay WRITE setDelay NOTIFY delayChanged FINAL)
22 Q_PROPERTY(
int timeout READ timeout WRITE setTimeout NOTIFY timeoutChanged FINAL)
23 Q_PROPERTY(
bool visible READ visible WRITE setVisible NOTIFY visibleChanged FINAL)
24 Q_PROPERTY(QObject* toolTip READ toolTip CONSTANT FINAL)
27 explicit ToolTipAttached(QObject* parent =
nullptr);
28 ~ToolTipAttached()
override;
31 void setText(
const QString& text);
34 void setDelay(
int delay);
37 void setTimeout(
int timeout);
40 void setVisible(
bool visible);
42 QObject* toolTip()
const;
44 Q_INVOKABLE
void show(
const QString& text,
int timeout = -1);
45 Q_INVOKABLE
void hide();
47 Q_SIGNAL
void textChanged();
48 Q_SIGNAL
void delayChanged();
49 Q_SIGNAL
void timeoutChanged();
50 Q_SIGNAL
void visibleChanged();
53 friend class ToolTipManager;
55 ToolTipManager* manager(
bool create)
const;
56 QQuickItem* target()
const;
57 void notifyVisibleChanged();
68class QML_MATERIAL_API
ToolTip :
public QObject {
72 QML_UNCREATABLE(
"ToolTip is only available as an attached property")
73 QML_ATTACHED(ToolTipAttached)
76 explicit ToolTip(QObject* parent =
nullptr);
78 static ToolTipAttached* qmlAttachedProperties(QObject*
object);