This repository has been archived on 2025-03-20. You can view files and clone it, but cannot push or open issues or pull requests.
The-Powder-Toy/src/tasks/TaskWindow.h
Tamás Bálint Misius eb29915243
Use a proper ProgressBar in UpdateActivity
Can't have the update window not use my fancy clip rect progress bars, see 04455ada1c.
2023-10-25 22:20:13 +02:00

33 lines
736 B
C++

#pragma once
#include "gui/interface/Window.h"
#include "tasks/TaskListener.h"
#include <memory>
namespace ui
{
class Label;
class ProgressBar;
}
class Task;
class TaskWindow: public ui::Window, public TaskListener {
std::unique_ptr<Task> task;
String title;
int progress;
float intermediatePos;
bool done;
bool closeOnDone;
ui::Label *statusLabel{};
ui::ProgressBar *progressBar{};
String progressStatus;
public:
TaskWindow(String title_, Task * task_, bool closeOnDone = true);
void NotifyStatus(Task * task) override;
void NotifyDone(Task * task) override;
void NotifyProgress(Task * task) override;
void NotifyError(Task * task) override;
void OnTick(float dt) override;
void OnDraw() override;
void Exit();
};