source: molecuilder/src/UIElements/CommandLineStatusIndicator.cpp@ 07d2cd

Last change on this file since 07d2cd was 83afe0, checked in by Frederik Heber <heber@…>, 15 years ago

Extended UIFactory to a CommandLine derivate.

Signed-off-by: Frederik Heber <heber@…>

  • Property mode set to 100644
File size: 1.2 KB
Line 
1/*
2 * CommandLineStatusIndicator.cpp
3 *
4 * Created on: May 8, 2010
5 * Author: heber
6 */
7
8
9#include "CommandLineStatusIndicator.hpp"
10
11#include <iostream>
12
13#include "Actions/Process.hpp"
14
15using namespace std;
16
17CommandLineStatusIndicator::CommandLineStatusIndicator()
18{
19 Process::AddObserver(this);
20}
21
22CommandLineStatusIndicator::~CommandLineStatusIndicator()
23{
24 Process::RemoveObserver(this);
25}
26
27void CommandLineStatusIndicator::update(Observable *subject){
28 Process *proc;
29 // we are only observing Processes
30 if((proc=dynamic_cast<Process*>(subject))){
31 // see what kind of progress we have to display
32 if(proc->getMaxSteps()>0){
33 if(!proc->doesStop()){
34 cout << "Busy (" << proc->getName() << ") ";
35 // we can show a percentage done
36 cout << (int)proc->getDoneRatio() << "% done" << endl;
37 }
38 }
39 else{
40 // we only show some kind of busy animation
41 if(proc->doesStart()){
42 cout << "Busy (" << proc->getName() << ")";
43 }
44 if(!proc->doesStop()){
45 cout << ".";
46 }
47 else {
48 cout << endl;
49 }
50 }
51 }
52}
53
54void CommandLineStatusIndicator::subjectKilled(Observable *subject){
55
56}
57
Note: See TracBrowser for help on using the repository browser.