From d796c9dd933ab96ec83b9a634feedd5d32e1ba3f Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Tue, 8 Nov 2011 12:31:36 -0600 Subject: Test conversion to TQt3 from Qt3 8c6fc1f8e35fd264dd01c582ca5e7549b32ab731 --- doc/html/tooltip-example.html | 247 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 247 insertions(+) create mode 100644 doc/html/tooltip-example.html (limited to 'doc/html/tooltip-example.html') diff --git a/doc/html/tooltip-example.html b/doc/html/tooltip-example.html new file mode 100644 index 000000000..e69808869 --- /dev/null +++ b/doc/html/tooltip-example.html @@ -0,0 +1,247 @@ + + + + + +Advanced use of tool tips + + + + + + + +
+ +Home + | +All Classes + | +Main Classes + | +Annotated + | +Grouped Classes + | +Functions +

Advanced use of tool tips

+ + +

+This example widget demonstrates how to use tool tips for static and +dynamic regions within a widget. +

It displays two blue and one red rectangle. The blue ones move every +time you click on them, the red one is static. There are dynamic +tool tips on the blue rectangles and a static tool tip on the red one. +


+

Header file: +

/****************************************************************************
+** $Id: qt/tooltip.h   3.3.8   edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA.  All rights reserved.
+**
+** This file is part of an example program for TQt.  This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include <qwidget.h>
+#include <qtooltip.h>
+
+
+class DynamicTip : public TQToolTip
+{
+public:
+    DynamicTip( TQWidget * parent );
+
+protected:
+    void maybeTip( const TQPoint & );
+};
+
+
+class TellMe : public TQWidget
+{
+    Q_OBJECT
+public:
+    TellMe( TQWidget * parent = 0, const char * name = 0 );
+    ~TellMe();
+
+    TQRect tip( const TQPoint & );
+
+protected:
+    void paintEvent( TQPaintEvent * );
+    void mousePressEvent( TQMouseEvent * );
+    void resizeEvent( TQResizeEvent * );
+
+private:
+    TQRect randomRect();
+
+    TQRect r1, r2, r3;
+    DynamicTip * t;
+};
+
+ +


+

Implementation: +

/****************************************************************************
+** $Id: qt/tooltip.cpp   3.3.8   edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA.  All rights reserved.
+**
+** This file is part of an example program for TQt.  This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "tooltip.h"
+#include <qapplication.h>
+#include <qpainter.h>
+#include <stdlib.h>
+
+
+DynamicTip::DynamicTip( TQWidget * parent )
+    : TQToolTip( parent )
+{
+    // no explicit initialization needed
+}
+
+
+void DynamicTip::maybeTip( const TQPoint &pos )
+{
+    if ( !parentWidget()->inherits( "TellMe" ) )
+        return;
+
+    TQRect r( ((TellMe*)parentWidget())->tip(pos) );
+    if ( !r.isValid() )
+        return;
+
+    TQString s;
+    s.sprintf( "position: %d,%d", r.center().x(), r.center().y() );
+    tip( r, s );
+}
+
+
+TellMe::TellMe( TQWidget * parent , const char * name  )
+    : TQWidget( parent, name )
+{
+    setMinimumSize( 30, 30 );
+    r1 = randomRect();
+    r2 = randomRect();
+    r3 = randomRect();
+
+    t = new DynamicTip( this );
+
+    TQToolTip::add( this, r3, "this color is called red" ); // <- helpful
+}
+
+
+TellMe::~TellMe()
+{
+    delete t;
+    t = 0;
+}
+
+
+void TellMe::paintEvent( TQPaintEvent * e )
+{
+    TQPainter p( this );
+
+    // I try to be efficient here, and repaint only what's needed
+
+    if ( e->rect().intersects( r1 ) ) {
+        p.setBrush( blue );
+        p.drawRect( r1 );
+    }
+
+    if ( e->rect().intersects( r2 ) ) {
+        p.setBrush( blue );
+        p.drawRect( r2 );
+    }
+
+    if ( e->rect().intersects( r3 ) ) {
+        p.setBrush( red );
+        p.drawRect( r3 );
+    }
+}
+
+
+void TellMe::mousePressEvent( TQMouseEvent * e )
+{
+    if ( r1.contains( e->pos() ) )
+        r1 = randomRect();
+    if ( r2.contains( e->pos() ) )
+        r2 = randomRect();
+    repaint();
+}
+
+
+void TellMe::resizeEvent( TQResizeEvent * )
+{
+    if ( !rect().contains( r1 ) )
+         r1 = randomRect();
+    if ( !rect().contains( r2 ) )
+         r2 = randomRect();
+}
+
+
+TQRect TellMe::randomRect()
+{
+    return TQRect( ::rand() % (width() - 20), ::rand() % (height() - 20),
+                  20, 20 );
+}
+
+
+TQRect TellMe::tip( const TQPoint & p )
+{
+    if ( r1.contains( p ) )
+        return r1;
+    else if ( r2.contains( p ) )
+        return r2;
+    else
+        return TQRect( 0,0, -1,-1 );
+}
+
+ +


+

Main: +

/****************************************************************************
+** $Id: qt/main.cpp   3.3.8   edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA.  All rights reserved.
+**
+** This file is part of an example program for TQt.  This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include <qapplication.h>
+#include "tooltip.h"
+
+int main( int argc, char ** argv )
+{
+    TQApplication a( argc, argv );
+
+    TellMe mw;
+    mw.setCaption( "TQt Example - Dynamic Tool Tips" );
+    a.setMainWidget( &mw );
+    mw.show();
+
+    return a.exec();
+}
+
+ +

See also Examples. + + +


+ +
Copyright © 2007 +TrolltechTrademarks +
TQt 3.3.8
+
+ -- cgit v1.2.3