00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #if !defined(_TMinMaxSlider_h_)
00011 #define _TMinMaxSlider_h_
00012
00013 #include "TSliderControl.h"
00014
00021 class TMinMaxSlider : public TSliderControl
00022 {
00023 AUGUIDefineControl(TMinMaxSlider, TSliderControl, "minmax");
00024
00025 public:
00026 static const OSType maxTag = 'max ';
00027 static const OSType minTag = 'min ';
00028 static const OSType lenTag = 'len ';
00029 protected:
00030 enum { kStart, kMove, kEnd };
00031
00032
00033 TMinMaxSlider(HIViewRef inControl);
00034 virtual ~TMinMaxSlider();
00035
00036 virtual ControlKind GetKind();
00037
00038 virtual OSStatus StillTracking(TCarbonEvent&inEvent, HIPoint& from);
00039 virtual OSStatus StartTracking(TCarbonEvent&inEvent, HIPoint& from);
00040 virtual void CompatibleDraw(RgnHandle inLimitRgn, CGContextRef inContext, bool inCompositing);
00041
00042 virtual OSStatus SetData(OSType inTag, ControlPartCode inPart, Size inSize, const void* inPtr);
00043 virtual OSStatus GetData(OSType inTag, ControlPartCode inPart, Size inSize, Size* outSize, void* inPtr);
00044
00045 protected:
00046 double mMin, mMax;
00047 float mStartTracking;
00048 int mMoveType;
00049 };
00050
00051
00052 #endif // _TMinMaxSlider_h_