50 kSliderHeight = kSliderWidth
61 kScaleDownRight = BIT(3),
66 class TGSlider :
public TGFrame,
public TGWidget {
76 const TGPicture *fSliderPic;
77 const TGPicture *fDisabledPic;
79 TString GetTypeString()
const;
80 virtual void CreateDisabledPicture();
83 TGSlider(
const TGSlider&);
84 TGSlider& operator=(
const TGSlider&);
87 TGSlider(
const TGWindow *p = 0, UInt_t w = 1, UInt_t h = 1,
88 UInt_t type = kSlider1 | kScaleBoth, Int_t
id = -1,
89 UInt_t options = kChildFrame,
90 Pixel_t back = GetDefaultFrameBackground());
92 virtual ~TGSlider() { }
94 virtual Bool_t HandleButton(Event_t *event) = 0;
95 virtual Bool_t HandleConfigureNotify(Event_t* event) = 0;
96 virtual Bool_t HandleMotion(Event_t *event) = 0;
98 virtual void SetEnabled(Bool_t flag = kTRUE) { SetState( flag ); }
99 virtual void SetState(Bool_t state);
100 virtual void SetScale(Int_t scale) { fScale = scale; }
101 virtual void SetRange(Int_t min, Int_t max) {
102 if (max > min) { fVmin = min; fVmax = max; }
103 else Warning(
"SetRange",
"Incorrect range boundaries [%d,%d]", min, max);
105 virtual void SetPosition(Int_t pos) {
106 if ((pos >= fVmin) && (pos <= fVmax)) { fPos = pos; fClient->NeedRedraw(
this); }
107 else Warning(
"SetPosition",
"The position (%d) is out of range [%d,%d]", pos, fVmin, fVmax);
109 virtual Int_t GetPosition()
const {
return fPos; }
110 virtual Int_t GetMinPosition()
const {
return fVmin; }
111 virtual Int_t GetMaxPosition()
const {
return fVmax; }
112 virtual Int_t GetScale()
const {
return fScale; }
113 virtual void MapSubwindows() { TGWindow::MapSubwindows(); }
114 virtual void ChangeSliderPic(
const char *name) {
115 if (fSliderPic) fClient->FreePicture(fSliderPic);
116 fSliderPic = fClient->GetPicture(name);
119 virtual void PositionChanged(Int_t pos) { Emit(
"PositionChanged(Int_t)", pos); }
120 virtual void Pressed() { Emit(
"Pressed()"); }
121 virtual void Released() { Emit(
"Released()"); }
127 class TGVSlider :
public TGSlider {
132 virtual void DoRedraw();
135 TGVSlider(
const TGWindow *p = 0, UInt_t h = 40,
136 UInt_t type = kSlider1 | kScaleBoth, Int_t
id = -1,
137 UInt_t options = kVerticalFrame,
138 Pixel_t back = GetDefaultFrameBackground());
139 virtual ~TGVSlider();
141 virtual Bool_t HandleButton(Event_t *event);
142 virtual Bool_t HandleConfigureNotify(Event_t* event);
143 virtual Bool_t HandleMotion(Event_t *event);
144 virtual TGDimension GetDefaultSize()
const
145 {
return TGDimension(kSliderWidth, fHeight); }
146 virtual void Resize(UInt_t w, UInt_t h) { TGFrame::Resize(w, h ? h+16 : fHeight + 16); }
147 virtual void Resize(TGDimension size) { Resize(size.fWidth, size.fHeight); }
148 virtual void SavePrimitive(std::ostream &out, Option_t *option =
"");
150 ClassDef(TGVSlider,0)
154 class TGHSlider :
public TGSlider {
159 virtual void DoRedraw();
162 TGHSlider(
const TGWindow *p = 0, UInt_t w = 40,
163 UInt_t type = kSlider1 | kScaleBoth, Int_t
id = -1,
164 UInt_t options = kHorizontalFrame,
165 Pixel_t back = GetDefaultFrameBackground());
166 virtual ~TGHSlider();
168 virtual Bool_t HandleButton(Event_t *event);
169 virtual Bool_t HandleConfigureNotify(Event_t* event);
170 virtual Bool_t HandleMotion(Event_t *event);
171 virtual TGDimension GetDefaultSize()
const
172 {
return TGDimension(fWidth, kSliderHeight); }
173 virtual void Resize(UInt_t w, UInt_t h) { TGFrame::Resize(w ? w+16 : fWidth + 16, h); }
174 virtual void Resize(TGDimension size) { Resize(size.fWidth, size.fHeight); }
175 virtual void SavePrimitive(std::ostream &out, Option_t *option =
"");
177 ClassDef(TGHSlider,0)