mirror of
https://github.com/python-LimeReport/LimeReport.git
synced 2025-10-09 05:57:15 +03:00
Group functions have been changed
This commit is contained in:
@@ -38,6 +38,7 @@ namespace LimeReport{
|
||||
|
||||
class DataSourceManager;
|
||||
class BandDesignIntf;
|
||||
class PageItemDesignIntf;
|
||||
|
||||
class GroupFunction : public QObject{
|
||||
Q_OBJECT
|
||||
@@ -50,8 +51,9 @@ public:
|
||||
const QString& data(){return m_data;}
|
||||
const QString& error(){return m_errorMessage;}
|
||||
QVector<QVariant>& values(){return m_values;}
|
||||
QHash<BandDesignIntf*, QVariant> m_valuesByBand;
|
||||
const QString& dataBandName(){return m_dataBandName;}
|
||||
virtual QVariant calculate()=0;
|
||||
virtual QVariant calculate(PageItemDesignIntf* page = 0)=0;
|
||||
public slots:
|
||||
void slotBandRendered(BandDesignIntf* band);
|
||||
protected:
|
||||
@@ -95,7 +97,7 @@ public:
|
||||
CountGroupFunction(const QString& expression, const QString& dataBandName, DataSourceManager *dataManager)
|
||||
:GroupFunction(expression, dataBandName, dataManager){setName("COUNT");}
|
||||
protected:
|
||||
virtual QVariant calculate(){return values().count();}
|
||||
virtual QVariant calculate(PageItemDesignIntf* page = 0);
|
||||
};
|
||||
|
||||
class SumGroupFunction :public GroupFunction{
|
||||
@@ -104,7 +106,7 @@ public:
|
||||
SumGroupFunction(const QString& expression, const QString& dataBandName, DataSourceManager *dataManager)
|
||||
:GroupFunction(expression, dataBandName, dataManager){setName("SUM");}
|
||||
protected:
|
||||
virtual QVariant calculate();
|
||||
virtual QVariant calculate(PageItemDesignIntf* page = 0);
|
||||
};
|
||||
|
||||
class AvgGroupFunction :public GroupFunction{
|
||||
@@ -113,7 +115,7 @@ public:
|
||||
AvgGroupFunction(const QString& expression, const QString& dataBandName, DataSourceManager *dataManager)
|
||||
:GroupFunction(expression, dataBandName, dataManager){setName("AVG");}
|
||||
protected:
|
||||
virtual QVariant calculate();
|
||||
virtual QVariant calculate(PageItemDesignIntf* page = 0);
|
||||
};
|
||||
|
||||
class MinGroupFunction :public GroupFunction{
|
||||
@@ -122,7 +124,7 @@ public:
|
||||
MinGroupFunction(const QString& expression, const QString& dataBandName, DataSourceManager *dataManager)
|
||||
:GroupFunction(expression, dataBandName, dataManager){setName("MIN");}
|
||||
protected:
|
||||
virtual QVariant calculate();
|
||||
virtual QVariant calculate(PageItemDesignIntf* page = 0);
|
||||
};
|
||||
|
||||
class MaxGroupFunction :public GroupFunction{
|
||||
@@ -131,7 +133,7 @@ public:
|
||||
MaxGroupFunction(const QString& expression, const QString& dataBandName, DataSourceManager *dataManager)
|
||||
:GroupFunction(expression, dataBandName, dataManager){setName("MAX");}
|
||||
protected:
|
||||
virtual QVariant calculate();
|
||||
virtual QVariant calculate(PageItemDesignIntf* page = 0);
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
|
Reference in New Issue
Block a user