Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TGWidget.h
Go to the documentation of this file.
1// @(#)root/gui:$Id$
2// Author: Fons Rademakers 05/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_TGWidget
13#define ROOT_TGWidget
14
15
16//////////////////////////////////////////////////////////////////////////
17// //
18// TGWidget //
19// //
20// The widget base class. It is light weight (all inline service //
21// methods) and is typically used as mixin class (via multiple //
22// inheritance), see for example TGButton. //
23// //
24//////////////////////////////////////////////////////////////////////////
25
26#include "GuiTypes.h"
27#include "WidgetMessageTypes.h"
28#include "TString.h"
29
30//--- Text justification modes
31
38 kTextCenterY = BIT(5)
39};
40
41
42//--- Widget status
43
48};
49
50
51class TGWindow;
52
53class TGWidget {
54
55protected:
56 Int_t fWidgetId; // the widget id (used for event processing)
57 Int_t fWidgetFlags; // widget status flags (OR of EWidgetStatus)
58 const TGWindow *fMsgWindow; // window which handles widget events
59 TString fCommand; // command to be executed
60
61 TGWidget(const TGWidget& tgw):
65 if(this!=&tgw) {
67 fMsgWindow=tgw.fMsgWindow; fCommand=tgw.fCommand; } return *this; }
68 Int_t SetFlags(Int_t flags) { return fWidgetFlags |= flags; }
69 Int_t ClearFlags(Int_t flags) { return fWidgetFlags &= ~flags; }
70
71public:
73 fWidgetId(-1), fWidgetFlags(0), fMsgWindow(0), fCommand() { }
76 virtual ~TGWidget() { }
77
78 Int_t WidgetId() const { return fWidgetId; }
79 Bool_t IsEnabled() const { return (Bool_t)((fWidgetFlags & kWidgetIsEnabled) != 0); }
80 Bool_t HasFocus() const { return (Bool_t)((fWidgetFlags & kWidgetHasFocus) != 0); }
81 Bool_t WantFocus() const { return (Bool_t)((fWidgetFlags & kWidgetWantFocus) != 0); }
82 virtual void Associate(const TGWindow *w) { fMsgWindow = w; }
83 virtual void SetCommand(const char *command) { fCommand = command; }
84 const char *GetCommand() const { return fCommand.Data(); }
85
86 ClassDef(TGWidget,0) // Widget base class
87};
88
89#endif
#define ClassDef(name, id)
Definition Rtypes.h:325
#define BIT(n)
Definition Rtypes.h:85
ETextJustification
Definition TGWidget.h:32
@ kTextCenterX
Definition TGWidget.h:35
@ kTextLeft
Definition TGWidget.h:33
@ kTextBottom
Definition TGWidget.h:37
@ kTextTop
Definition TGWidget.h:36
@ kTextRight
Definition TGWidget.h:34
@ kTextCenterY
Definition TGWidget.h:38
EWidgetStatus
Definition TGWidget.h:44
@ kWidgetIsEnabled
Definition TGWidget.h:47
@ kWidgetWantFocus
Definition TGWidget.h:45
@ kWidgetHasFocus
Definition TGWidget.h:46
XFontStruct * id
Definition TGX11.cxx:109
Int_t fWidgetId
Definition TGWidget.h:56
virtual void Associate(const TGWindow *w)
Definition TGWidget.h:82
TGWidget(Int_t id)
Definition TGWidget.h:74
TString fCommand
Definition TGWidget.h:59
const char * GetCommand() const
Definition TGWidget.h:84
Bool_t HasFocus() const
Definition TGWidget.h:80
Int_t ClearFlags(Int_t flags)
Definition TGWidget.h:69
virtual ~TGWidget()
Definition TGWidget.h:76
Int_t fWidgetFlags
Definition TGWidget.h:57
Int_t SetFlags(Int_t flags)
Definition TGWidget.h:68
TGWidget()
Definition TGWidget.h:72
const TGWindow * fMsgWindow
Definition TGWidget.h:58
Bool_t IsEnabled() const
Definition TGWidget.h:79
TGWidget & operator=(const TGWidget &tgw)
Definition TGWidget.h:64
TGWidget(const TGWidget &tgw)
Definition TGWidget.h:61
virtual void SetCommand(const char *command)
Definition TGWidget.h:83
Int_t WidgetId() const
Definition TGWidget.h:78
Bool_t WantFocus() const
Definition TGWidget.h:81
Basic string class.
Definition TString.h:136
const char * Data() const
Definition TString.h:369