diff options
author | hjk <hjk@qt.io> | 2020-09-24 10:14:57 +0200 |
---|---|---|
committer | hjk <hjk@qt.io> | 2020-09-24 13:06:55 +0000 |
commit | 94df9822f98c14fdecbf6509f9d6e0333e1673c2 (patch) | |
tree | 3caaafc91844fe8a5dc5eb82363f6eb632c9c9f5 /src/plugins/texteditor/textmark.h | |
parent | cc502e36671e8d45d470b9aa38877e541c4f8613 (diff) |
TextEditor: Add a mechanism to provide dynamic icons and tooltips
... to TextMarks more easily by allowing callbacks in addition to
fixed values.
Change-Id: Ica9e7d54dd1a53a59dc11812857402d0b7594d6c
Reviewed-by: David Schulz <david.schulz@qt.io>
Diffstat (limited to 'src/plugins/texteditor/textmark.h')
-rw-r--r-- | src/plugins/texteditor/textmark.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/plugins/texteditor/textmark.h b/src/plugins/texteditor/textmark.h index 971d8f22a6..5dd24a4a13 100644 --- a/src/plugins/texteditor/textmark.h +++ b/src/plugins/texteditor/textmark.h @@ -97,8 +97,9 @@ public: void addToToolTipLayout(QGridLayout *target) const; virtual bool addToolTipContent(QLayout *target) const; - void setIcon(const QIcon &icon) { m_icon = icon; } - const QIcon &icon() const { return m_icon; } + void setIcon(const QIcon &icon); + void setIconProvider(const std::function<QIcon()> &iconProvider); + const QIcon icon() const; // call this if the icon has changed. void updateMarker(); Priority priority() const { return m_priority;} @@ -121,8 +122,9 @@ public: QString lineAnnotation() const { return m_lineAnnotation; } void setLineAnnotation(const QString &lineAnnotation) { m_lineAnnotation = lineAnnotation; } - QString toolTip() const { return m_toolTip; } - void setToolTip(const QString &toolTip) { m_toolTip = toolTip; } + QString toolTip() const; + void setToolTip(const QString &toolTip); + void setToolTipProvider(const std::function<QString ()> &toolTipProvider); QVector<QAction *> actions() const; void setActions(const QVector<QAction *> &actions); // Takes ownership @@ -135,12 +137,14 @@ private: int m_lineNumber = 0; Priority m_priority = LowPriority; QIcon m_icon; + std::function<QIcon()> m_iconProvider; Utils::optional<Utils::Theme::Color> m_color; bool m_visible = false; Utils::Id m_category; double m_widthFactor = 1.0; QString m_lineAnnotation; QString m_toolTip; + std::function<QString()> m_toolTipProvider; QString m_defaultToolTip; QVector<QAction *> m_actions; }; |