ultimatepp/uppsrc/CtrlLib/SliderCtrl.h
mdelfede 024c03c51a new uvs2 releases : uppsrc-2586 tutorial-38 examples-141 reference-113
git-svn-id: svn://ultimatepp.org/upp/trunk@283 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2008-06-07 22:57:08 +00:00

43 lines
1.3 KiB
C++

class SliderCtrl : public Ctrl {
int value;
int min, max, step;
bool round_step;
int SliderToClient(int value) const;
int ClientToSlider(int x) const;
int HoVe(int x, int y) const;
int& HoVeR(int& x, int& y) const;
public:
typedef SliderCtrl CLASSNAME;
Callback WhenSlideFinish;
SliderCtrl();
virtual ~SliderCtrl();
virtual void Paint(Draw& draw);
virtual bool Key(dword key, int repcnt);
virtual void LeftDown(Point pos, dword keyflags);
virtual void LeftRepeat(Point pos, dword keyflags);
virtual void LeftUp(Point pos, dword keyflags);
virtual void MouseMove(Point pos, dword keyflags);
virtual void SetData(const Value& value);
virtual Value GetData() const;
void Inc();
void Dec();
SliderCtrl& MinMax(int _min, int _max);
SliderCtrl& Range(int max) { return MinMax(0, max); }
int GetMin() const { return min; }
int GetMax() const { return max; }
bool IsVert() const;
SliderCtrl& Step(int _step, bool _r = true) { step = _step; round_step = _r; return *this; }
int GetStep() const { return step; }
bool IsRoundStep() const { return round_step; }
};