1//============================================================================
2//
3// SSSS tt lll lll
4// SS SS tt ll ll
5// SS tttttt eeee ll ll aaaa
6// SSSS tt ee ee ll ll aa
7// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
8// SS SS tt ee ll ll aa aa
9// SSSS ttt eeeee llll llll aaaaa
10//
11// Copyright (c) 1995-2019 by Bradford W. Mott, Stephen Anthony
12// and the Stella Team
13//
14// See the file "License.txt" for information on usage and redistribution of
15// this file, and for a DISCLAIMER OF ALL WARRANTIES.
16//============================================================================
17
18#ifndef PROGRESS_DIALOG_HXX
19#define PROGRESS_DIALOG_HXX
20
21class GuiObject;
22class StaticTextWidget;
23class SliderWidget;
24
25#include "bspf.hxx"
26
27class ProgressDialog : public Dialog
28{
29 public:
30 ProgressDialog(GuiObject* boss, const GUI::Font& font,
31 const string& message);
32 virtual ~ProgressDialog() = default;
33
34 void setMessage(const string& message);
35 void setRange(int begin, int end, int step);
36 void setProgress(int progress);
37
38 private:
39 StaticTextWidget* myMessage;
40 SliderWidget* mySlider;
41
42 int myStart, myFinish, myStep;
43
44 private:
45 // Following constructors and assignment operators not supported
46 ProgressDialog() = delete;
47 ProgressDialog(const ProgressDialog&) = delete;
48 ProgressDialog(ProgressDialog&&) = delete;
49 ProgressDialog& operator=(const ProgressDialog&) = delete;
50 ProgressDialog& operator=(ProgressDialog&&) = delete;
51};
52
53#endif
54