75 lines
2.7 KiB
C++
75 lines
2.7 KiB
C++
#ifndef CCSITEMCONVERT_H
|
||
#define CCSITEMCONVERT_H
|
||
#include "qmap.h"
|
||
#include <QObject>
|
||
#include "common_types.h"
|
||
#include "ccscell.h"
|
||
|
||
|
||
namespace CCS_Report {
|
||
class CCSRenderTable;
|
||
class CCSRenderTableInfo;
|
||
class CCSRenderReport;
|
||
class CCSRenderTableCell;
|
||
class CCSTable;
|
||
class CCSTableFix;
|
||
class CCSTableDynamic;
|
||
class TreeNode;
|
||
class CCSParagraph;
|
||
class CCSText;
|
||
class CCSImage;
|
||
class SCellText;
|
||
class CCSColumn;
|
||
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>tableת<65><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꡢ<EFBFBD>ߴ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD>
|
||
/// </summary>
|
||
class CCSItemConvert :public QObject
|
||
{
|
||
Q_OBJECT
|
||
public:
|
||
CCSItemConvert() {}
|
||
CCSItemConvert(CCSRenderReport* pReport)
|
||
{
|
||
m_pReport = pReport;
|
||
}
|
||
~CCSItemConvert() {}
|
||
public:
|
||
void SetReport(CCSRenderReport* pReport){m_pReport = pReport;}
|
||
CCSRenderTable* ConvertTable(CCSTableFix*& table);
|
||
CCSRenderTable* ConvertTable(CCSTableDynamic*& table);
|
||
|
||
void ConvertTableHeader(CCSTableDynamic*& table,CCSRenderTable*& rendertable);
|
||
void ConvertTableContent(CCSTableDynamic*& table,CCSRenderTable*& rendertable);
|
||
void ConvertTableBottom(CCSTableDynamic*& table,CCSRenderTable*& rendertable);
|
||
CCSRenderTableInfo* ConvertTableCell(CCSTableDynamic*& table,CCSRenderTable*& rendertable, int iRow, int iType);
|
||
|
||
void ConvertItem(CCSTable* table, CCSColumn* column, CCSRenderTable* rendertable, qreal xPos, int repeatTotal = 0);
|
||
void ConvertItem(CCSTable* table, CCSColumn* column, CCSRenderTableInfo* rendertableinfo, qreal xPos, int repeatTotal = 0);
|
||
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD>ڻ<EFBFBD><DABB><EFBFBD>ʱ <20><>Ӧ<EFBFBD><D3A6><EFBFBD>еĿ<D0B5><C4BF><EFBFBD>
|
||
/// </summary>
|
||
/// <param name="table"></param>
|
||
/// <param name="infos"></param>
|
||
/// <param name="row"></param>
|
||
void HandleRepeatColumn(CCSTableDynamic*& table,CCS_Report::CCSRenderTableInfo* infos, int row);
|
||
void HandleDynamicSpanColumn(CCSTableDynamic*& table, CCS_Report::CCSRenderTableInfo* infos);
|
||
void SplitRenderTableInfo(CCSTableDynamic*& table, CCSRenderTable* rendertable, CCS_Report::CCSRenderTableInfo* infos, int iRowNum, int breakNum, QMap<int, CCSRenderTableInfo*>& element);
|
||
void HandleSubTableHeader(CCSRenderTable* rendertable);
|
||
|
||
//void CellMapToTableInfo(CCSTable* table, CCSCell* cell, CCSRenderTableCell* info,qreal columnwidth);
|
||
void CellMapToRenderCell(CCSCell* cell, CCSRenderTableCell* rendercell);
|
||
void ParaMapToRenderCell(CCSTable* table,CCSParagraph* para,CCSRenderTableCell* rendercell);
|
||
SCellText* ImageMapToSText(CCSImage*& image, qreal columnwidth, int iMaxHeight);
|
||
SCellText* TextMapToSText(CCSText*& text);
|
||
//<2F><><EFBFBD><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
|
||
TreeNode* CalGrade(CCSBaseInterface* item,QString& strTitle);
|
||
|
||
|
||
private:
|
||
CCSRenderReport* m_pReport;
|
||
};
|
||
}
|
||
#endif
|