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
20 #include "progress.h"
21
~Progress()22 Progress::~Progress()
23 {}
24
ProgressScope(uint steps,const std::string & info,Progress * tgt)25 ProgressScope::ProgressScope(uint steps,const std::string& info,Progress* tgt)
26 :_steps(steps)
27 ,_info(info)
28 ,_target(tgt)
29 ,_step(0)
30 {
31 if (_target) _target->progress_start(_steps,_info);
32 }
33
~ProgressScope()34 ProgressScope::~ProgressScope()
35 {
36 if (_target) _target->progress_complete(_info+" completed");
37 }
38
step()39 void ProgressScope::step()
40 {
41 _step++;
42 if (_target) _target->progress_step(_step);
43 }
44