28 ClassImp(TGuiBldGeometryFrame);
33 TGuiBldGeometryFrame::TGuiBldGeometryFrame(
const TGWindow *p, TGuiBldEditor *ed)
34 : TGVerticalFrame(p, 1, 1)
37 fBuilder = (TRootGuiBuilder*)TRootGuiBuilder::Instance();
38 fDragManager = (TGuiBldDragManager *)gDragManager;
39 fSelected = fEditor->GetSelected();
41 SetCleanup(kDeepCleanup);
43 TGGroupFrame *fGroupFrame =
new TGGroupFrame(
this,
"Size");
45 TGHorizontalFrame *hf =
new TGHorizontalFrame(fGroupFrame);
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,
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,
59 fGroupFrame->AddFrame(hf,
new TGLayoutHints(kLHintsExpandX | kLHintsExpandY,
62 AddFrame(fGroupFrame,
new TGLayoutHints(kLHintsExpandX | kLHintsTop));
64 fNEWidth->GetNumberEntry()->Connect(
"ReturnPressed()",
"TGuiBldGeometryFrame",
65 this,
"ResizeSelected()");
66 fNEWidth->Connect(
"ValueSet(Long_t)",
"TGuiBldGeometryFrame",
this,
68 fNEHeight->GetNumberEntry()->Connect(
"ReturnPressed()",
"TGuiBldGeometryFrame",
69 this,
"ResizeSelected()");
70 fNEHeight->Connect(
"ValueSet(Long_t)",
"TGuiBldGeometryFrame",
this,
74 fNEWidth->SetNumber(0);
75 fNEHeight->SetNumber(0);
78 fNEWidth->SetNumber(fSelected->GetWidth());
79 fNEHeight->SetNumber(fSelected->GetHeight());
86 void TGuiBldGeometryFrame::ResizeSelected()
91 fSelected = fEditor->GetSelected();
96 Int_t w = fNEWidth->GetIntNumber();
97 Int_t h = fNEHeight->GetIntNumber();
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);
106 fClient->NeedRedraw(fBuilder, kTRUE);
109 fNEWidth->SetNumber(fSelected->GetWidth());
110 fNEHeight->SetNumber(fSelected->GetHeight());
117 void TGuiBldGeometryFrame::ChangeSelected(TGFrame *frame)
120 fNEWidth->SetNumber(0);
121 fNEHeight->SetNumber(0);
123 fNEWidth->SetNumber(frame->GetWidth());
124 fNEHeight->SetNumber(frame->GetHeight());