My Project
Main Page
Related Pages
Classes
Files
File List
File Members
All
Classes
Files
Functions
Variables
Enumerations
Pages
progress.h
Go to the documentation of this file.
1
/**************************************************************************/
2
/* Copyright 2009 Tim Day */
3
/* */
4
/* This file is part of Fracplanet */
5
/* */
6
/* Fracplanet is free software: you can redistribute it and/or modify */
7
/* it under the terms of the GNU General Public License as published by */
8
/* the Free Software Foundation, either version 3 of the License, or */
9
/* (at your option) any later version. */
10
/* */
11
/* Fracplanet is distributed in the hope that it will be useful, */
12
/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
13
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
14
/* GNU General Public License for more details. */
15
/* */
16
/* You should have received a copy of the GNU General Public License */
17
/* along with Fracplanet. If not, see <http://www.gnu.org/licenses/>. */
18
/**************************************************************************/
19
24
#ifndef _progress_h_
25
#define _progress_h_
26
28
30
class
Progress
31
{
32
public
:
33
34
virtual
~
Progress
();
35
36
virtual
void
progress_start(uint steps,
const
std::string& info)
37
=0;
38
39
// This will change the dialog text to indicate that progress is stalled for some reason.
40
// It resets to the original text when progress_step is next stalled.
41
// (Used by river generation).
42
virtual
void
progress_stall(
const
std::string& reason)
43
=0;
44
45
virtual
void
progress_step(uint step)
46
=0;
47
48
virtual
void
progress_complete(
const
std::string& info)
49
=0;
50
};
51
53
class
ProgressScope
54
{
55
public
:
56
57
ProgressScope
(uint steps,
const
std::string& info,
Progress
* tgt);
58
59
~
ProgressScope
();
60
61
void
step();
62
63
private
:
64
65
const
uint _steps;
66
67
const
std::string _info;
68
69
Progress
*
const
_target;
70
71
uint _step;
72
};
73
74
#endif
Generated on Sat Oct 5 2013 13:36:44 for My Project by
1.8.3.1