123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- #pragma once
- #include "Common.h"
- #include "VControlObject.h"
- // 扩展属性相关数量
- // #define TABLE_PROPERTY_EX_MAINLINK_COUNT 1
- //#define TABLE_PROPERTY_EX_SUBGROUPLINK_COUNT 1
- //#define TABLE_PROPERTY_EX_GROUP_COUNT 1
- // 扩展属性的组名
- #define TABLE_PROPERTY_EX_NAME "表格"
- #define TABLE_PROPERTY_EX_REFRESHLINK_NAME "索引链接"
- #define TABLE_PROPERTY_EX_GROUP_NAME "列信息"
- #define TABLE_PROPERTY_EX_SUBGROUP_NAME "列"
- #define TABLE_PROPERTY_EX_VALUE_NAME "列名"
- #define TABLE_PROPERTY_EX_LINK_NAME "数据链接"
- // 列数和行数的属性名称
- #define TABLE_COL_COUNT_NAME "colCount"
- #define TABLE_ROW_COUNT_NAME "rowCount"
- // Table属性子分组编号(Table目前只有一个扩展属性组)
- #define GROUP_INDEX_TABLE 0
- class VTableControl : public QTableWidget, public VControlObject
- {
- Q_OBJECT
- Q_PROPERTY(QRect geometry READ geometry WRITE setGeometry)
- Q_PROPERTY(int rowCount READ getRowCount WRITE setRowCount);
- Q_PROPERTY(int colCount READ getColCount WRITE setColCount);
- //Q_PROPERTY(QFont font READ getFont WRITE setFont)
- //Q_PROPERTY(bool enable READ getEnable WRITE setEnable)
- // Q_PROPERTY(DataLink dataLink READ getDataLink WRITE setDataLink)
- public:
- VTableControl
- (
- QWidget* parent,
- const QPoint& pos,
- const QSize& size,
- CONTROL_PROPERTY* pProperty = nullptr,
- CONTROL_PROPERTY_EX* pPropertyEx = nullptr
- );
- ~VTableControl();
- public:
- // 属性的实现函数
- //void setText(const QString& title);
- //void setTip(const QString& tip);
- void setTextColor(const QColor& color);
- //void setBgColor(const QColor& color);
- void setFont(const QFont& font);
- void setEnable(const bool enable);
- // 函数
- int getRowCount();
- void setRowCount(const int row);
- // 列数
- int getColCount();
- void setColCount(const int row);
- // 初始化Table表头
- void initTableHeader();
- // 更新列标题
- void updateColTitle(const QString& newValue, const int nIndex);
- // 刷新一整行数据
- void updateRowFromVariables(const RUNTIME_SYNC_VARS& sync_vars, int nRowIndex);
- //// 更新数据链接
- //void updatePropertyExDataLink(const QString& strPropertyName, const DataLink& datalink);
- //// 更新数据链接
- //void updatePropertyExDataLink(const QString& strPropertyName, const QString& strLinkString);
- // 更新列属性数量(虚函数)
- virtual void updateExPropertyCount(const int fixCount, const QString& strPropName);
- // 修改扩展属性(虚函数)
- virtual void changeExProperties(QString strValueTitle, const QVariant& newValue);
- private:
- // 初始化扩展属性
- void initPropertyEx();
- // 初始化UI风格
- void initStyle();
- // 初始化子属性组
- void initSubGroup(PROPERTY_EX_SUBGROUP& subGroup, int nIndex, int nSubGroupID);
- };
|