COMPASSi/trunk/code/3rd/CCSReport_2/include/translation/ccsitemconvert.h

75 lines
2.7 KiB
C
Raw Normal View History

2025-06-25 15:06:42 +08:00
#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