ROOT logo
// @(#)root/gui:$Id$
// Author: Fons Rademakers   22/02/98

/*************************************************************************
 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#ifndef ROOT_TGToolTip
#define ROOT_TGToolTip


//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TGToolTip                                                            //
//                                                                      //
// A tooltip can be a one or multiple lines help text that is displayed //
// in a window when the mouse cursor overs a widget, without clicking   //
// it. A small box appears with suplementary information regarding the  //
// item being hovered over.                                             //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TGFrame
#include "TGFrame.h"
#endif

class TGLabel;
class TTimer;
class TVirtualPad;
class TBox;


class TGToolTip : public TGCompositeFrame {

private:
   TGLabel           *fLabel;   // help text
   TGLayoutHints     *fL1;      // layout used to place text in frame
   TTimer            *fDelay;   // popup delay timer
   const TGFrame     *fWindow;  // frame to which tool tip is associated
   const TVirtualPad *fPad;     // pad to which tooltip is associated
   const TBox        *fBox;     // box in pad to which tooltip is associated
   Int_t              fX;       // X position in fWindow where to popup
   Int_t              fY;       // Y position in fWindow where to popup

   TGToolTip(const TGToolTip&);             // not implemented
   TGToolTip& operator=(const TGToolTip&);  // not implemented

public:
   TGToolTip(const TGWindow *p = 0, const TGFrame *f = 0, const char *text = 0, Long_t delayms = 350);
   TGToolTip(const TGWindow *p, const TBox *b, const char *text, Long_t delayms);
   TGToolTip(const TBox *b, const char *text, Long_t delayms);
   TGToolTip(Int_t x, Int_t y, const char *text, Long_t delayms);
   virtual ~TGToolTip();

   virtual void DrawBorder();

   Bool_t HandleTimer(TTimer *t);
   void   Show(Int_t x, Int_t y);    //*SIGNAL*
   void   Hide();                    //*SIGNAL*
   void   Reset();                   //*SIGNAL*
   void   Reset(const TVirtualPad *parent);
   void   SetText(const char *new_text);
   void   SetPosition(Int_t x, Int_t y);
   void   SetDelay(Long_t delayms);
   const TGString *GetText() const;

   ClassDef(TGToolTip,0)  //One or multiple lines help text
};

#endif
 TGToolTip.h:1
 TGToolTip.h:2
 TGToolTip.h:3
 TGToolTip.h:4
 TGToolTip.h:5
 TGToolTip.h:6
 TGToolTip.h:7
 TGToolTip.h:8
 TGToolTip.h:9
 TGToolTip.h:10
 TGToolTip.h:11
 TGToolTip.h:12
 TGToolTip.h:13
 TGToolTip.h:14
 TGToolTip.h:15
 TGToolTip.h:16
 TGToolTip.h:17
 TGToolTip.h:18
 TGToolTip.h:19
 TGToolTip.h:20
 TGToolTip.h:21
 TGToolTip.h:22
 TGToolTip.h:23
 TGToolTip.h:24
 TGToolTip.h:25
 TGToolTip.h:26
 TGToolTip.h:27
 TGToolTip.h:28
 TGToolTip.h:29
 TGToolTip.h:30
 TGToolTip.h:31
 TGToolTip.h:32
 TGToolTip.h:33
 TGToolTip.h:34
 TGToolTip.h:35
 TGToolTip.h:36
 TGToolTip.h:37
 TGToolTip.h:38
 TGToolTip.h:39
 TGToolTip.h:40
 TGToolTip.h:41
 TGToolTip.h:42
 TGToolTip.h:43
 TGToolTip.h:44
 TGToolTip.h:45
 TGToolTip.h:46
 TGToolTip.h:47
 TGToolTip.h:48
 TGToolTip.h:49
 TGToolTip.h:50
 TGToolTip.h:51
 TGToolTip.h:52
 TGToolTip.h:53
 TGToolTip.h:54
 TGToolTip.h:55
 TGToolTip.h:56
 TGToolTip.h:57
 TGToolTip.h:58
 TGToolTip.h:59
 TGToolTip.h:60
 TGToolTip.h:61
 TGToolTip.h:62
 TGToolTip.h:63
 TGToolTip.h:64
 TGToolTip.h:65
 TGToolTip.h:66
 TGToolTip.h:67
 TGToolTip.h:68
 TGToolTip.h:69
 TGToolTip.h:70
 TGToolTip.h:71
 TGToolTip.h:72
 TGToolTip.h:73
 TGToolTip.h:74