conexus logo

spinner.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  *   Copyright (C) 2001 by Rick L. Vinyard, Jr.                            *
00003  *   rvinyard@cs.nmsu.edu                                                  *
00004  *                                                                         *
00005  *   This file is part of the conexus library.                             *
00006  *                                                                         *
00007  *   The conexus library is free software; you can redistribute it and/or  *
00008  *   modify it under the terms of the GNU General Public License           *
00009  *   version 3 as published by the Free Software Foundation.               *
00010  *                                                                         *
00011  *   The conexus library is distributed in the hope that it will be        *
00012  *   useful, but WITHOUT ANY WARRANTY; without even the implied warranty   *
00013  *   of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU   *
00014  *   General Public License for more details.                              *
00015  *                                                                         *
00016  *   You should have received a copy of the GNU General Public License     *
00017  *   along with this software. If not see <http://www.gnu.org/licenses/>.  *
00018  ***************************************************************************/
00019 #ifndef CONEXUSGTKMMSPINNER_H
00020 #define CONEXUSGTKMMSPINNER_H
00021 
00022 #include <papyrus-gtkmm/viewport.h>
00023 #include <papyrus/affineanimator.h>
00024 
00025 #include <conexus-gtkmm/dataprogresswatcher.h>
00026 
00027 namespace Conexus
00028 {
00029   namespace Gtk
00030   {
00031 
00035     class Spinner : public Papyrus::Gtk::Viewport, public DataProgressWatcher
00036     {
00037       public:
00038         Spinner ( unsigned spin_units=0 );
00039 
00040         ~Spinner();
00041 
00042         unsigned spin_units();
00043 
00044         void set_spin_units ( unsigned units );
00045 
00046       protected:
00047         unsigned m_spin_units;
00048         unsigned m_data_count;
00049 
00050         Papyrus::AffineAnimator::pointer m_animator;
00051 
00052         void on_data ( size_t n );
00053 
00054         virtual void on_read_data ( size_t n );
00055 
00056         virtual void on_write_data ( size_t n );
00057     };
00058 
00059   }
00060 
00061 }
00062 
00063 #endif

Generated on Wed Jul 8 15:50:08 2009 for conexus by doxygen 1.5.8