ROOT
6.10/00
Reference Guide
ROOT Home Page
Main Page
Tutorials
User's Classes
Namespaces
All Classes
Files
Release Notes
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
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
TGWidget::HasFocus
Bool_t HasFocus() const
Definition:
TGWidget.h:82
TGWidget::GetCommand
const char * GetCommand() const
Definition:
TGWidget.h:86
kTextCenterX
Definition:
TGWidget.h:36
TGWidget::TGWidget
TGWidget(Int_t id)
Definition:
TGWidget.h:76
TGWidget::TGWidget
TGWidget(const TGWidget &tgw)
Definition:
TGWidget.h:63
WidgetMessageTypes.h
BIT
#define BIT(n)
Definition:
Rtypes.h:75
TGWidget::operator=
TGWidget & operator=(const TGWidget &tgw)
Definition:
TGWidget.h:66
TGWidget::SetFlags
Int_t SetFlags(Int_t flags)
Definition:
TGWidget.h:70
TGWidget::IsEnabled
Bool_t IsEnabled() const
Definition:
TGWidget.h:81
TString
Basic string class.
Definition:
TString.h:129
Int_t
int Int_t
Definition:
RtypesCore.h:41
Bool_t
bool Bool_t
Definition:
RtypesCore.h:59
ETextJustification
ETextJustification
Definition:
TGWidget.h:33
TGWidget::fWidgetId
Int_t fWidgetId
Definition:
TGWidget.h:58
TString::Data
const char * Data() const
Definition:
TString.h:344
ClassDef
#define ClassDef(name, id)
Definition:
Rtypes.h:297
TGWidget::SetCommand
virtual void SetCommand(const char *command)
Definition:
TGWidget.h:85
kTextRight
Definition:
TGWidget.h:35
TGWidget::~TGWidget
virtual ~TGWidget()
Definition:
TGWidget.h:78
TGWidget::WantFocus
Bool_t WantFocus() const
Definition:
TGWidget.h:83
TGWidget::fMsgWindow
const TGWindow * fMsgWindow
Definition:
TGWidget.h:60
TGWindow
Definition:
TGWindow.h:32
TGWidget::fCommand
TString fCommand
Definition:
TGWidget.h:61
TGWidget::ClearFlags
Int_t ClearFlags(Int_t flags)
Definition:
TGWidget.h:71
kTextTop
Definition:
TGWidget.h:37
kTextCenterY
Definition:
TGWidget.h:39
TGWidget::Associate
virtual void Associate(const TGWindow *w)
Definition:
TGWidget.h:84
kTextBottom
Definition:
TGWidget.h:38
kWidgetHasFocus
Definition:
TGWidget.h:47
kWidgetIsEnabled
Definition:
TGWidget.h:48
kWidgetWantFocus
Definition:
TGWidget.h:46
GuiTypes.h
TGWidget::WidgetId
Int_t WidgetId() const
Definition:
TGWidget.h:80
TGString.h
TGWidget
Definition:
TGWidget.h:55
kTextLeft
Definition:
TGWidget.h:34
EWidgetStatus
EWidgetStatus
Definition:
TGWidget.h:45
TGWidget::fWidgetFlags
Int_t fWidgetFlags
Definition:
TGWidget.h:59
TGWidget::TGWidget
TGWidget()
Definition:
TGWidget.h:74