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

75 lines
2.7 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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