#ifndef CCSITEMCONVERT_H #define CCSITEMCONVERT_H #include "qmap.h" #include #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; /// /// �������tableת��������������ꡢ�ߴ�ı��� /// 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); /// /// �����ظ����ڻ���ʱ ��Ӧ���еĿ��� /// /// /// /// 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& 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); //����ּ�����ļ��� TreeNode* CalGrade(CCSBaseInterface* item,QString& strTitle); private: CCSRenderReport* m_pReport; }; } #endif