┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/tooltips/ktooltipitem.h
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2009-06-21 10:20:28 +0000
committerPeter Penz <[email protected]>2009-06-21 10:20:28 +0000
commit1e208254c5816671be7d7ac4753a8888f53062d9 (patch)
tree6a008116931f3bff38a55fc9ee9527b415808d0b /src/tooltips/ktooltipitem.h
parent1c351eac8f97082234d87604688c32829b3aa07a (diff)
The file ktooltip.h contained the three public classes KToolTip, KToolTipDelegate and KToolTipItem. Use one separate file for each class.
svn path=/trunk/KDE/kdebase/apps/; revision=984646
Diffstat (limited to 'src/tooltips/ktooltipitem.h')
-rw-r--r--src/tooltips/ktooltipitem.h84
1 files changed, 84 insertions, 0 deletions
diff --git a/src/tooltips/ktooltipitem.h b/src/tooltips/ktooltipitem.h
new file mode 100644
index 000000000..1d628d874
--- /dev/null
+++ b/src/tooltips/ktooltipitem.h
@@ -0,0 +1,84 @@
+/***************************************************************************
+ * Copyright (C) 2008 by Fredrik Höglund <[email protected]> *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
+ ***************************************************************************/
+
+#ifndef KTOOLTIPITEM_H
+#define KTOOLTIPITEM_H
+
+#include <QVariant>
+
+class QString;
+class QIcon;
+class QSize;
+class QPainter;
+class QRegion;
+
+class KToolTipItemPrivate;
+
+/**
+ * KToolTipItem contains the data to be displayed in a tooltip.
+ *
+ * Custom data can be stored as QVariants in the object by calling
+ * setData() with a custom item role, and retrieved and displayed
+ * by a tooltip delegate by calling data().
+ *
+ * The default tooltip delegate uses Qt::DecorationRole and
+ * Qt::DisplayRole.
+ *
+ * To display the tooltip, call KToolTip::showTip() with a pointer
+ * to the KToolTipItem.
+ *
+ * You can reimplement the setData() and/or data() methods in this
+ * class to implement on-demand loading of data.
+ */
+class KToolTipItem
+{
+public:
+ enum ItemType { DefaultType, UserType = 1000 };
+
+ /**
+ * Creates a KToolTipItem with @p text and no icon.
+ */
+ explicit KToolTipItem(const QString &text, int type = DefaultType);
+
+ /**
+ * Creates a KToolTipItem with an @p icon and @p text.
+ */
+ KToolTipItem(const QIcon &icon, const QString &text, int type = DefaultType);
+
+ /**
+ * Destroys the KToolTipItem.
+ */
+ virtual ~KToolTipItem();
+
+ /**
+ * Returns the item type.
+ */
+ int type() const;
+
+ QString text() const;
+ QIcon icon() const;
+
+ virtual QVariant data(int role) const;
+ virtual void setData(int role, const QVariant &data);
+
+private:
+ KToolTipItemPrivate * const d;
+};
+
+#endif