107 TSlider::TSlider(): TPad()
120 TSlider::TSlider(
const char *name,
const char *title, Double_t x1, Double_t y1,Double_t x2, Double_t y2, Color_t color, Short_t bordersize, Short_t bordermode)
121 :TPad(name,title,0.1,0.1,0.9,0.9,color,bordersize,bordermode)
125 Double_t x1pad = gPad->GetX1();
126 Double_t x2pad = gPad->GetX2();
127 Double_t y1pad = gPad->GetY1();
128 Double_t y2pad = gPad->GetY2();
129 Double_t xmin = (x1-x1pad)/(x2pad-x1pad);
130 Double_t ymin = (y1-y1pad)/(y2pad-y1pad);
131 Double_t xmax = (x2-x1pad)/(x2pad-x1pad);
132 Double_t ymax = (y2-y1pad)/(y2pad-y1pad);
133 SetPad(xmin,ymin,xmax,ymax);
143 Double_t dx = PixeltoX(bordersize);
144 Double_t dy = PixeltoY(-bordersize);
145 TSliderBox *sbox =
new TSliderBox(dx,dy,1-dx,1-dy,color,bordersize,-bordermode);
146 sbox->SetSlider(
this);
147 fPrimitives->Add(sbox);
161 void TSlider::Paint(Option_t *option)
169 void TSlider::SavePrimitive(std::ostream &out, Option_t * )
171 TPad *padsav = (TPad*)gPad;
173 if (gROOT->ClassSaved(TSlider::Class())) {
178 out<<
"slider = new TSlider("<<quote<<GetName()<<quote<<
", "<<quote<<GetTitle()
182 <<
","<<fXlowNDC+fWNDC
183 <<
","<<fYlowNDC+fHNDC
186 SaveFillAttributes(out,
"slider",0,1001);
187 SaveLineAttributes(out,
"slider",1,1,1);
189 if (GetBorderSize() != 2) {
190 out<<
" slider->SetBorderSize("<<GetBorderSize()<<
");"<<std::endl;
192 if (GetBorderMode() != -1) {
193 out<<
" slider->SetBorderMode("<<GetBorderMode()<<
");"<<std::endl;
195 Int_t lenMethod = strlen(GetMethod());
197 out<<
" slider->SetMethod("<<quote<<GetMethod()<<quote<<
");"<<std::endl;
200 out<<
" "<<padsav->GetName()<<
"->cd();"<<std::endl;
207 void TSlider::SetRange(Double_t xmin, Double_t xmax)
209 TSliderBox *sbox = (TSliderBox*)fPrimitives->FindObject(
"TSliderBox");
211 if (fAbsWNDC > fAbsHNDC) {