概述
在本文中,我将创建一个可以显示开发人员指定的数据的仪表板。这样的面板将便于在图表上直观地显示数据和进行可视化调试,因为在面板上查看必要的值比在调试器中跟踪它们更方便。我指的是根据某些数据值调试策略的情况。
我将以终端数据窗口原型的形式制作面板,并用相同的数据填充
用于获取表格数据的类
由于根据可见的或者虚拟的预先确定的坐标在面板上排列数据很方便,我们将首先创建用于排列表格数据的类。表格可以表示为一个简单的网格,其线交点将是表格单元格的坐标。可以将任何可见数据放置在这样的坐标处。该表具有一定数量的行(水平行),每行具有一定数量(垂直行)的单元格。在一个简单的网格表中,所有行都有相同数量的单元格。
基于此,我们需要三个类:
表格单元格类,
表格行类,
表格类。
表格单元格类包括表格中的行索引和列索引,以及面板中表格单元格视觉位置的坐标——相对于面板左上角表格原点的X和Y坐标。
表格行类包括表单元格类。我们可以在一行中创建所需数量的单元格。
表格类包括一个表行列表。可以创建表中的行,并添加所需数量的行。
让我们简单地看一下这三个类。
表格单元格类
//+------------------------------------------------------------------+
//| Table cell class |
//+------------------------------------------------------------------+
class CTableCell : public CObject
{
private:
int m_row; // Row
int m_col; // Column
int m_x; // X coordinate
int m_y; // Y coordinate
public:
//--- Methods of setting values
void SetRow(const uint row) { this.m_row=(int)row; }
void SetColumn(const uint col) { this.m_col=(int)col; }
void SetX(const uint x) { this.