Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
TGStatusBar.h
Go to the documentation of this file.
1 // @(#)root/gui:$Id$
2 // Author: Fons Rademakers 23/01/98
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_TGStatusBar
13 #define ROOT_TGStatusBar
14 
15 
16 //////////////////////////////////////////////////////////////////////////
17 // //
18 // TGStatusBar //
19 // //
20 // Provides a StatusBar widget. //
21 // //
22 //////////////////////////////////////////////////////////////////////////
23 
24 #include "TGFrame.h"
25 
26 class TGStatusBarPart;
27 
28 
29 class TGStatusBar : public TGHorizontalFrame {
30 
31 friend class TGStatusBarPart;
32 
33 private:
34  TGStatusBar(const TGStatusBar&); // not implemented
35  TGStatusBar& operator=(const TGStatusBar&); // not implemented
36 
37 protected:
38  TGStatusBarPart **fStatusPart; // frames containing statusbar text
39  Int_t *fParts; // size of parts (in percent of total width)
40  Int_t fNpart; // number of parts
41  Int_t fYt; // y drawing position (depending on font)
42  Int_t *fXt; // x position for each part
43  Bool_t f3DCorner; // draw 3D corner (drawn by default)
44 
45  static const TGFont *fgDefaultFont;
46  static TGGC *fgDefaultGC;
47 
48  virtual void DoRedraw();
49 
50  static FontStruct_t GetDefaultFontStruct();
51  static const TGGC &GetDefaultGC();
52 
53 public:
54  TGStatusBar(const TGWindow *p = 0, UInt_t w = 4, UInt_t h = 2,
55  UInt_t options = kSunkenFrame | kHorizontalFrame,
56  Pixel_t back = GetDefaultFrameBackground());
57  virtual ~TGStatusBar();
58 
59  virtual void DrawBorder();
60  virtual void SetText(TGString *text, Int_t partidx = 0);
61  virtual void SetText(const char *text, Int_t partidx = 0);
62  void AddText(const char *text, Int_t partidx = 0)
63  { SetText(text, partidx); } //*MENU*
64  const char *GetText(Int_t partidx = 0) const;
65  virtual void SetParts(Int_t npart); //*MENU*
66  virtual void SetParts(Int_t *parts, Int_t npart);
67  void Draw3DCorner(Bool_t corner) { f3DCorner = corner; }
68  TGCompositeFrame *GetBarPart(Int_t npart) const;
69  TGDimension GetDefaultSize() const;
70 
71  virtual void SavePrimitive(std::ostream &out, Option_t *option = "");
72 
73  ClassDef(TGStatusBar,0) // Status bar widget
74 };
75 
76 #endif