mirror of
https://github.com/mudita/MuditaOS.git
synced 2026-07-04 05:06:58 -04:00
63 lines
1.6 KiB
C++
63 lines
1.6 KiB
C++
/*
|
|
* Progress.hpp
|
|
*
|
|
* Created on: 22 mar 2019
|
|
* Author: robert
|
|
*/
|
|
|
|
#ifndef MIDDLEWARES_GUI_WIDGETS_PROGRESS_HPP_
|
|
#define MIDDLEWARES_GUI_WIDGETS_PROGRESS_HPP_
|
|
|
|
#include "Rect.hpp"
|
|
|
|
namespace gui {
|
|
|
|
class Progress: public Rect {
|
|
protected:
|
|
//Value that corresponds to 100% of the progress.
|
|
int total;
|
|
//current value of the progress.
|
|
int current;
|
|
//rectangle used to draw thick line.
|
|
gui::Rect* fillRect;
|
|
|
|
/**
|
|
* Creates local widgets
|
|
*/
|
|
virtual void createWidgets();
|
|
public:
|
|
Progress();
|
|
Progress( Item* parent, const uint32_t& x, const uint32_t& y, const uint32_t& w, const uint32_t& h);
|
|
virtual ~Progress() {};
|
|
|
|
/**
|
|
* @brief Sets user defined value that corresponds to the progress set to 100%.
|
|
*/
|
|
virtual void setTotalProgress( int value );
|
|
/*
|
|
* @brief Sets current progress in correspondence to the value of the total progress which is corresponding to the value of 100%.
|
|
* I.e. value equal to one fourth of the total progress value will occupy 25% of the space assigned to the widget.
|
|
*/
|
|
virtual void setCurrentProgress( int value );
|
|
/**
|
|
* Allows to set progress using values from 0 to 100. Other values are ignored.
|
|
*/
|
|
virtual void setCurrentPercent( int value );
|
|
/*
|
|
* Returns value of the total progress.
|
|
*/
|
|
virtual int getTotalProgress() { return total; };
|
|
/**
|
|
* @brief Returns value of the current progress.
|
|
*/
|
|
virtual int getCurrentProgress() { return current; };
|
|
|
|
//virtaul methods from Item
|
|
std::list<DrawCommand*> buildDrawList() override;
|
|
bool onDimensionChanged( const BoundingBox& oldDim, const BoundingBox& newDim) override;
|
|
};
|
|
|
|
} /* namespace gui */
|
|
|
|
#endif /* MIDDLEWARES_GUI_WIDGETS_PROGRESS_HPP_ */
|