]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/Reve/RGValuators.h
Removed code for gled-like object editors (obsolete, somewhat decayed); fix effc...
[u/mrichter/AliRoot.git] / EVE / Reve / RGValuators.h
CommitLineData
5987168b 1// $Header$
2
3#ifndef REVE_RGValuators_H
4#define REVE_RGValuators_H
5
6#include <TGNumberEntry.h>
7
8class TGLabel;
9class TGHSlider;
10class TGDoubleHSlider;
11
12
13namespace Reve {
14
15class RGValuatorBase: public TGCompositeFrame
16{
17protected:
18 UInt_t fLabelWidth;
19 Bool_t fAlignRight;
20 Bool_t fShowSlider;
21
22 Int_t fNELength;
23 Int_t fNEHeight;
24
25 TGLabel* fLabel;
26
27public:
28 RGValuatorBase(const TGWindow *p, const char* title, UInt_t w, UInt_t h);
29 virtual ~RGValuatorBase() {}
30
31 virtual void Build() = 0;
32
33 void SetLabelWidth(Int_t w) { fLabelWidth = w; }
34 void SetAlignRight(Bool_t a) { fAlignRight = a; }
35 void SetShowSlider(Bool_t s=kTRUE) { fShowSlider = s; }
36
37 void SetNELength(Int_t l) { fNELength = l; }
38 void SetNEGeight(Int_t h) { fNEHeight = h; }
39
40 ClassDef(RGValuatorBase, 0);
41}; // endclass RGValuatorBase
42
43/**************************************************************************/
44
45class RGValuator: public RGValuatorBase
46{
47protected:
48 Float_t fValue;
49 Float_t fMin;
50 Float_t fMax;
51
52 Bool_t fSliderNewLine;
20d5c75e 53 Int_t fSliderDivs;
5987168b 54 TGNumberEntry* fEntry;
55 TGHSlider* fSlider;
20d5c75e 56
57 Int_t CalcSliderPos(Float_t v);
5987168b 58
59public:
60 RGValuator(const TGWindow *p, const char* title, UInt_t w, UInt_t h);
61 virtual ~RGValuator() {}
62
63 virtual void Build();
64
65 Float_t GetValue() const { return fValue; }
66 virtual void SetValue(Float_t v, Bool_t emit=kFALSE);
67
68 void SliderCallback();
69 void EntryCallback();
70 void ValueSet(Double_t); //*SIGNAL*
71
72 TGHSlider* GetSlider() { return fSlider; }
73 TGNumberEntry* GetEntry() { return fEntry; }
74
75 void SetSliderNewLine(Bool_t nl) { fSliderNewLine = nl; }
76
77 void SetLimits(Int_t min, Int_t max);
20d5c75e 78 void SetLimits(Float_t min, Float_t max, Int_t npos,
5987168b 79 TGNumberFormat::EStyle nef=TGNumberFormat::kNESRealTwo);
80
81 void SetToolTip(const Text_t* tip);
78cd2dc1 82 void SetEnabled(Bool_t state);
5987168b 83
84 ClassDef(RGValuator, 0);
85}; // endclass RGValuator
86
87/**************************************************************************/
88
89class RGDoubleValuator: public RGValuatorBase
90{
91protected:
92 TGNumberEntry* fMinEntry;
93 TGNumberEntry* fMaxEntry;
94 TGDoubleHSlider* fSlider;
95
96public:
97 RGDoubleValuator(const TGWindow *p, const char* title, UInt_t w, UInt_t h);
98 virtual ~RGDoubleValuator() {}
99
100 virtual void Build();
101
102 void MinEntryCallback();
103 void MaxEntryCallback();
104 void SliderCallback();
105 void ValueSet(); //*SIGNAL*
106
107 TGDoubleHSlider* GetSlider() { return fSlider; }
108 TGNumberEntry* GetMinEntry() { return fMinEntry; }
109 TGNumberEntry* GetMaxEntry() { return fMaxEntry; }
110
111 void SetLimits(Float_t min, Float_t max, TGNumberFormat::EStyle nef=TGNumberFormat::kNESRealTwo);
112 void SetValues(Float_t min, Float_t max, Bool_t emit=kFALSE);
113
114 void GetValues(Float_t& min, Float_t& max) const
115 { min = fMinEntry->GetNumber(); max = fMaxEntry->GetNumber(); }
116 Float_t GetMin() const { return fMinEntry->GetNumber(); }
117 Float_t GetMax() const { return fMaxEntry->GetNumber(); }
118
119 ClassDef(RGDoubleValuator, 0);
120}; // endclass RGDoubleValuator
121
122}
123
124#endif