54 lines
1.8 KiB
C
54 lines
1.8 KiB
C
|
#ifndef CCSTABLEINTERFACE_H
|
||
|
#define CCSTABLEINTERFACE_H
|
||
|
#include <QObject>
|
||
|
#include "ccsbaseiteminterface.h"
|
||
|
#include "ccsreport_global.h"
|
||
|
#include "common_types.h"
|
||
|
#include "qglobal.h"
|
||
|
|
||
|
namespace CCS_Report {
|
||
|
class CCSTableInterfacePrivate :public CCSBaseItemInterfacePrivate
|
||
|
{
|
||
|
public:
|
||
|
CCSTableInterfacePrivate() :
|
||
|
CCSBaseItemInterfacePrivate() {}
|
||
|
CCSTableInterfacePrivate(const CCSTableInterfacePrivate& p)
|
||
|
:CCSBaseItemInterfacePrivate(p)
|
||
|
{}
|
||
|
virtual ~CCSTableInterfacePrivate() {}
|
||
|
};
|
||
|
class CCS_COMPASSREPORT_EXPORT CCSTableInterface :public CCSBaseItemInterface
|
||
|
{
|
||
|
Q_OBJECT
|
||
|
|
||
|
//QList<CCSParagraph*> items;
|
||
|
public:
|
||
|
CCSTableInterface(QObject* parent = 0):CCSBaseItemInterface(new CCSTableInterfacePrivate(), parent){}
|
||
|
~CCSTableInterface() {}
|
||
|
|
||
|
virtual CCSBaseItemInterface* createInstance(QObject* parent) const = 0;
|
||
|
virtual CCSBaseItemInterface* clone(bool withChildren = true, bool init = true) const = 0;
|
||
|
virtual void SetValue(const QString& text, int iPos = 0) {}
|
||
|
virtual void exeFunction(ReportFunPara& arg) {}
|
||
|
virtual int Parse(QList<QPair<CCSTableInterface*, int>>& tablesinfo, CCSGroup& groupkey) = 0;
|
||
|
|
||
|
QList<CCSTableInterface*> tables()
|
||
|
{
|
||
|
return findChildren<CCSTableInterface*>(QString(), Qt::FindDirectChildrenOnly);
|
||
|
}
|
||
|
CCSTableInterface* table()
|
||
|
{
|
||
|
return findChild<CCSTableInterface*>(QString(), Qt::FindDirectChildrenOnly);
|
||
|
}
|
||
|
protected:
|
||
|
Q_DECLARE_PRIVATE(CCSTableInterface)
|
||
|
|
||
|
CCSTableInterface(CCSTableInterfacePrivate* dd, QObject* parent):CCSBaseItemInterface(dd,parent) {}
|
||
|
|
||
|
virtual CCSBaseItemInterface* itemClone() const = 0;
|
||
|
};
|
||
|
|
||
|
|
||
|
}
|
||
|
#endif // CCSBASEITEMINTERFACE_H
|