ROOT
git-r3/HEAD
Reference Guide
Loading...
Searching...
No Matches
TGuiBldGeometryFrame.cxx
Go to the documentation of this file.
1
// @(#)root/guibuilder:$Id$
2
// Author: Valeriy Onuchin, Lucie Flekova 12/09/04
3
4
/*************************************************************************
5
* Copyright (C) 1995-2004, 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
#include "
TGuiBldEditor.h
"
13
#include "
TGuiBldHintsEditor.h
"
14
#include "
TGuiBldNameFrame.h
"
15
#include "
TGResourcePool.h
"
16
#include "
TGLabel.h
"
17
#include "
TGButtonGroup.h
"
18
#include "
TGNumberEntry.h
"
19
#include "
TG3DLine.h
"
20
#include "
TGuiBldGeometryFrame.h
"
21
#include "
TRootGuiBuilder.h
"
22
#include "
TGuiBldDragManager.h
"
23
#include "
TGFrame.h
"
24
25
/** \class TGuiBldGeometryFrame
26
\ingroup guibuilder
27
*/
28
29
30
////////////////////////////////////////////////////////////////////////////////
31
/// Constructor.
32
33
TGuiBldGeometryFrame::TGuiBldGeometryFrame
(
const
TGWindow
*p,
TGuiBldEditor
*ed)
34
:
TGVerticalFrame
(p, 1, 1)
35
{
36
fEditor
= ed;
37
fBuilder
= (
TRootGuiBuilder
*)
TRootGuiBuilder::Instance
();
38
fDragManager
= (
TGuiBldDragManager
*)
gDragManager
;
39
fSelected
=
fEditor
->GetSelected();
40
fEditDisabled
= 1;
41
SetCleanup
(
kDeepCleanup
);
42
43
TGGroupFrame
*fGroupFrame =
new
TGGroupFrame
(
this
,
"Size"
);
44
45
TGHorizontalFrame
*hf =
new
TGHorizontalFrame
(fGroupFrame);
46
47
hf->
AddFrame
(
new
TGLabel
(hf,
" Width "
),
new
TGLayoutHints
(
kLHintsLeft
|
48
kLHintsCenterY
, 2, 2, 2, 2));
49
fNEWidth
=
new
TGNumberEntry
(hf, 0.0, 4, -1, (
TGNumberFormat::EStyle
)5);
50
hf->
AddFrame
(
fNEWidth
,
new
TGLayoutHints
(
kLHintsLeft
|
kLHintsCenterY
,
51
2, 2, 2, 2));
52
53
hf->
AddFrame
(
new
TGLabel
(hf,
" Height "
),
new
TGLayoutHints
(
kLHintsLeft
|
54
kLHintsCenterY
, 2, 2, 2, 2));
55
fNEHeight
=
new
TGNumberEntry
(hf, 0.0, 4, -1, (
TGNumberFormat::EStyle
)5);
56
hf->
AddFrame
(
fNEHeight
,
new
TGLayoutHints
(
kLHintsLeft
|
kLHintsCenterY
,
57
2, 2, 2, 2));
58
59
fGroupFrame->
AddFrame
(hf,
new
TGLayoutHints
(
kLHintsExpandX
|
kLHintsExpandY
,
60
0, 0, 5, 0));
61
62
AddFrame
(fGroupFrame,
new
TGLayoutHints
(
kLHintsExpandX
|
kLHintsTop
));
63
64
fNEWidth
->GetNumberEntry()->Connect(
"ReturnPressed()"
,
"TGuiBldGeometryFrame"
,
65
this
,
"ResizeSelected()"
);
66
fNEWidth
->Connect(
"ValueSet(Long_t)"
,
"TGuiBldGeometryFrame"
,
this
,
67
"ResizeSelected()"
);
68
fNEHeight
->GetNumberEntry()->Connect(
"ReturnPressed()"
,
"TGuiBldGeometryFrame"
,
69
this
,
"ResizeSelected()"
);
70
fNEHeight
->Connect(
"ValueSet(Long_t)"
,
"TGuiBldGeometryFrame"
,
this
,
71
"ResizeSelected()"
);
72
73
if
(!
fSelected
) {
74
fNEWidth
->SetNumber(0);
75
fNEHeight
->SetNumber(0);
76
}
77
else
{
78
fNEWidth
->SetNumber(
fSelected
->GetWidth());
79
fNEHeight
->SetNumber(
fSelected
->GetHeight());
80
}
81
}
82
83
////////////////////////////////////////////////////////////////////////////////
84
/// Resize and redraw selected frame.
85
86
void
TGuiBldGeometryFrame::ResizeSelected
()
87
{
88
if
(!
fEditor
)
89
return
;
90
91
fSelected
=
fEditor
->GetSelected();
92
93
if
(!
fSelected
)
94
return
;
95
96
Int_t
w =
fNEWidth
->GetIntNumber();
97
Int_t
h
=
fNEHeight
->GetIntNumber();
98
99
if
((w > 0) && (
h
> 0)) {
100
fSelected
->MoveResize(
fSelected
->GetX(),
fSelected
->GetY(), w,
h
);
101
fClient
->NeedRedraw(
fSelected
,
kTRUE
);
102
TGWindow
*root = (
TGWindow
*)
fClient
->GetRoot();
103
fClient
->NeedRedraw(root,
kTRUE
);
104
fDragManager
->DrawGrabRectangles(
fSelected
);
105
if
(
fBuilder
) {
106
fClient
->NeedRedraw(
fBuilder
,
kTRUE
);
107
}
108
}
else
{
109
fNEWidth
->SetNumber(
fSelected
->GetWidth());
110
fNEHeight
->SetNumber(
fSelected
->GetHeight());
111
}
112
}
113
114
////////////////////////////////////////////////////////////////////////////////
115
/// Update number entries when new frame selected.
116
117
void
TGuiBldGeometryFrame::ChangeSelected
(
TGFrame
*frame)
118
{
119
if
(!frame) {
120
fNEWidth
->SetNumber(0);
121
fNEHeight
->SetNumber(0);
122
}
else
{
123
fNEWidth
->SetNumber(frame->
GetWidth
());
124
fNEHeight
->SetNumber(frame->
GetHeight
());
125
}
126
}
127
128
h
#define h(i)
Definition
RSha256.hxx:106
Int_t
int Int_t
Signed integer 4 bytes (int).
Definition
RtypesCore.h:59
kTRUE
constexpr Bool_t kTRUE
Definition
RtypesCore.h:107
TG3DLine.h
TGButtonGroup.h
TGFrame.h
kDeepCleanup
@ kDeepCleanup
Definition
TGFrame.h:42
TGLabel.h
kLHintsExpandY
@ kLHintsExpandY
Definition
TGLayout.h:31
kLHintsLeft
@ kLHintsLeft
Definition
TGLayout.h:24
kLHintsCenterY
@ kLHintsCenterY
Definition
TGLayout.h:28
kLHintsTop
@ kLHintsTop
Definition
TGLayout.h:27
kLHintsExpandX
@ kLHintsExpandX
Definition
TGLayout.h:30
TGNumberEntry.h
TGResourcePool.h
TGuiBldDragManager.h
TGuiBldEditor.h
TGuiBldGeometryFrame.h
TGuiBldHintsEditor.h
TGuiBldNameFrame.h
TRootGuiBuilder.h
gDragManager
externTVirtualDragManager * gDragManager
Definition
TVirtualDragManager.h:76
TGCompositeFrame::AddFrame
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=nullptr)
Add frame to the composite frame using the specified layout hints.
Definition
TGFrame.cxx:1109
TGCompositeFrame::SetCleanup
void SetCleanup(Int_t mode=kLocalCleanup) override
Turn on automatic cleanup of child frames in dtor.
Definition
TGFrame.cxx:1064
TGFrame::TGFrame
TGFrame(const TGFrame &)=delete
TGFrame::GetHeight
UInt_t GetHeight() const
Definition
TGFrame.h:227
TGFrame::GetWidth
UInt_t GetWidth() const
Definition
TGFrame.h:226
TGGroupFrame
A composite frame with a border and a title.
Definition
TGFrame.h:532
TGHorizontalFrame
A composite frame that layout their children in horizontal way.
Definition
TGFrame.h:387
TGLabel
This class handles GUI labels.
Definition
TGLabel.h:24
TGLayoutHints
This class describes layout hints used by the layout classes.
Definition
TGLayout.h:50
TGNumberEntry
TGNumberEntry is a number entry input widget with up/down buttons.
Definition
TGNumberEntry.h:148
TGNumberFormat::EStyle
EStyle
Definition
TGNumberEntry.h:24
TGObject::fClient
TGClient * fClient
Connection to display server.
Definition
TGObject.h:25
TGVerticalFrame::TGVerticalFrame
TGVerticalFrame(const TGWindow *p=nullptr, UInt_t w=1, UInt_t h=1, UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground())
Definition
TGFrame.h:378
TGWindow
ROOT GUI Window base class.
Definition
TGWindow.h:23
TGWindow::fEditDisabled
UInt_t fEditDisabled
flags used for "guibuilding"
Definition
TGWindow.h:32
TGuiBldEditor
The property editor.
Definition
TGuiBldEditor.h:32
TGuiBldGeometryFrame::fBuilder
TRootGuiBuilder * fBuilder
Definition
TGuiBldGeometryFrame.h:33
TGuiBldGeometryFrame::fEditor
TGuiBldEditor * fEditor
Definition
TGuiBldGeometryFrame.h:32
TGuiBldGeometryFrame::ResizeSelected
void ResizeSelected()
Resize and redraw selected frame.
Definition
TGuiBldGeometryFrame.cxx:86
TGuiBldGeometryFrame::TGuiBldDragManager
friend class TGuiBldDragManager
Definition
TGuiBldGeometryFrame.h:29
TGuiBldGeometryFrame::fSelected
TGFrame * fSelected
Definition
TGuiBldGeometryFrame.h:37
TGuiBldGeometryFrame::fNEWidth
TGNumberEntry * fNEWidth
Definition
TGuiBldGeometryFrame.h:35
TGuiBldGeometryFrame::fNEHeight
TGNumberEntry * fNEHeight
Definition
TGuiBldGeometryFrame.h:36
TGuiBldGeometryFrame::ChangeSelected
void ChangeSelected(TGFrame *frame)
Update number entries when new frame selected.
Definition
TGuiBldGeometryFrame.cxx:117
TGuiBldGeometryFrame::TGuiBldGeometryFrame
TGuiBldGeometryFrame(const TGWindow *p, TGuiBldEditor *editor)
Constructor.
Definition
TGuiBldGeometryFrame.cxx:33
TGuiBldGeometryFrame::fDragManager
TGuiBldDragManager * fDragManager
Definition
TGuiBldGeometryFrame.h:34
TGuiBuilder::Instance
static TGuiBuilder * Instance()
return an instance of TGuiBuilder object
Definition
TGuiBuilder.cxx:137
TRootGuiBuilder
Definition
TRootGuiBuilder.h:59
gui
guibuilder
src
TGuiBldGeometryFrame.cxx
ROOTgit-r3/HEAD - Reference Guide Generated on
(GVA Time) using Doxygen 1.16.1