SARibbon 2.2.3
SARibbon wiki
载入中...
搜索中...
未找到
SARibbonCustomizeData类 参考

记录所有自定义操作的数据类 更多...

#include <SARibbonCustomizeData.h>

Public 类型

enum  ActionType {
  UnknowActionType = 0 , AddCategoryActionType , AddPannelActionType , AddActionActionType ,
  RemoveCategoryActionType , RemovePannelActionType , RemoveActionActionType , ChangeCategoryOrderActionType ,
  ChangePannelOrderActionType , ChangeActionOrderActionType , RenameCategoryActionType , RenamePannelActionType ,
  VisibleCategoryActionType
}
 

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
 
SARibbonActionsManageractionManager ()
 获取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< SARibbonCustomizeDatasimplify (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 要在SARibbonActionsManager之后使用此类

成员枚举类型说明

◆ ActionType

枚举值
UnknowActionType 

未知操作

AddCategoryActionType 

添加category操作(1)

AddPannelActionType 

添加pannel操作(2)

AddActionActionType 

添加action操作(3)

RemoveCategoryActionType 

删除category操作(4)

RemovePannelActionType 

删除pannel操作(5)

RemoveActionActionType 

删除action操作(6)

ChangeCategoryOrderActionType 

改变category顺序的操作(7)

ChangePannelOrderActionType 

改变pannel顺序的操作(8)

ChangeActionOrderActionType 

改变action顺序的操作(9)

RenameCategoryActionType 

对category更名操作(10)

RenamePannelActionType 

对Pannel更名操作(11)

VisibleCategoryActionType 

对category执行隐藏/显示操作(12)

成员函数说明

◆ actionManager()

SARibbonActionsManager * SARibbonCustomizeData::actionManager ( )

获取actionmanager指针

返回

◆ actionType()

SARibbonCustomizeData::ActionType SARibbonCustomizeData::actionType ( ) const

获取CustomizeData的action type

返回

◆ apply()

bool SARibbonCustomizeData::apply ( SARibbonBar * bar) const

应用SARibbonCustomizeData到SARibbonBar

参数
m
返回
如果应用失败,返回false,如果actionType==UnknowActionType直接返回false

◆ isCanCustomize()

bool SARibbonCustomizeData::isCanCustomize ( QObject * obj)
static

判断外置属性,是否允许自定义

参数
obj
返回

◆ isValid()

bool SARibbonCustomizeData::isValid ( ) const

判断是否是一个正常的CustomizeData

实际逻辑actionType() != UnknowActionType

返回
有用的CustomizeData返回true

◆ makeAddActionCustomizeData()

SARibbonCustomizeData SARibbonCustomizeData::makeAddActionCustomizeData ( const QString & key,
SARibbonActionsManager * mgr,
SARibbonPannelItem::RowProportion rp,
const QString & categoryObjName,
const QString & pannelObjName )
static

添加action

参数
keyaction的索引
mgraction管理器
rp定义action的占位情况
categoryObjNameaction添加到的category的objname
pannelObjNameaction添加到的category下的pannel的objname
indexaction添加到的pannel的索引
返回

◆ makeAddCategoryCustomizeData()

SARibbonCustomizeData SARibbonCustomizeData::makeAddCategoryCustomizeData ( const QString & title,
int index,
const QString & objName )
static

创建一个AddCategoryActionType的SARibbonCustomizeData

参数
titlecategory 的标题
indexcategory要插入的位置
objNamecategory的object name
返回
返回AddCategoryActionType的SARibbonCustomizeData

◆ makeAddPannelCustomizeData()

SARibbonCustomizeData SARibbonCustomizeData::makeAddPannelCustomizeData ( const QString & title,
int index,
const QString & categoryobjName,
const QString & objName )
static

创建一个AddPannelActionType的SARibbonCustomizeData

参数
titlepannel的标题
indexpannel的index
categoryobjNamepannel的category的objectname
objNamepannel的objname
返回
返回AddPannelActionType的SARibbonCustomizeData

◆ makeChangeActionOrderCustomizeData()

SARibbonCustomizeData SARibbonCustomizeData::makeChangeActionOrderCustomizeData ( const QString & categoryobjName,
const QString & pannelObjName,
const QString & key,
SARibbonActionsManager * mgr,
int moveindex )
static

对应ChangeActionOrderActionType

参数
categoryobjName需要移动的pannel对应的categoryobjName
pannelObjName需要移动的pannelObjName
keySARibbonActionsManager管理的key名
mgrSARibbonActionsManager指针
moveindex移动位置,-1代表向上(向左)移动一个位置,1带表向下(向右)移动一个位置
返回

◆ makeChangeCategoryOrderCustomizeData()

SARibbonCustomizeData SARibbonCustomizeData::makeChangeCategoryOrderCustomizeData ( const QString & categoryobjName,
int moveindex )
static

对应ChangeCategoryOrderActionType

参数
categoryobjName需要移动的categoryobjName
moveindex移动位置,-1代表向上(向左)移动一个位置,1带表向下(向右)移动一个位置
返回

◆ makeChangePannelOrderCustomizeData()

SARibbonCustomizeData SARibbonCustomizeData::makeChangePannelOrderCustomizeData ( const QString & categoryobjName,
const QString & pannelObjName,
int moveindex )
static

对应ChangePannelOrderActionType

参数
categoryobjName需要移动的pannel对应的categoryobjName
pannelObjName需要移动的pannelObjName
moveindex移动位置,-1代表向上(向左)移动一个位置,1带表向下(向右)移动一个位置
返回

◆ makeRemoveActionCustomizeData()

SARibbonCustomizeData SARibbonCustomizeData::makeRemoveActionCustomizeData ( const QString & categoryobjName,
const QString & pannelObjName,
const QString & key,
SARibbonActionsManager * mgr )
static

对应RemoveActionActionType

参数
categoryobjNamepannel对应的category的obj name
pannelObjNamepannel对应的 obj name
keySARibbonActionsManager管理的key名
mgrSARibbonActionsManager指针
返回

◆ makeRemoveCategoryCustomizeData()

SARibbonCustomizeData SARibbonCustomizeData::makeRemoveCategoryCustomizeData ( const QString & categoryobjName)
static

对应RemoveCategoryActionType

参数
categoryobjName需要移除的objname
返回

◆ makeRemovePannelCustomizeData()

SARibbonCustomizeData SARibbonCustomizeData::makeRemovePannelCustomizeData ( const QString & categoryobjName,
const QString & pannelObjName )
static

对应RemovePannelActionType

参数
categoryobjNamepannel对应的category的obj name
pannelObjNamepannel对应的 obj name
返回

◆ makeRenameCategoryCustomizeData()

SARibbonCustomizeData SARibbonCustomizeData::makeRenameCategoryCustomizeData ( const QString & newname,
const QString & categoryobjName )
static

创建一个RenameCategoryActionType的SARibbonCustomizeData

参数
newname新名字
indexcategory的索引
返回
返回RenameCategoryActionType的SARibbonCustomizeData

◆ makeRenamePannelCustomizeData()

SARibbonCustomizeData SARibbonCustomizeData::makeRenamePannelCustomizeData ( const QString & newname,
const QString & categoryobjName,
const QString & pannelObjName )
static

创建一个RenamePannelActionType的SARibbonCustomizeData

参数
newnamepannel的名字
indexValuepannel的索引
categoryobjNamepannel对应的category的object name
返回
返回RenamePannelActionType的SARibbonCustomizeData

◆ makeVisibleCategoryCustomizeData()

SARibbonCustomizeData SARibbonCustomizeData::makeVisibleCategoryCustomizeData ( const QString & categoryobjName,
bool isShow )
static

SARibbonCustomizeData::makeVisibleCategoryCustomizeData

参数
categoryobjName
isShow
返回

◆ setActionsManager()

void SARibbonCustomizeData::setActionsManager ( SARibbonActionsManager * mgr)

设置ActionsManager

参数
mgr

◆ setActionType()

void SARibbonCustomizeData::setActionType ( SARibbonCustomizeData::ActionType a)

设置CustomizeData的action type

参数
a

◆ setCanCustomize()

void SARibbonCustomizeData::setCanCustomize ( QObject * obj,
bool canbe = true )
static

设置外置属性允许自定义

参数
obj
canbe

◆ simplify()

QList< SARibbonCustomizeData > SARibbonCustomizeData::simplify ( const QList< SARibbonCustomizeData > & csd)
static

对QList<SARibbonCustomizeData>进行简化操作

此函数会执行如下操作: 1、针对同一个category/pannel连续出现的添加和删除操作进行移除(前一步添加,后一步删除)

2、针对VisibleCategoryActionType,对于连续出现的操作只保留最后一步

3、针对RenameCategoryActionType和RenamePannelActionType操作,只保留最后一个

4、针对连续的ChangeCategoryOrderActionType,ChangePannelOrderActionType,ChangeActionOrderActionType进行合并为一个动作, 如果合并后原地不动,则删除

参数
csd
返回
返回简化的QList<SARibbonCustomizeData>

首先针对连续出现的添加和删除操作进行优化

筛选VisibleCategoryActionType,对于连续出现的操作只保留最后一步

针对RenameCategoryActionType和RenamePannelActionType操作,只需保留最后一个

针对连续的ChangeCategoryOrderActionType,ChangePannelOrderActionType,ChangeActionOrderActionType进行合并

上一步操作可能会产生indexvalue为0的情况,此操作把indexvalue为0的删除

类成员变量说明

◆ indexValue

int SARibbonCustomizeData::indexValue

记录顺序的参数

在actionType==AddCategoryActionType时,此参数记录Category的insert位置, 在actionType==AddPannelActionType时,此参数记录pannel的insert位置, 在actionType==AddActionActionType时,此参数记录pannel的insert位置

◆ keyValue

QString SARibbonCustomizeData::keyValue

记录标题、索引等参数

在actionType==AddCategoryActionType时,key为category标题, 在actionType==AddPannelActionType时,key为pannel标题, 在actionType==AddActionActionType时,key为action的查询依据,基于SARibbonActionsManager::action查询


该类的文档由以下文件生成: