00001 /********************************************************************** 00002 00003 Copyright (c) 2005, TomTom B.V. 00004 00005 All rights reserved 00006 00007 00008 ***********************************************************************/ 00009 00010 #ifndef __CUISLIDER_H__ 00011 #define __CUISLIDER_H__ 00012 00013 #include "MUIWidget.h" 00014 #include "CDesktop.h" 00015 00021 class CUISlider: public MUIWidget 00022 { 00023 public: 00031 CUISlider( const CUIRect& aRectangle, 00032 MUIWidgetEvents* aObserver = NULL, 00033 unsigned int aMinValue = 0, 00034 unsigned int aMaxValue = 100 ); 00035 00036 virtual void Draw(); 00037 virtual bool HandlePenEvent( MInputReader::TTouchEventData& aData ); 00038 virtual bool HandleKeyEvent( MInputReader::TKeyEventData& aData ); 00039 00040 private: 00041 enum { KLineThikness = 2 }; 00042 00043 void ValueChanged(); 00044 00045 unsigned int iLastLineOffset; 00046 unsigned int iLastPen; 00047 00048 public: 00050 enum EUISliderOption 00051 { 00052 KVertical = 0x01, 00053 KHorizontal = 0x02, 00054 KTransparentDraw = 0x04, 00056 KDefaultOptions = KHorizontal 00057 }; 00058 00060 typedef unsigned int EUISliderOptions; 00061 00062 unsigned int iMinValue; 00063 unsigned int iMaxValue; 00064 unsigned int iValue; 00065 unsigned int iStep; 00066 EUISliderOptions iOptions; 00067 CDesktop::TColor iBackground; 00068 }; 00069 00070 #endif // __CUISLIDER_H__