00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef CONEXUSMMSPINNER_H
00020 #define CONEXUSMMSPINNER_H
00021
00022 #include <papyrusmm/viewport.h>
00023 #include <papyrus/affineanimator.h>
00024
00025 #include <conexusmm/dataprogresswatcher.h>
00026
00027 namespace ConexusGtk {
00028
00032 class Spinner : public PapyrusGtk::Viewport, public DataProgressWatcher
00033 {
00034 public:
00035 Spinner(unsigned spin_units=0);
00036
00037 ~Spinner();
00038
00039 unsigned spin_units();
00040
00041 void set_spin_units( unsigned units );
00042
00043 protected:
00044 unsigned m_spin_units;
00045 unsigned m_data_count;
00046
00047 Papyrus::AffineAnimator m_animator;
00048
00049 void on_data( size_t n );
00050
00051 virtual void on_read_data( size_t n );
00052
00053 virtual void on_write_data( size_t n );
00054 };
00055
00056 }
00057
00058 #endif