TSlider


class description - source file - inheritance tree

class TSlider : public TPad

    private:
TSlider TSlider(TSlider& org) TSlider& operator=(TSlider& rhs) public:
TSlider TSlider() TSlider TSlider(Text_t* name, Text_t* title, Coord_t x1, Coord_t y1, Coord_t x2, Coord_t y2, Color_t color = 16, Short_t bordersize = 2, Short_t bordermode = -1) virtual void ~TSlider() TClass* Class() Float_t GetMaximum() virtual const Text_t* GetMethod() Float_t GetMinimum() TObject* GetObject() virtual TClass* IsA() virtual void Paint(Option_t* option) virtual void SavePrimitive(ofstream& out, Option_t* option) virtual void SetMaximum(Float_t max = 1) virtual void SetMethod(Text_t* method) virtual void SetMinimum(Float_t min = 0) void SetObject(TObject* obj = 0) virtual void SetRange(Float_t xmin = 0, Float_t xmax = 1) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b)

Data Members

protected:
Float_t fMinimum Slider minimum value in [0,1] Float_t fMaximum Slider maximum value in [0,1] TObject* fObject Pointer to associated object TString fMethod command to be executed when slider is changed

Class Description

                                                                      
 TSlider                                                              
                                                                      
  A TSlider object is a specialized TPad including a TSliderBox object
  The TSliderBox can be moved in the pad.                             
  Slider drawing options include the possibility to change the slider 
  starting and ending positions or only one of them.                  
                                                                      
  The current slider position can be retrieved via the functions      
     TSlider::GetMinimum and TSlider::GetMaximum                      
  These two functions return numbers in the range [0,1].              
                                                                      
  if a method has been set (via SetMethod), the expression  is        
  executed via the interpreter when the button 1 is released.         
                                                                      
  if no method has been set, and an object is referenced (SetObject   
  has been called), while the slider is being moved/resized,          
  the object ExecuteEvent function is called.                         //                                                
                                                                      
  Example 1 using SetMethod    macro xyslider.C                       
  =========================                                           
{                                                                     
   //Example of macro featuring two sliders                           
   TFile *f = new TFile("hsimple.root");                              
   TH2F *hpxpy = (TH2F*)f->Get("hpxpy");                              
   TCanvas *c1 = new TCanvas("c1");                                   
   TPad *pad = new TPad("pad","lego pad",0.1,0.1,0.98,0.98);          
   pad->SetFillColor(33);                                             
   pad->Draw();                                                       
   pad->cd();                                                         
   gStyle->SetFrameFillColor(42);                                     
   hpxpy->SetFillColor(46);                                           
   hpxpy->Draw("lego1");                                              
   c1->cd();                                                          
                                                                      
   //Create two sliders in main canvas. When button1                  
   //of the mouse will be released, action.C will be called           
   TSlider *xslider = new TSlider("xslider","x",0.1,0.02,0.98,0.08);  
   xslider->SetMethod(".x action.C");                                 
   TSlider *yslider = new TSlider("yslider","y",0.02,0.1,0.06,0.98);  
   yslider->SetMethod(".x action.C");                                 
}                                                                     
                                                                      
            macro action.C                                            
{                                                                     
   Int_t nx = hpxpy->GetXaxis()->GetNbins();                          
   Int_t ny = hpxpy->GetYaxis()->GetNbins();                          
   Int_t binxmin = nx*xslider->GetMinimum();                          
   Int_t binxmax = nx*xslider->GetMaximum();                          
   hpxpy->GetXaxis()->SetRange(binxmin,binxmax);                      
   Int_t binymin = ny*yslider->GetMinimum();                          
   Int_t binymax = ny*yslider->GetMaximum();                          
   hpxpy->GetYaxis()->SetRange(binymin,binymax);                      
   pad->cd();                                                         
   hpxpy->Draw("lego1");                                              
   c1->Update();                                                      
}                                                                     
    The canvas and the sliders created in the above macro are shown   
    in the picture below.                                             
                                                            
/*

*/

                                                                      
  Example 2 using SetObject    macro xyslider.C                       
  =========================                                           
                                                                      
  Same example as above. Instead of SetMethod:                        
    Myclass *obj = new Myclass(); // Myclass derived from TObject     
    xslider->SetObject(obj);                                          
    yslider->SetObject(obj);                                          
                                                                      
    When the slider will be changed, MyClass::ExecuteEvent will be    
    called with px=0 and py = 0                                       


TSlider(): TPad()
*-*-*-*-*-*-*-*-*-*-*slider default constructor*-*-*-*-*-*-*-*-*-*-*-*-*
*-*                  ==========================

TSlider(const Text_t *name, const Text_t *title, Coord_t x1, Coord_t y1,Coord_t x2, Coord_t y2, Color_t color, Short_t bordersize, Short_t bordermode) :TPad(name,title,0.1,0.1,0.9,0.9,color,bordersize,bordermode)
*-*-*-*-*-*-*-*-*-*-*Slider normal constructor*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-*                  =========================

   x1,y1,x2,y2 are in pad user coordinates

~TSlider()
*-*-*-*-*-*-*-*-*-*-*slider default destructor*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-*                  =========================

void Paint(Option_t *option)
*-*-*-*-*-*-*-*-*-*-*Paint this slider with its current attributes*-*-*-*
*-*                  =============================================

void SavePrimitive(ofstream &out, Option_t *)
 Save primitive as a C++ statement(s) on output stream out

void SetRange(Float_t xmin, Float_t xmax)
*-*-*-*-*-*-*-*-*-*-*Set Slider range in [0,1]*-*-*-*-*
*-*                  =========================



Inline Functions


             TSlider& operator=(TSlider& rhs)
              TSlider TSlider(Text_t* name, Text_t* title, Coord_t x1, Coord_t y1, Coord_t x2, Coord_t y2, Color_t color = 16, Short_t bordersize = 2, Short_t bordermode = -1)
             TObject* GetObject()
              Float_t GetMinimum()
              Float_t GetMaximum()
        const Text_t* GetMethod()
                 void SetMethod(Text_t* method)
                 void SetObject(TObject* obj = 0)
                 void SetMinimum(Float_t min = 0)
                 void SetMaximum(Float_t max = 1)
              TClass* Class()
              TClass* IsA()
                 void ShowMembers(TMemberInspector& insp, char* parent)
                 void Streamer(TBuffer& b)


Author: Rene Brun 23/11/96
Last update: 2.20/05 15/12/98 09.17.22 by Rene Brun
Copyright (c) 1995-1999, The ROOT System, All rights reserved. *


ROOT page - Class index - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.