// -*- mode: c++; c-basic-offset: 2; -*- #ifndef GUI_PROGRESS_HH #define GUI_PROGRESS_HH #include #include #include "gui_window.hh" class GuiProgress : public GuiWindow { public: class Listener : public GuiWindow::Listener { public: virtual ~Listener() {} virtual bool about_to_close(GuiProgress* progress) = 0; protected: Listener() {} }; static GuiProgress* create(std::string const& title, std::string const& text, float min, float max); virtual void add_listener(Listener* listener) = 0; virtual void remove_listener(Listener* listener) = 0; virtual void show(GuiWindow* parent) = 0; virtual void set_progress(float progress) = 0; protected: GuiProgress() {} }; #endif // GUI_PROGRESS_HH