summaryrefslogtreecommitdiffstats
path: root/cervisia/tooltip.h
diff options
context:
space:
mode:
Diffstat (limited to 'cervisia/tooltip.h')
-rw-r--r--cervisia/tooltip.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/cervisia/tooltip.h b/cervisia/tooltip.h
new file mode 100644
index 00000000..fc0cd7be
--- /dev/null
+++ b/cervisia/tooltip.h
@@ -0,0 +1,75 @@
+/*
+ * Copyright (c) 2004-2007 André Wöbbeking <Woebbeking@kde.org>
+ *
+ * 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 CERVISIA_TOOLTIP_H
+#define CERVISIA_TOOLTIP_H
+
+
+#include <qobject.h>
+#include <qtooltip.h>
+
+
+namespace Cervisia
+{
+
+
+/**
+ * This class extends QToolTip:
+ * - no more need to subclass just connect to the signal queryToolTip()
+ * - truncate too large tooltip texts.
+ */
+class ToolTip : public QObject, public QToolTip
+{
+ Q_OBJECT
+
+public:
+
+ /**
+ * @param widget The widget you want to add tooltips to. It's also used as
+ * parent for the QObject. So you don't have to free an instance of this
+ * class yourself.
+ */
+ explicit ToolTip(QWidget* widget);
+
+signals:
+
+ /**
+ * This signal is emitted when a tooltip could be displayed. When a client
+ * wants to display anythink it must set a valid tooltip rectangle and a
+ * non empty text.
+ *
+ * @param pos The position of the tooltip in the parent widget's coordinate system.
+ *
+ * @param rect The rectangle in the parent widget's coordinate system where the
+ * tooltip is valid.
+ *
+ * @param text The tooltip text.
+ */
+ void queryToolTip(const QPoint& pos, QRect& rect, QString& text);
+
+protected:
+
+ virtual void maybeTip(const QPoint&);
+};
+
+
+} // namespace Cervisia
+
+
+#endif // CERVISIA_TOOLTIP_H