1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
#include "viewerplainpct.h"
#include "perform.h"
#include "plugger.h"
#include "math.h"
PluginInterface2( plainpct, ViewerPlainPct, Viewer, "Mike Buland", 0, 1 );
ViewerPlainPct::ViewerPlainPct() :
bRunClean( true )
{
}
ViewerPlainPct::~ViewerPlainPct()
{
}
void ViewerPlainPct::beginCommand( Action::eAction nAct, const std::string &sTarget )
{
Cmd cmd;
if( sCmd.empty() )
cmd.nLevel = 0;
else
cmd.nLevel = sCmd.front().nLevel+1;
cmd.bCmdClean = true;
cmd.sTarget = sTarget;
sCmd.push_front( cmd );
}
void ViewerPlainPct::endCommand()
{
if( sCmd.front().bCmdClean == false )
printf("\n");
sCmd.pop_front();
iCC++;
}
void ViewerPlainPct::indent()
{
if( sCmd.empty() ) return;
int jmax = sCmd.front().nLevel;
for( int j = 0; j < jmax; j++ )
{
printf(" ");
}
}
void ViewerPlainPct::printHead()
{
if( sCmd.front().bCmdClean == true )
{
bRunClean = false;
sCmd.front().bCmdClean = false;
indent();
printf("--- [%d/%d] %s ---\n", iCC, iTC, sCmd.front().sTarget.c_str() );
}
}
void ViewerPlainPct::beginRequiresCheck( bool bCached, const std::string &sName )
{
printHead();
indent();
printf("[%3d%%] deps: %s\n", (int)round(((double)iCP/(double)iTP)*100.0), sName.c_str() );
}
void ViewerPlainPct::endRequiresCheck()
{
iCP++;
//bDidReq = true;
}
void ViewerPlainPct::skipRequiresCheck( bool bCached, const std::string &sName )
{
iCP++;
/* printHead();
indent();
printf("[%3d%%] ! deps: %s\n", (int)round(((double)iCP/(double)iTP)*100.0), sName.c_str() );*/
}
void ViewerPlainPct::beginPerform( Perform *pPerform )
{
printHead();
indent();
printf("[%3d%%] %8s: %s\n", (int)round(((double)iCP/(double)iTP)*100.0), pPerform->getRule().c_str(), pPerform->getTarget().c_str() );
}
void ViewerPlainPct::endPerform()
{
//if(!bDidReq)
iCP++;
//bDidReq = false;
}
void ViewerPlainPct::skipPerform( Perform *pPerform )
{
iCP++;
/* printHead();
indent();
printf("[%3d%%] ! %8s: %s\n", (int)round(((double)iCP/(double)iTP)*100.0), pPerform->getRule().c_str(), pPerform->getTarget().c_str() );*/
}
void ViewerPlainPct::beginPerforms( int nCount )
{
iTP = nCount*2;
iCP = 1;
//bDidReq = false;
}
void ViewerPlainPct::beginAction( const std::string &sName, int nCommands )
{
iTC = nCommands;
iCC = 1;
}
void ViewerPlainPct::endAction()
{
if( bRunClean == true )
{
printf("Nothing to be done.\n\n");
}
}
|