|
DAWorkbench 0.0.1
DAWorkbench API
|
DAData的数据管理类,实现数据操作的一些通知例如数据添加、删除、改名、内容改变等等 更多...
#include <DADataManager.h>
类 | |
| class | PrivateData |
Public 类型 | |
| enum | ChangeType { ChangeName , ChangeDescribe , ChangeValue , ChangeDataframeColumnName } |
| 改变类型 更多... | |
Public 槽 | |
| void | clear () |
| 清除数据 | |
信号 | |
| void | dataAdded (const DA::DAData &d) |
| 有数据添加发射的信号 | |
| void | dataBeginRemove (const DA::DAData &d, int dataIndex) |
| 数据准备删除 | |
| void | dataRemoved (const DA::DAData &d, int dataOldIndex) |
| 数据删除发射的信号 | |
| void | dataChanged (const DA::DAData &d, DA::DADataManager::ChangeType t) |
| 数据信息改变 | |
| void | datasCleared () |
| 数据被清除信号 | |
Public 成员函数 | |
| DADataManager (QObject *par=nullptr) | |
| void | addData (DAData &d) |
| 添加数据 | |
| void | addData_ (DAData &d) |
| 带redo/undo的添加数据 | |
| DAData | addData (const DAAbstractData::Pointer &d) |
| 添加数据 | |
| DAData | addData_ (const DAAbstractData::Pointer &d) |
| 带redo/undo的添加数据 | |
| void | addDatas_ (const QList< DAData > &datas) |
| 批量添加数据 | |
| void | removeData (DAData &d) |
| 移除数据 | |
| void | removeData_ (DAData &d) |
| 带redo/undo的移除数据 | |
| void | removeDatas_ (const QList< DAData > &datas) |
| 批量移除数据 | |
| int | getDataCount () const |
| 获取变量管理器管理的数据数量 | |
| int | getDataIndex (const DAData &d) const |
| 参数在变量管理器的索引 | |
| DAData | getData (int index) const |
| 根据索引获取对应的值 | |
| DAData | findData (const QString &name, Qt::CaseSensitivity cs=Qt::CaseSensitive) const |
| 精确查找数据 | |
| QList< DAData > | findDatas (const QString &pattern, Qt::CaseSensitivity cs=Qt::CaseInsensitive) const |
| 使用通配符或普通字符串查找匹配的数据 | |
| QList< DAData > | findDatasReg (const QRegularExpression ®ex) const |
| 使用正则表达式查找匹配的数据 | |
| QList< DAData > | getAllDatas () const |
| 获取所有数据 | |
| DAData | getDataById (DAData::IdType id) const |
| 根据id获取数据 | |
| bool | isDirty () const |
| 判断是否dirty,数据的改变和添加都会把此flag标记为true | |
| void | setDirtyFlag (bool on) |
| 设置脏标记 | |
| QUndoStack * | getUndoStack () const |
| 获取undo stack | |
| void | notifyDataChangedSignal (const DAData &d, ChangeType t) |
| 触发DataChanged信号 | |
静态 Public 成员函数 | |
| static QRegularExpression | wildcardToRegex (const QString &pattern, Qt::CaseSensitivity cs) |
Protected 成员函数 | |
| virtual void | setUniqueDataName (DAData &d) const |
| QSet< QString > | getDatasNameSet () const |
| 把所有管理的变量的名字按照set返回 | |
| void | doRemoveData (DAData &d) |
| 移除数据 | |
友元 | |
| class | DAData |
DAData的数据管理类,实现数据操作的一些通知例如数据添加、删除、改名、内容改变等等
通过此类可以有效的管理DAData数据
| DAData DA::DADataManager::addData | ( | const DAAbstractData::Pointer & | d | ) |
添加数据
| d |
| DAData DA::DADataManager::addData_ | ( | const DAAbstractData::Pointer & | d | ) |
带redo/undo的添加数据
| d |
| void DA::DADataManager::addData_ | ( | DAData & | d | ) |
带redo/undo的添加数据
| d |
| void DA::DADataManager::addDatas_ | ( | const QList< DAData > & | datas | ) |
批量添加数据
等同多次调用addData_,会发射多次信号
| d |
|
signal |
有数据添加发射的信号
| d |
|
signal |
数据准备删除
| d | |
| dataIndex |
|
signal |
数据信息改变
| d | 数据 |
| oldname |
|
signal |
数据删除发射的信号
| d | |
| dataOldIndex | 数据原来的索引 |
|
protected |
移除数据
| d |
| DAData DA::DADataManager::findData | ( | const QString & | name, |
| Qt::CaseSensitivity | cs = Qt::CaseSensitive |
||
| ) | const |
精确查找数据
| name |
| QList< DAData > DA::DADataManager::findDatas | ( | const QString & | pattern, |
| Qt::CaseSensitivity | cs = Qt::CaseInsensitive |
||
| ) | const |
使用通配符或普通字符串查找匹配的数据
| pattern | 查找模式,可以是以下形式:
|
| cs | 大小写敏感设置,默认为不区分大小写 |
此函数为普通用户设计,提供了简单直观的查找方式。它会自动将通配符转换为正则表达式, 并对普通字符串进行安全转义处理。对于简单查找,这是最推荐的使用方式。
| QList< DAData > DA::DADataManager::findDatasReg | ( | const QRegularExpression & | regex | ) | const |
使用正则表达式查找匹配的数据
| regex | 正则表达式对象,用于复杂模式匹配 |
此函数为高级用户设计,提供完整的正则表达式匹配能力。适合需要复杂匹配模式、 精确控制匹配规则或需要更高性能的场景。正则表达式提供了强大的模式匹配功能, 可以处理通配符无法表达的复杂逻辑。
| QList< DAData > DA::DADataManager::getAllDatas | ( | ) | const |
获取所有数据
| DAData DA::DADataManager::getData | ( | int | index | ) | const |
根据索引获取对应的值
| index |
| DAData DA::DADataManager::getDataById | ( | DAData::IdType | id | ) | const |
根据id获取数据
| id |
| int DA::DADataManager::getDataCount | ( | ) | const |
获取变量管理器管理的数据数量
| int DA::DADataManager::getDataIndex | ( | const DAData & | d | ) | const |
参数在变量管理器的索引
参数在变量管理器中有一个list来维护,这个索引就是链表的索引
| d |
|
protected |
把所有管理的变量的名字按照set返回
| QUndoStack * DA::DADataManager::getUndoStack | ( | ) | const |
获取undo stack
| bool DA::DADataManager::isDirty | ( | ) | const |
判断是否dirty,数据的改变和添加都会把此flag标记为true
| void DA::DADataManager::notifyDataChangedSignal | ( | const DAData & | d, |
| DADataManager::ChangeType | t | ||
| ) |
触发DataChanged信号
| d | |
| t |
| void DA::DADataManager::removeData | ( | DAData & | d | ) |
| void DA::DADataManager::removeData_ | ( | DAData & | d | ) |
| void DA::DADataManager::removeDatas_ | ( | const QList< DAData > & | datas | ) |
批量移除数据
| datas |
| void DA::DADataManager::setDirtyFlag | ( | bool | on | ) |
设置脏标记
此函数在 判断 是否 需要保存时使用
| on |