OSDN Git Service

fix compile problem
[tjqt4port/tj2qt4.git] / taskjuggler / CSVResourceReportElement.cpp
1 /*
2  * CSVResourceReportElement.h - ResourceJuggler
3  *
4  * Copyright (c) 2001, 2002, 2003, 2004 by Chris Schlaeger <cs@kde.org>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of version 2 of the GNU General Public License as
8  * published by the Free Software Foundation.
9  *
10  * $Id$
11  */
12
13 #include "CSVResourceReportElement.h"
14 #include "TableLineInfo.h"
15 #include "ExpressionTree.h"
16 #include "Operation.h"
17 #include "Project.h"
18 #include "Resource.h"
19
20 CSVResourceReportElement::CSVResourceReportElement(Report* r,
21                                                      const QString& df,
22                                                      int dl) :
23     CSVReportElement(r, df, dl)
24 {
25     uint sc = r->getProject()->getMaxScenarios();
26     columns.append(new TableColumnInfo(sc, "no"));
27     columns.append(new TableColumnInfo(sc, "name"));
28     columns.append(new TableColumnInfo(sc, "start"));
29     columns.append(new TableColumnInfo(sc, "end"));
30
31     // show all resources
32     setHideResource(new ExpressionTree(new Operation(0)));
33     // hide all tasks
34     setHideTask(new ExpressionTree(new Operation(1)));
35
36     taskSortCriteria[0] = CoreAttributesList::TreeMode;
37     taskSortCriteria[1] = CoreAttributesList::StartUp;
38     taskSortCriteria[2] = CoreAttributesList::EndUp;
39     resourceSortCriteria[0] = CoreAttributesList::TreeMode;
40 }
41
42 bool
43 CSVResourceReportElement::generate()
44 {
45     generateHeader();
46
47     generateTableHeader();
48
49     ResourceList filteredResourceList;
50     if (!filterResourceList(filteredResourceList, 0, hideResource,
51                             rollUpResource))
52         return false;
53     sortResourceList(filteredResourceList);
54     maxDepthResourceList = filteredResourceList.maxDepth();
55
56     maxDepthTaskList = 0;
57     
58     int rNo = 1;
59     for (ResourceListIterator rli(filteredResourceList); *rli != 0; 
60          ++rli, ++rNo)
61     {
62         TableLineInfo tli1;
63         tli1.ca1 = tli1.resource = *rli;
64         for (int sc = 0; sc < scenarios.count(); ++sc)
65         {
66             tli1.row = sc;
67             tli1.sc = scenarios[sc];
68             tli1.idxNo = rNo;
69             generateLine(&tli1, sc == 0 ? 4 : 5);
70         }
71     }
72     generateFooter();
73
74     return true;
75 }
76