6#include <i2d/CRectangle.h>
9#include <imtreport/CTextTableItem.h>
16class CTextTable:
public i2d::CRectangle
19 typedef i2d::CRectangle BaseClass;
23 void SetDimensions(
int rowCount,
int columnCount);
25 int GetRowCount()
const;
26 int GetColumnCount()
const;
28 bool IsHorizontalHeaderVisible()
const;
29 void ShowHorizontalHeader(
bool show);
31 bool IsVerticalHeaderVisible()
const;
32 void ShowVerticalHeader(
bool show);
34 void SetHorizontalHeaderLabels(
const QStringList& labels);
35 void SetVerticalHeaderLabels(
const QStringList& labels);
37 double GetColumnWidth(
int column)
const;
38 void SetColumnWidths(
const QVector<double>& columnWidths);
40 const CTextTableItem& GetHorizontalHeaderItem(
int column)
const;
41 void SetHorizontalHeaderItem(
int column,
const CTextTableItem& item);
43 const CTextTableItem& GetVerticalHeaderItem(
int row)
const;
44 void SetVerticalHeaderItem(
int row,
const CTextTableItem& item);
46 const CTextTableItem& GetItem(
int row,
int column)
const;
47 void SetItem(
int row,
int column,
const CTextTableItem& item);
49 static QByteArray GetTypeName(){
return "TextTable"; }
52 virtual bool Serialize(iser::IArchive& archive)
override;
55 virtual int GetSupportedOperations()
const override;
56 virtual bool CopyFrom(
const IChangeable&
object, CompatibilityMode mode = CM_WITHOUT_REFS)
override;
57 virtual bool IsEqual(
const IChangeable&
object)
const override;
58 virtual istd::IChangeableUniquePtr CloneMe(CompatibilityMode mode = CM_WITHOUT_REFS)
const override;
59 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS)
override;
62 void Resize(
int rowCount,
int columnCount);
63 int GetInternalColumnCount()
const;
65 const CTextTableItem& GetInternalItem(
int row,
int column)
const;
66 void SetInternalItem(
int row,
int column,
const CTextTableItem& item);
69 bool m_showHorizontalHeader;
70 bool m_showVerticalHeader;
71 QVector<double> m_columnWidths;
72 QVector<QVector<CTextTableItem>> m_items;
74 static const double s_defaultColumnWidth;