OSDN Git Service

fix compile problem
[tjqt4port/tj2qt4.git] / taskjuggler / HTMLReportElement.h
1 /*
2  * HTMLReportElement.h - TaskJuggler
3  *
4  * Copyright (c) 2001, 2002, 2003, 2004, 2005 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 #ifndef _HTMLReportElement_h_
14 #define _HTMLReportElement_h_
15
16 #include "ReportElement.h"
17 #include "HTMLPrimitives.h"
18
19 class QColor;
20 class QString;
21
22 class Project;
23 class Report;
24 class ExpressionTree;
25 class TableLineInfo;
26 class TableCellInfo;
27 class Interval;
28
29 /**
30  * @short Models the basic component of an HTML report.
31  * @author Chris Schlaeger <cs@kde.org>
32  */
33 class HTMLReportElement : public ReportElement, public HTMLPrimitives
34 {
35 public:
36     HTMLReportElement(Report* r, const QString& df, int dl);
37     virtual ~HTMLReportElement() { }
38
39     virtual void genHeadDefault(TableCellInfo* tcf);
40     virtual void genHeadCurrency(TableCellInfo* tcf);
41     virtual void genHeadDaily1(TableCellInfo* tcf);
42     virtual void genHeadDaily2(TableCellInfo* tcf);
43     virtual void genHeadWeekly1(TableCellInfo* tcf);
44     virtual void genHeadWeekly2(TableCellInfo* tcf);
45     virtual void genHeadMonthly1(TableCellInfo* tcf);
46     virtual void genHeadMonthly2(TableCellInfo* tcf);
47     virtual void genHeadQuarterly1(TableCellInfo* tcf);
48     virtual void genHeadQuarterly2(TableCellInfo* tcf);
49     virtual void genHeadYear(TableCellInfo* tcf);
50
51     virtual void genCellEmpty(TableCellInfo*);
52     virtual void genCellAccounts(TableCellInfo* tli);
53     virtual void genCellSequenceNo(TableCellInfo* tli);
54     virtual void genCellNo(TableCellInfo* tli);
55     virtual void genCellHierarchNo(TableCellInfo* tli);
56     virtual void genCellIndex(TableCellInfo* tli);
57     virtual void genCellHierarchIndex(TableCellInfo* tli);
58     virtual void genCellHierarchLevel(TableCellInfo* tli);
59     virtual void genCellId(TableCellInfo* tli);
60     virtual void genCellName(TableCellInfo* tli);
61     virtual void genCellStart(TableCellInfo* tli);
62     virtual void genCellEnd(TableCellInfo* tli);
63     virtual void genCellMinStart(TableCellInfo* tli);
64     virtual void genCellMaxStart(TableCellInfo* tli);
65     virtual void genCellMinEnd(TableCellInfo* tli);
66     virtual void genCellMaxEnd(TableCellInfo* tli);
67     virtual void genCellStartBuffer(TableCellInfo* tli);
68     virtual void genCellEndBuffer(TableCellInfo* tli);
69     virtual void genCellStartBufferEnd(TableCellInfo* tli);
70     virtual void genCellEndBufferStart(TableCellInfo* tli);
71     virtual void genCellDuration(TableCellInfo* tli);
72     virtual void genCellEffort(TableCellInfo* tli);
73     virtual void genCellFreeLoad(TableCellInfo* tli);
74     virtual void genCellUtilization(TableCellInfo* tli);
75     virtual void genCellCriticalness(TableCellInfo* tli);
76     virtual void genCellPathCriticalness(TableCellInfo* tli);
77     virtual void genCellProjectId(TableCellInfo* tli);
78     virtual void genCellProjectIDs(TableCellInfo* tli);
79     virtual void genCellResources(TableCellInfo* tli);
80     virtual void genCellResponsible(TableCellInfo* tli);
81     virtual void genCellText(TableCellInfo* tli);
82     virtual void genCellStatusNote(TableCellInfo* tli);
83     virtual void genCellCost(TableCellInfo* tli);
84     virtual void genCellRevenue(TableCellInfo* tli);
85     virtual void genCellProfit(TableCellInfo* tli);
86     virtual void genCellPriority(TableCellInfo* tli);
87     virtual void genCellFlags(TableCellInfo* tli);
88     virtual void genCellCompleted(TableCellInfo* tli);
89     virtual void genCellCompletedEffort(TableCellInfo* tli);
90     virtual void genCellRemainingEffort(TableCellInfo* tli);
91     virtual void genCellStatus(TableCellInfo* tli);
92     virtual void genCellReference(TableCellInfo* tli);
93     virtual void genCellScenario(TableCellInfo* tli);
94     virtual void genCellDepends(TableCellInfo* tli);
95     virtual void genCellFollows(TableCellInfo* tli);
96     virtual void genCellDailyTask(TableCellInfo* tli);
97     virtual void genCellDailyResource(TableCellInfo* tli);
98     virtual void genCellDailyAccount(TableCellInfo* tli);
99     virtual void genCellWeeklyTask(TableCellInfo* tli);
100     virtual void genCellWeeklyResource(TableCellInfo* tli);
101     virtual void genCellWeeklyAccount(TableCellInfo* tli);
102     virtual void genCellMonthlyTask(TableCellInfo* tli);
103     virtual void genCellMonthlyResource(TableCellInfo* tli);
104     virtual void genCellMonthlyAccount(TableCellInfo* tli);
105     virtual void genCellQuarterlyTask(TableCellInfo* tli);
106     virtual void genCellQuarterlyResource(TableCellInfo* tli);
107     virtual void genCellQuarterlyAccount(TableCellInfo* tli);
108     virtual void genCellYearlyTask(TableCellInfo* tli);
109     virtual void genCellYearlyResource(TableCellInfo* tli);
110     virtual void genCellYearlyAccount(TableCellInfo* tli);
111     virtual void genCellResponsibilities(TableCellInfo* tli);
112     virtual void genCellSchedule(TableCellInfo* tli);
113     virtual void genCellScheduling(TableCellInfo* tli);
114     virtual void genCellMinEffort(TableCellInfo* tli);
115     virtual void genCellMaxEffort(TableCellInfo* tli);
116     virtual void genCellEfficiency(TableCellInfo* tli);
117     virtual void genCellRate(TableCellInfo* tli);
118     virtual void genCellTotal(TableCellInfo* tli);
119
120     virtual void genCellSummary(TableCellInfo* tli);
121 protected:
122     void generateTableHeader();
123
124     void generateHeader();
125     void generateFooter();
126
127     void generateLine(TableLineInfo* tli, int funcSel);
128
129     void genCell(const QString& text, TableCellInfo* tli, bool multi,
130                  bool filter = true);
131
132     void generateTitle(TableCellInfo* tci, const QString& str);
133
134     void generateSubTitle(TableCellInfo* tci, const QString& str);
135
136     void generateRightIndented(TableCellInfo* tci, const QString& str);
137
138     QColor selectTaskBgColor(TableCellInfo* tci, double load,
139                              const Interval& period, bool daily);
140     QColor selectResourceBgColor(TableCellInfo* tci, double load,
141                                  const Interval& period, bool daily);
142
143     void reportTaskLoad(double load, TableCellInfo* tci,
144                         const Interval& period);
145     void reportResourceLoad(double load, TableCellInfo* tci,
146                             const Interval& period);
147
148     void reportCurrency(double value, TableCellInfo* tci, time_t iv_start);
149
150     void genCellTaskFunc(TableCellInfo* tci, bool daily,
151                          time_t (*beginOfT)(time_t),
152                          time_t (*sameTimeNextT)(time_t));
153     void genCellResourceFunc(TableCellInfo* tci, bool daily,
154                              time_t (*beginOfT)(time_t),
155                              time_t (*sameTimeNextT)(time_t));
156     void genCellAccountFunc(TableCellInfo* tci, time_t (*beginOfT)(time_t),
157                             time_t (*sameTimeNextT)(time_t));
158 } ;
159
160 #endif