00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef SPIN_BUTTON_PICTURE_H
00023 #define SPIN_BUTTON_PICTURE_H
00024
00025 #include "../include/base.h"
00026 #include "../graphic/text.h"
00027 #include "widget.h"
00028 #include "button.h"
00029 #include <string>
00030
00031 class SpinButtonWithPicture : public Widget
00032 {
00033 private:
00034 Surface m_image;
00035
00036 protected:
00037 Text *txt_label, *txt_value;
00038
00039 int m_value;
00040 int m_min_value, m_max_value, m_step;
00041
00042 public:
00043 SpinButtonWithPicture(const std::string &label, const std::string &resource_id,
00044 const Rectanglei &rect,
00045 int value=0, int step=1, int min_value=-1, int max_value=-1);
00046 virtual ~SpinButtonWithPicture();
00047
00048 void SetSizePosition(const Rectanglei &rect);
00049
00050 void Draw(const Point2i &mousePosition, Surface& surf) const;
00051 Widget* Clic(const Point2i &mousePosition, uint button);
00052 int GetValue() const;
00053 void SetValue(int value);
00054 };
00055
00056 #endif
00057