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());