1 /****************************************************************************
2 ** $Id: qt/qwhatsthis.h   3.3.8   edited Jan 11 14:39 $
3 **
4 ** Definition of QWhatsThis class
5 **
6 ** Copyright (C) 1992-2007 Trolltech ASA.  All rights reserved.
7 **
8 ** This file is part of the widgets module of the Qt GUI Toolkit.
9 **
10 ** This file may be distributed under the terms of the Q Public License
11 ** as defined by Trolltech ASA of Norway and appearing in the file
12 ** LICENSE.QPL included in the packaging of this file.
13 **
14 ** This file may be distributed and/or modified under the terms of the
15 ** GNU General Public License version 2 as published by the Free Software
16 ** Foundation and appearing in the file LICENSE.GPL included in the
17 ** packaging of this file.
18 **
19 ** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
20 ** licenses may use this file in accordance with the Qt Commercial License
21 ** Agreement provided with the Software.
22 **
23 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
24 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
25 **
26 ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
27 **   information about Qt Commercial License Agreements.
28 ** See http://www.trolltech.com/qpl/ for QPL licensing information.
29 ** See http://www.trolltech.com/gpl/ for GPL licensing information.
30 **
31 ** Contact info@trolltech.com if any conditions of this licensing are
32 ** not clear to you.
33 **
34 **********************************************************************/
35 
36 #ifndef QWHATSTHIS_H
37 #define QWHATSTHIS_H
38 
39 #ifndef QT_H
40 #include "qobject.h"
41 #endif // QT_H
42 
43 #ifndef QT_NO_WHATSTHIS
44 
45 #include "qcursor.h"
46 
47 class QToolButton;
48 class QPopupMenu;
49 class QStyleSheet;
50 
51 class Q_EXPORT QWhatsThis: public Qt
52 {
53 public:
54     QWhatsThis( QWidget *);
55     virtual ~QWhatsThis();
56 
57     virtual QString text( const QPoint & );
58     virtual bool clicked( const QString& href );
59 
60     // the common static functions
61     static void setFont( const QFont &font );
62 
63     static void add( QWidget *, const QString &);
64     static void remove( QWidget * );
65     static QString textFor( QWidget *, const QPoint & pos = QPoint(), bool includeParents = FALSE );
66 
67     static QToolButton * whatsThisButton( QWidget * parent );
68 
69     static void enterWhatsThisMode();
70     static bool inWhatsThisMode();
71     static void leaveWhatsThisMode( const QString& = QString::null, const QPoint& pos = QCursor::pos(), QWidget* w = 0 );
72 
73     static void display( const QString& text, const QPoint& pos = QCursor::pos(), QWidget* w = 0 );
74 };
75 
76 #endif // QT_NO_WHATSTHIS
77 
78 #endif // QWHATSTHIS_H
79