![]() |
SARibbon 2.5.2
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 | makeAddPanelCustomizeData (const QString &title, int index, const QString &categoryobjName, const QString &objName) |
| 创建一个AddPanelActionType的SARibbonCustomizeData | |
| static SARibbonCustomizeData | makeAddActionCustomizeData (const QString &key, SARibbonActionsManager *mgr, SARibbonPanelItem::RowProportion rp, const QString &categoryObjName, const QString &panelObjName) |
| 添加action | |
| static SARibbonCustomizeData | makeRenameCategoryCustomizeData (const QString &newname, const QString &categoryobjName) |
| 创建一个RenameCategoryActionType的SARibbonCustomizeData | |
| static SARibbonCustomizeData | makeRenamePanelCustomizeData (const QString &newname, const QString &categoryobjName, const QString &panelObjName) |
| 创建一个RenamePanelActionType的SARibbonCustomizeData | |
| static SARibbonCustomizeData | makeRemoveCategoryCustomizeData (const QString &categoryobjName) |
| 对应RemoveCategoryActionType | |
| static SARibbonCustomizeData | makeChangeCategoryOrderCustomizeData (const QString &categoryobjName, int moveindex) |
| 对应ChangeCategoryOrderActionType | |
| static SARibbonCustomizeData | makeChangePanelOrderCustomizeData (const QString &categoryobjName, const QString &panelObjName, int moveindex) |
| 对应ChangePanelOrderActionType | |
| static SARibbonCustomizeData | makeChangeActionOrderCustomizeData (const QString &categoryobjName, const QString &panelObjName, const QString &key, SARibbonActionsManager *mgr, int moveindex) |
| 对应ChangeActionOrderActionType | |
| static SARibbonCustomizeData | makeRemovePanelCustomizeData (const QString &categoryobjName, const QString &panelObjName) |
| 对应RemovePanelActionType | |
| static SARibbonCustomizeData | makeRemoveActionCustomizeData (const QString &categoryobjName, const QString &panelObjName, 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 | panelObjNameValue |
| 记录panelObjName,saribbon的Customize索引大部分基于objname | |
| SARibbonPanelItem::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 |
| panelObjName | action添加到的category下的panel的objname |
| index | action添加到的panel的索引 |
|
static |
创建一个AddCategoryActionType的SARibbonCustomizeData
| title | category 的标题 |
| index | category要插入的位置 |
| objName | category的object name |
|
static |
创建一个AddPanelActionType的SARibbonCustomizeData
| title | panel的标题 |
| index | panel的index |
| categoryobjName | panel的category的objectname |
| objName | panel的objname |
|
static |
对应ChangeActionOrderActionType
| categoryobjName | 需要移动的panel对应的categoryobjName |
| panelObjName | 需要移动的panelObjName |
| key | SARibbonActionsManager管理的key名 |
| mgr | SARibbonActionsManager指针 |
| moveindex | 移动位置,-1代表向上(向左)移动一个位置,1带表向下(向右)移动一个位置 |
|
static |
对应ChangeCategoryOrderActionType
| categoryobjName | 需要移动的categoryobjName |
| moveindex | 移动位置,-1代表向上(向左)移动一个位置,1带表向下(向右)移动一个位置 |
|
static |
对应ChangePanelOrderActionType
| categoryobjName | 需要移动的panel对应的categoryobjName |
| panelObjName | 需要移动的panelObjName |
| moveindex | 移动位置,-1代表向上(向左)移动一个位置,1带表向下(向右)移动一个位置 |
|
static |
对应RemoveActionActionType
| categoryobjName | panel对应的category的obj name |
| panelObjName | panel对应的 obj name |
| key | SARibbonActionsManager管理的key名 |
| mgr | SARibbonActionsManager指针 |
|
static |
对应RemoveCategoryActionType
| categoryobjName | 需要移除的objname |
|
static |
对应RemovePanelActionType
| categoryobjName | panel对应的category的obj name |
| panelObjName | panel对应的 obj name |
|
static |
创建一个RenameCategoryActionType的SARibbonCustomizeData
| newname | 新名字 |
| index | category的索引 |
|
static |
创建一个RenamePanelActionType的SARibbonCustomizeData
| newname | panel的名字 |
| indexValue | panel的索引 |
| categoryobjName | panel对应的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/panel连续出现的添加和删除操作进行移除(前一步添加,后一步删除)
2、针对VisibleCategoryActionType,对于连续出现的操作只保留最后一步
3、针对RenameCategoryActionType和RenamePanelActionType操作,只保留最后一个
4、针对连续的ChangeCategoryOrderActionType,ChangePanelOrderActionType,ChangeActionOrderActionType进行合并为一个动作, 如果合并后原地不动,则删除
| csd |
首先针对连续出现的添加和删除操作进行优化
筛选VisibleCategoryActionType,对于连续出现的操作只保留最后一步
针对RenameCategoryActionType和RenamePanelActionType操作,只需保留最后一个
针对连续的ChangeCategoryOrderActionType,ChangePanelOrderActionType,ChangeActionOrderActionType进行合并
上一步操作可能会产生indexvalue为0的情况,此操作把indexvalue为0的删除
| int SARibbonCustomizeData::indexValue |
记录顺序的参数
在actionType==AddCategoryActionType时,此参数记录Category的insert位置, 在actionType==AddPanelActionType时,此参数记录panel的insert位置, 在actionType==AddActionActionType时,此参数记录panel的insert位置
| QString SARibbonCustomizeData::keyValue |
记录标题、索引等参数
在actionType==AddCategoryActionType时,key为category标题, 在actionType==AddPanelActionType时,key为panel标题, 在actionType==AddActionActionType时,key为action的查询依据,基于SARibbonActionsManager::action查询