ladybird/LibGUI/GProgressBar.h

41 lines
977 B
C
Raw Normal View History

2019-03-22 04:49:14 +03:00
#pragma once
#include <LibGUI/GFrame.h>
2019-03-22 04:49:14 +03:00
class GProgressBar : public GFrame {
2019-03-22 04:49:14 +03:00
public:
explicit GProgressBar(GWidget* parent);
virtual ~GProgressBar() override;
void set_range(int min, int max);
void set_min(int min) { set_range(min, max()); }
void set_max(int max) { set_range(min(), max); }
2019-03-22 04:49:14 +03:00
void set_value(int);
int value() const { return m_value; }
int min() const { return m_min; }
int max() const { return m_max; }
2019-03-22 04:49:14 +03:00
String caption() const { return m_caption; }
void set_caption(const StringView& caption) { m_caption = caption; }
enum Format
{
NoText,
Percentage,
ValueSlashMax
};
Format format() const { return m_format; }
void set_format(Format format) { m_format = format; }
2019-03-22 04:49:14 +03:00
protected:
virtual void paint_event(GPaintEvent&) override;
private:
Format m_format { Percentage };
2019-03-22 04:49:14 +03:00
int m_min { 0 };
int m_max { 100 };
int m_value { 0 };
String m_caption;
2019-03-22 04:49:14 +03:00
};