1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- /*
- * ZKCircleBar.h
- *
- * Created on: Sep 5, 2017
- * Author: guoxs
- */
- #ifndef _CONTROL_ZKCIRCLEBAR_H_
- #define _CONTROL_ZKCIRCLEBAR_H_
- #include "ZKBase.h"
- class ZKCircleBarPrivate;
- /**
- * @brief 圆形进度条控件
- */
- class ZKCircleBar : public ZKBase {
- ZK_DECLARE_PRIVATE(ZKCircleBar)
- public:
- ZKCircleBar(ZKBase *pParent);
- virtual ~ZKCircleBar();
- /**
- * @brief 设置最大进度值
- */
- void setMax(int max);
- /**
- * @brief 获取最大进度值
- */
- int getMax() const;
- /**
- * @brief 设置当前进度值
- */
- void setProgress(int progress);
- /**
- * @brief 获取当前进度值
- */
- int getProgress() const;
- /**
- * @brief 设置起始角度
- */
- void setStartAngle(int angle);
- public:
- class ICircleBarChangeListener {
- public:
- virtual ~ICircleBarChangeListener() { }
- virtual void onProgressChanged(ZKCircleBar *pCircleBar, int progress) = 0;
- virtual void onStartTrackingTouch(ZKCircleBar *pCircleBar) { }
- virtual void onStopTrackingTouch(ZKCircleBar *pCircleBar) { }
- };
- void setCircleBarChangeListener(ICircleBarChangeListener *pListener);
- protected:
- ZKCircleBar(ZKBase *pParent, ZKBasePrivate *pBP);
- virtual void onBeforeCreateWindow(const Json::Value &json);
- virtual const char* getClassName() const { return ZK_CIRCLEBAR; }
- virtual void onDraw(ZKCanvas *pCanvas);
- virtual bool onTouchEvent(const MotionEvent &ev);
- private:
- void parseCircleBarAttributeFromJson(const Json::Value &json);
- };
- #endif /* _CONTROL_ZKCIRCLEBAR_H_ */
|