![]() |
SARibbon 2.2.3
SARibbon wiki
|
记录所有自定义操作的数据类 更多...
#include <SARibbonCustomizeData.h>
Public 成员函数 | |
SARibbonCustomizeData () | |
SARibbonCustomizeData | |
SARibbonCustomizeData (ActionType type, SARibbonActionsManager *mgr=nullptr) | |
ActionType | actionType () const |
获取CustomizeData的action type | |
void | setActionType (ActionType a) |
设置CustomizeData的action type | |
bool | isValid () const |
判断是否是一个正常的CustomizeData | |
bool | apply (SARibbonBar *bar) const |
应用SARibbonCustomizeData到SARibbonBar | |
SARibbonActionsManager * | actionManager () |
获取actionmanager指针 | |
void | setActionsManager (SARibbonActionsManager *mgr) |
设置ActionsManager | |
静态 Public 成员函数 | |
static SARibbonCustomizeData | makeAddCategoryCustomizeData (const QString &title, int index, const QString &objName) |
创建一个AddCategoryActionType的SARibbonCustomizeData | |
static SARibbonCustomizeData | makeAddPannelCustomizeData (const QString &title, int index, const QString &categoryobjName, const QString &objName) |
创建一个AddPannelActionType的SARibbonCustomizeData | |
static SARibbonCustomizeData | makeAddActionCustomizeData (const QString &key, SARibbonActionsManager *mgr, SARibbonPannelItem::RowProportion rp, const QString &categoryObjName, const QString &pannelObjName) |
添加action | |
static SARibbonCustomizeData | makeRenameCategoryCustomizeData (const QString &newname, const QString &categoryobjName) |
创建一个RenameCategoryActionType的SARibbonCustomizeData | |
static SARibbonCustomizeData | makeRenamePannelCustomizeData (const QString &newname, const QString &categoryobjName, const QString &pannelObjName) |
创建一个RenamePannelActionType的SARibbonCustomizeData | |
static SARibbonCustomizeData | makeRemoveCategoryCustomizeData (const QString &categoryobjName) |
对应RemoveCategoryActionType | |
static SARibbonCustomizeData | makeChangeCategoryOrderCustomizeData (const QString &categoryobjName, int moveindex) |
对应ChangeCategoryOrderActionType | |
static SARibbonCustomizeData | makeChangePannelOrderCustomizeData (const QString &categoryobjName, const QString &pannelObjName, int moveindex) |
对应ChangePannelOrderActionType | |
static SARibbonCustomizeData | makeChangeActionOrderCustomizeData (const QString &categoryobjName, const QString &pannelObjName, const QString &key, SARibbonActionsManager *mgr, int moveindex) |
对应ChangeActionOrderActionType | |
static SARibbonCustomizeData | makeRemovePannelCustomizeData (const QString &categoryobjName, const QString &pannelObjName) |
对应RemovePannelActionType | |
static SARibbonCustomizeData | makeRemoveActionCustomizeData (const QString &categoryobjName, const QString &pannelObjName, const QString &key, SARibbonActionsManager *mgr) |
对应RemoveActionActionType | |
static SARibbonCustomizeData | makeVisibleCategoryCustomizeData (const QString &categoryobjName, bool isShow) |
SARibbonCustomizeData::makeVisibleCategoryCustomizeData | |
static bool | isCanCustomize (QObject *obj) |
判断外置属性,是否允许自定义 | |
static void | setCanCustomize (QObject *obj, bool canbe=true) |
设置外置属性允许自定义 | |
static QList< SARibbonCustomizeData > | simplify (const QList< SARibbonCustomizeData > &csd) |
对QList<SARibbonCustomizeData>进行简化操作 | |
Public 属性 | |
int | indexValue |
记录顺序的参数 | |
QString | keyValue |
记录标题、索引等参数 | |
QString | categoryObjNameValue |
记录categoryObjName,用于定位Category | |
QString | pannelObjNameValue |
记录pannelObjName,saribbon的Customize索引大部分基于objname | |
SARibbonPannelItem::RowProportion | actionRowProportionValue |
行的占比,ribbon中有large,media和small三种占比,见RowProportion | |
记录所有自定义操作的数据类
SARibbonActionsManager * SARibbonCustomizeData::actionManager | ( | ) |
获取actionmanager指针
SARibbonCustomizeData::ActionType SARibbonCustomizeData::actionType | ( | ) | const |
获取CustomizeData的action type
bool SARibbonCustomizeData::apply | ( | SARibbonBar * | bar | ) | const |
应用SARibbonCustomizeData到SARibbonBar
m |
|
static |
判断外置属性,是否允许自定义
obj |
bool SARibbonCustomizeData::isValid | ( | ) | const |
判断是否是一个正常的CustomizeData
实际逻辑actionType() != UnknowActionType
|
static |
添加action
key | action的索引 |
mgr | action管理器 |
rp | 定义action的占位情况 |
categoryObjName | action添加到的category的objname |
pannelObjName | action添加到的category下的pannel的objname |
index | action添加到的pannel的索引 |
|
static |
创建一个AddCategoryActionType的SARibbonCustomizeData
title | category 的标题 |
index | category要插入的位置 |
objName | category的object name |
|
static |
创建一个AddPannelActionType的SARibbonCustomizeData
title | pannel的标题 |
index | pannel的index |
categoryobjName | pannel的category的objectname |
objName | pannel的objname |
|
static |
对应ChangeActionOrderActionType
categoryobjName | 需要移动的pannel对应的categoryobjName |
pannelObjName | 需要移动的pannelObjName |
key | SARibbonActionsManager管理的key名 |
mgr | SARibbonActionsManager指针 |
moveindex | 移动位置,-1代表向上(向左)移动一个位置,1带表向下(向右)移动一个位置 |
|
static |
对应ChangeCategoryOrderActionType
categoryobjName | 需要移动的categoryobjName |
moveindex | 移动位置,-1代表向上(向左)移动一个位置,1带表向下(向右)移动一个位置 |
|
static |
对应ChangePannelOrderActionType
categoryobjName | 需要移动的pannel对应的categoryobjName |
pannelObjName | 需要移动的pannelObjName |
moveindex | 移动位置,-1代表向上(向左)移动一个位置,1带表向下(向右)移动一个位置 |
|
static |
对应RemoveActionActionType
categoryobjName | pannel对应的category的obj name |
pannelObjName | pannel对应的 obj name |
key | SARibbonActionsManager管理的key名 |
mgr | SARibbonActionsManager指针 |
|
static |
对应RemoveCategoryActionType
categoryobjName | 需要移除的objname |
|
static |
对应RemovePannelActionType
categoryobjName | pannel对应的category的obj name |
pannelObjName | pannel对应的 obj name |
|
static |
创建一个RenameCategoryActionType的SARibbonCustomizeData
newname | 新名字 |
index | category的索引 |
|
static |
创建一个RenamePannelActionType的SARibbonCustomizeData
newname | pannel的名字 |
indexValue | pannel的索引 |
categoryobjName | pannel对应的category的object name |
|
static |
void SARibbonCustomizeData::setActionsManager | ( | SARibbonActionsManager * | mgr | ) |
设置ActionsManager
mgr |
void SARibbonCustomizeData::setActionType | ( | SARibbonCustomizeData::ActionType | a | ) |
设置CustomizeData的action type
a |
|
static |
设置外置属性允许自定义
obj | |
canbe |
|
static |
对QList<SARibbonCustomizeData>进行简化操作
此函数会执行如下操作: 1、针对同一个category/pannel连续出现的添加和删除操作进行移除(前一步添加,后一步删除)
2、针对VisibleCategoryActionType,对于连续出现的操作只保留最后一步
3、针对RenameCategoryActionType和RenamePannelActionType操作,只保留最后一个
4、针对连续的ChangeCategoryOrderActionType,ChangePannelOrderActionType,ChangeActionOrderActionType进行合并为一个动作, 如果合并后原地不动,则删除
csd |
首先针对连续出现的添加和删除操作进行优化
筛选VisibleCategoryActionType,对于连续出现的操作只保留最后一步
针对RenameCategoryActionType和RenamePannelActionType操作,只需保留最后一个
针对连续的ChangeCategoryOrderActionType,ChangePannelOrderActionType,ChangeActionOrderActionType进行合并
上一步操作可能会产生indexvalue为0的情况,此操作把indexvalue为0的删除
int SARibbonCustomizeData::indexValue |
记录顺序的参数
在actionType==AddCategoryActionType时,此参数记录Category的insert位置, 在actionType==AddPannelActionType时,此参数记录pannel的insert位置, 在actionType==AddActionActionType时,此参数记录pannel的insert位置
QString SARibbonCustomizeData::keyValue |
记录标题、索引等参数
在actionType==AddCategoryActionType时,key为category标题, 在actionType==AddPannelActionType时,key为pannel标题, 在actionType==AddActionActionType时,key为action的查询依据,基于SARibbonActionsManager::action查询