37 ClassImp(TFrameEditor);
48 TFrameEditor::TFrameEditor(
const TGWindow *p, Int_t width,
49 Int_t height, UInt_t options, Pixel_t back)
50 : TGedFrame(p, width, height, options | kVerticalFrame, back)
52 TGCompositeFrame *f2 =
new TGCompositeFrame(
this, 80, 20, kHorizontalFrame);
53 TGButtonGroup *bgr =
new TGButtonGroup(f2,3,1,3,0,
"Frame Border Mode");
54 bgr->SetRadioButtonExclusive(kTRUE);
55 fBmode =
new TGRadioButton(bgr,
" Sunken", 77);
56 fBmode->SetToolTipText(
"Set a sunken border of the frame");
57 fBmode0 =
new TGRadioButton(bgr,
" No border", 78);
58 fBmode0->SetToolTipText(
"Set no border of the frame");
59 fBmode1 =
new TGRadioButton(bgr,
" Raised", 79);
60 fBmode1->SetToolTipText(
"Set a raised border of the frame");
61 bgr->SetButton(79, kTRUE);
62 fBmodelh =
new TGLayoutHints(kLHintsLeft, 0,0,3,0);
63 bgr->SetLayoutHints(fBmodelh, fBmode);
65 bgr->ChangeOptions(kFitWidth|kChildFrame|kVerticalFrame);
66 f2->AddFrame(bgr,
new TGLayoutHints(kLHintsCenterY | kLHintsLeft, 4, 1, 0, 0));
67 AddFrame(f2,
new TGLayoutHints(kLHintsTop, 1, 1, 0, 0));
69 TGCompositeFrame *f3 =
new TGCompositeFrame(
this, 80, 20, kHorizontalFrame);
70 TGLabel *fSizeLbl =
new TGLabel(f3,
"Size:");
71 f3->AddFrame(fSizeLbl,
new TGLayoutHints(kLHintsCenterY | kLHintsLeft, 6, 1, 0, 0));
72 fBsize =
new TGLineWidthComboBox(f3, kFR_BSIZE);
73 fBsize->Resize(92, 20);
74 f3->AddFrame(fBsize,
new TGLayoutHints(kLHintsLeft, 13, 1, 0, 0));
75 fBsize->Associate(
this);
76 AddFrame(f3,
new TGLayoutHints(kLHintsTop, 1, 1, 0, 0));
82 TFrameEditor::~TFrameEditor()
94 void TFrameEditor::ConnectSignals2Slots()
96 fBmode->Connect(
"Toggled(Bool_t)",
"TFrameEditor",
this,
"DoBorderMode()");
97 fBmode0->Connect(
"Toggled(Bool_t)",
"TFrameEditor",
this,
"DoBorderMode()");
98 fBmode1->Connect(
"Toggled(Bool_t)",
"TFrameEditor",
this,
"DoBorderMode()");
99 fBsize->Connect(
"Selected(Int_t)",
"TFrameEditor",
this,
"DoBorderSize(Int_t)");
107 void TFrameEditor::SetModel(TObject* obj)
109 fFrame = (TFrame *)obj;
113 par = fFrame->GetBorderMode();
114 if (par == -1) fBmode->SetState(kButtonDown, kTRUE);
115 else if (par == 1) fBmode1->SetState(kButtonDown, kTRUE);
116 else fBmode0->SetState(kButtonDown, kTRUE);
118 par = fFrame->GetBorderSize();
119 if (par < 1) par = 1;
120 if (par > 16) par = 16;
121 fBsize->Select(par, kFALSE);
123 if (fInit) ConnectSignals2Slots();
129 void TFrameEditor::DoBorderMode()
132 if (fBmode->GetState() == kButtonDown) mode = -1;
133 else if (fBmode0->GetState() == kButtonDown) mode = 0;
137 fBsize->SetEnabled(kFALSE);
139 fBsize->SetEnabled(kTRUE);
141 fFrame->SetBorderMode(mode);
150 void TFrameEditor::DoBorderSize(Int_t size)
152 fFrame->SetBorderSize(size);