ROOT
6.18/05
Reference Guide
gui
gui
inc
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 "
TGString.h
"
28
#include "
WidgetMessageTypes.h
"
29
30
31
//--- Text justification modes
32
33
enum
ETextJustification
{
34
kTextLeft
=
BIT
(0),
35
kTextRight
=
BIT
(1),
36
kTextCenterX
=
BIT
(2),
37
kTextTop
=
BIT
(3),
38
kTextBottom
=
BIT
(4),
39
kTextCenterY
=
BIT
(5)
40
};
41
42
43
//--- Widget status
44
45
enum
EWidgetStatus
{
46
kWidgetWantFocus
=
BIT
(0),
47
kWidgetHasFocus
=
BIT
(1),
48
kWidgetIsEnabled
=
BIT
(2)
49
};
50
51
52
class
TGWindow
;
53
54
55
class
TGWidget
{
56
57
protected
:
58
Int_t
fWidgetId
;
// the widget id (used for event processing)
59
Int_t
fWidgetFlags
;
// widget status flags (OR of EWidgetStatus)
60
const
TGWindow
*
fMsgWindow
;
// window which handles widget events
61
TString
fCommand
;
// command to be executed
62
63
TGWidget
(
const
TGWidget
& tgw):
64
fWidgetId
(tgw.
fWidgetId
),
fWidgetFlags
(tgw.
fWidgetFlags
),
65
fMsgWindow
(tgw.
fMsgWindow
),
fCommand
(tgw.
fCommand
) { }
66
TGWidget
&
operator=
(
const
TGWidget
& tgw) {
67
if
(
this
!=&tgw) {
68
fWidgetId
=tgw.
fWidgetId
;
fWidgetFlags
=tgw.
fWidgetFlags
;
69
fMsgWindow
=tgw.
fMsgWindow
;
fCommand
=tgw.
fCommand
; }
return
*
this
; }
70
Int_t
SetFlags
(
Int_t
flags) {
return
fWidgetFlags
|= flags; }
71
Int_t
ClearFlags
(
Int_t
flags) {
return
fWidgetFlags
&= ~flags; }
72
73
public
:
74
TGWidget
():
75
fWidgetId
(-1),
fWidgetFlags
(0),
fMsgWindow
(0),
fCommand
() { }
76
TGWidget
(
Int_t
id
):
77
fWidgetId
(
id
),
fWidgetFlags
(0),
fMsgWindow
(0),
fCommand
() { }
78
virtual
~TGWidget
() { }
79
80
Int_t
WidgetId
()
const
{
return
fWidgetId
; }
81
Bool_t
IsEnabled
()
const
{
return
(
Bool_t
)((
fWidgetFlags
&
kWidgetIsEnabled
) != 0); }
82
Bool_t
HasFocus
()
const
{
return
(
Bool_t
)((
fWidgetFlags
&
kWidgetHasFocus
) != 0); }
83
Bool_t
WantFocus
()
const
{
return
(
Bool_t
)((
fWidgetFlags
&
kWidgetWantFocus
) != 0); }
84
virtual
void
Associate
(
const
TGWindow
*w) {
fMsgWindow
= w; }
85
virtual
void
SetCommand
(
const
char
*command) {
fCommand
= command; }
86
const
char
*
GetCommand
()
const
{
return
fCommand
.
Data
(); }
87
88
ClassDef
(
TGWidget
,0)
// Widget base class
89
};
90
91
#endif
GuiTypes.h
Int_t
int Int_t
Definition:
RtypesCore.h:41
Bool_t
bool Bool_t
Definition:
RtypesCore.h:59
ClassDef
#define ClassDef(name, id)
Definition:
Rtypes.h:326
BIT
#define BIT(n)
Definition:
Rtypes.h:83
TGString.h
ETextJustification
ETextJustification
Definition:
TGWidget.h:33
kTextCenterX
@ kTextCenterX
Definition:
TGWidget.h:36
kTextLeft
@ kTextLeft
Definition:
TGWidget.h:34
kTextBottom
@ kTextBottom
Definition:
TGWidget.h:38
kTextTop
@ kTextTop
Definition:
TGWidget.h:37
kTextRight
@ kTextRight
Definition:
TGWidget.h:35
kTextCenterY
@ kTextCenterY
Definition:
TGWidget.h:39
EWidgetStatus
EWidgetStatus
Definition:
TGWidget.h:45
kWidgetIsEnabled
@ kWidgetIsEnabled
Definition:
TGWidget.h:48
kWidgetWantFocus
@ kWidgetWantFocus
Definition:
TGWidget.h:46
kWidgetHasFocus
@ kWidgetHasFocus
Definition:
TGWidget.h:47
id
XFontStruct * id
Definition:
TGX11.cxx:108
WidgetMessageTypes.h
TGWidget
Definition:
TGWidget.h:55
TGWidget::fWidgetId
Int_t fWidgetId
Definition:
TGWidget.h:58
TGWidget::Associate
virtual void Associate(const TGWindow *w)
Definition:
TGWidget.h:84
TGWidget::TGWidget
TGWidget(Int_t id)
Definition:
TGWidget.h:76
TGWidget::fCommand
TString fCommand
Definition:
TGWidget.h:61
TGWidget::GetCommand
const char * GetCommand() const
Definition:
TGWidget.h:86
TGWidget::HasFocus
Bool_t HasFocus() const
Definition:
TGWidget.h:82
TGWidget::ClearFlags
Int_t ClearFlags(Int_t flags)
Definition:
TGWidget.h:71
TGWidget::~TGWidget
virtual ~TGWidget()
Definition:
TGWidget.h:78
TGWidget::fWidgetFlags
Int_t fWidgetFlags
Definition:
TGWidget.h:59
TGWidget::SetFlags
Int_t SetFlags(Int_t flags)
Definition:
TGWidget.h:70
TGWidget::TGWidget
TGWidget()
Definition:
TGWidget.h:74
TGWidget::fMsgWindow
const TGWindow * fMsgWindow
Definition:
TGWidget.h:60
TGWidget::IsEnabled
Bool_t IsEnabled() const
Definition:
TGWidget.h:81
TGWidget::operator=
TGWidget & operator=(const TGWidget &tgw)
Definition:
TGWidget.h:66
TGWidget::TGWidget
TGWidget(const TGWidget &tgw)
Definition:
TGWidget.h:63
TGWidget::SetCommand
virtual void SetCommand(const char *command)
Definition:
TGWidget.h:85
TGWidget::WidgetId
Int_t WidgetId() const
Definition:
TGWidget.h:80
TGWidget::WantFocus
Bool_t WantFocus() const
Definition:
TGWidget.h:83
TGWindow
Definition:
TGWindow.h:32
TString
Basic string class.
Definition:
TString.h:131
TString::Data
const char * Data() const
Definition:
TString.h:364