60 lines
1.4 KiB
C++
60 lines
1.4 KiB
C++
#ifndef GUI_WIDGETS_PROGRESS_BAR_HPP_INCLUDED
|
|
#define GUI_WIDGETS_PROGRESS_BAR_HPP_INCLUDED
|
|
|
|
#include "gui/widgets/control.hpp"
|
|
|
|
namespace gui2 {
|
|
|
|
class tprogress_bar /*@ \label{progress_bar.hpp:class} @*/
|
|
: public tcontrol
|
|
{
|
|
public:
|
|
|
|
tprogress_bar() /*@ \label{progress_bar.hpp:constructor} @*/
|
|
: tcontrol(COUNT)
|
|
, percentage_(-1)
|
|
{
|
|
// Force canvas update
|
|
set_percentage(0);
|
|
}
|
|
|
|
/***** ***** ***** ***** Inherited ***** ***** ***** *****/ /*@ \label{progress_bar.hpp:inherited} @*/
|
|
|
|
/** Inherited from tcontrol. */
|
|
void set_active(const bool /*active*/) {}
|
|
|
|
/** Inherited from tcontrol. */
|
|
bool get_active() const { return true; }
|
|
|
|
/** Inherited from tcontrol. */
|
|
unsigned get_state() const { return ENABLED; }
|
|
|
|
/** Inherited from tcontrol. */
|
|
bool disable_click_dismiss() const { return false; }
|
|
|
|
|
|
/***** ***** ***** setters / getters for members ***** ****** *****/ /*@ \label{progress_bar.hpp:settersgetters} @*/
|
|
|
|
void set_percentage(const unsigned percentage);
|
|
unsigned get_percentage() const { return percentage_; }
|
|
|
|
private:
|
|
|
|
/**
|
|
* Possible states of the widget.
|
|
*
|
|
* Note the order of the states must be the same as defined in settings.hpp.
|
|
*/
|
|
enum tstate { ENABLED, COUNT }; /*@ \label{progress_bar.hpp:state} @*/
|
|
|
|
/** The percentage done. */
|
|
unsigned percentage_;
|
|
|
|
/** Inherited from tcontrol. */
|
|
const std::string& get_control_type() const;
|
|
};
|
|
|
|
} // namespace gui2
|
|
|
|
#endif
|
|
|