39
40
class ScheduleManager;
46
KPLATOUI_EXPORT QList<ReportData*> createBaseReportDataModels( QObject *parent = 0 );
47
KPLATOUI_EXPORT ReportData *findReportData( const QList<ReportData*> &lst, const QString &type );
41
50
class KPLATOUI_EXPORT ReportData : public QObject, public KoReportData
45
explicit ReportData();
54
explicit ReportData( QObject *parent = 0 );
55
ReportData( const ReportData &other );
46
56
virtual ~ReportData();
58
/// Re-implement this to create a clone of your report data object
59
/// Returns 0 by default
60
virtual ReportData *clone() const { return 0; }
48
62
/// Set the @p role that shall be used when fetching data for @p column
49
63
/// Default is Qt::DisplayRole
50
64
void setColumnRole( int column, int role );
108
122
void setModel( QAbstractItemModel *model );
109
123
QAbstractItemModel *model() const;
110
124
ItemModelBase *itemModel() const;
112
126
Project *project() const { return m_project; }
113
127
ScheduleManager *scheduleManager() const { return m_schedulemanager; }
129
virtual bool loadXml( const KoXmlElement &/*element*/ ) { return true; }
130
virtual void saveXml( QDomElement &/*element*/ ) const {}
132
bool isMainDataSource() const { return m_maindatasource; }
133
bool isSubDataSource() const { return m_subdatasource; }
134
void setSubDataSources( QList<ReportData*> &lst ) { m_subdatasources = lst; }
116
void setProject( Project *project );
137
virtual void setProject( Project *project );
117
138
void setScheduleManager( ScheduleManager *sm );
118
void setDataSource( ReportData *source );
121
141
void scheduleManagerChanged( ScheduleManager *sm );
122
142
void createReportData( const QString &type, ReportData *rd );
145
/// Re-implement this to create data models
146
virtual void createModels() {}
125
149
QSortFilterProxyModel m_model;
127
151
Project *m_project;
128
152
ScheduleManager *m_schedulemanager;
130
ReportData *m_datasource;
131
154
QMap<QString, QVariant> m_expressions;
133
156
QMap<int, int> m_columnroles;
158
QList<SortedField> m_sortlist;
159
QList<QAbstractItemModel*> m_sortmodels;
160
bool m_maindatasource;
161
bool m_subdatasource;
162
QList<ReportData*> m_subdatasources;
165
class KPLATOUI_EXPORT TaskReportData : public ReportData
169
explicit TaskReportData( QObject *parent = 0 );
170
TaskReportData( const TaskReportData &other );
172
bool loadXml( const KoXmlElement &element );
173
void saveXml( QDomElement &element ) const;
175
ReportData *clone() const;
181
class KPLATOUI_EXPORT TaskStatusReportData : public ReportData
185
explicit TaskStatusReportData( QObject *parent = 0 );
186
TaskStatusReportData( const TaskStatusReportData &other );
188
bool loadXml( const KoXmlElement &element );
189
void saveXml( QDomElement &element ) const;
191
ReportData *clone() const;
197
class KPLATOUI_EXPORT ResourceReportData : public ReportData
201
explicit ResourceReportData( QObject *parent = 0 );
202
ResourceReportData( const ResourceReportData &other );
204
bool loadXml( const KoXmlElement &element );
205
void saveXml( QDomElement &element ) const;
207
ReportData *clone() const;
213
class KPLATOUI_EXPORT ResourceAssignmentReportData : public ReportData
217
explicit ResourceAssignmentReportData( QObject *parent = 0 );
218
ResourceAssignmentReportData( const ResourceAssignmentReportData &other );
220
bool loadXml( const KoXmlElement &element );
221
void saveXml( QDomElement &element ) const;
223
ReportData *clone() const;
136
229
class KPLATOUI_EXPORT ChartReportData : public ReportData
139
explicit ChartReportData();
233
explicit ChartReportData( QObject *parent = 0 );
234
ChartReportData( const ChartReportData &other );
141
236
/// Prepare the data for access
142
237
virtual bool open();
177
275
QDate m_startdate;
178
276
QStringList m_keywords;
280
class KPLATOUI_EXPORT CostPerformanceReportData : public ChartReportData
284
explicit CostPerformanceReportData( QObject *parent = 0 );
285
CostPerformanceReportData( const CostPerformanceReportData &other );
287
ReportData *clone() const;
295
ChartItemModel *m_chartmodel;
298
class KPLATOUI_EXPORT EffortPerformanceReportData : public ChartReportData
302
explicit EffortPerformanceReportData( QObject *parent = 0 );
303
EffortPerformanceReportData( const EffortPerformanceReportData &other );
305
ReportData *clone() const;
313
ChartItemModel *m_chartmodel;
316
class KPLATOUI_EXPORT CostBreakdownReportData : public ChartReportData
320
explicit CostBreakdownReportData( QObject *parent = 0 );
321
CostBreakdownReportData( const CostBreakdownReportData &other );
323
ReportData *clone() const;
181
332
} //namespace KPlato