dde-control-center
Deepin Control Center
载入中...
搜索中...
未找到
dccv23::ModuleObject类 参考

ModuleObject作为规范每个Module的接口,每个Module必须提供其基本的信息 更多...

#include <moduleobject.h>

类 dccv23::ModuleObject 继承关系图:
WidgetModule< T > dccv23::HListModule dccv23::HorizontalModule dccv23::ItemModule dccv23::ListViewModule dccv23::ModuleObjectItem dccv23::PageModule dccv23::SettingsGroupModule dccv23::VListModule

Public 槽

virtual void active ()
 当进入模块时,active会被调用,如无需通知则可不实现
 
virtual QWidget * page ()
 每次被调均需new新的QWidget
 
virtual void deactive ()
 当离开模块时,deactive会被调用,如无需通知则可不实现
 
void setHidden (bool hidden)
 
void setVisible (bool visible)
 
void setDisabled (bool disabled)
 
void setEnabled (bool enabled)
 
void trigger ()
 
virtual void setName (const QString &name)
 
virtual void setDisplayName (const QString &displayName)
 
virtual void setDescription (const QString &description)
 
virtual void setContentText (const QStringList &contentText)
 
virtual void addContentText (const QString &contentText)
 
virtual void addContentText (const QStringList &contentText)
 
virtual void setIcon (const QVariant &icon)
 
virtual void setIcon (const QIcon &icon)
 
virtual void setBadge (int badge)
 
virtual void setFlagState (uint32_t flag, bool state)
 setFlagState 设置状态标志,状态标志共32位,高16位为预留,低16位可根据需要设置
 
void setCurrentModule (ModuleObject *child)
 setCurrentModule 设置当前active的子项
 

信号

void moduleDataChanged ()
 基本信息改变后发送此信号
 
void displayNameChanged (const QString &displayName)
 displayName改变后发送此信号
 
void stateChanged (uint32_t flag, bool state)
 stateChanged 状态标志变化 (可见、禁用等)
 
void childStateChanged (ModuleObject *const child, uint32_t flag, bool state)
 childStateChanged 子项状态标志变化 (可见、禁用等)
 
void removedChild (ModuleObject *const module)
 删除child前触发
 
void insertedChild (ModuleObject *const module)
 插入child后触发
 
void childrenSizeChanged (const int size)
 childrens() 改变后必须发送此信号
 
void triggered ()
 trigger触发该信号,框架收到信号会切换到该ModuleObject页
 
void currentModuleChanged (ModuleObject *currentModule)
 currentModuleChanged 当前激活的子项改变时会触发此信号
 
void visibleChanged ()
 

Public 成员函数

 ModuleObject (QObject *parent=nullptr)
 
 ModuleObject (const QString &name, const QString &displayName={}, QObject *parent=nullptr)
 
 ModuleObject (const QString &name, const QStringList &contentText, QObject *parent=nullptr)
 
 ModuleObject (const QString &name, const QString &displayName, const QStringList &contentText, QObject *parent=nullptr)
 
 ModuleObject (const QString &name, const QString &displayName, const QVariant &icon, QObject *parent=nullptr)
 
 ModuleObject (const QString &name, const QString &displayName, const QString &description, QObject *parent=nullptr)
 
 ModuleObject (const QString &name, const QString &displayName, const QString &description, const QVariant &icon, QObject *parent=nullptr)
 
 ModuleObject (const QString &name, const QString &displayName, const QString &description, const QIcon &icon, QObject *parent=nullptr)
 
 ModuleObject (const QString &name, const QString &displayName, const QString &description, const QStringList &contentText, const QVariant &icon, QObject *parent=nullptr)
 
 ModuleObject (const ModuleInitContext &message, QObject *parent=nullptr)
 
virtual QWidget * activePage (bool autoActive=true)
 activePage 激活并返回page
 
QString name () const
 
QString displayName () const
 
QString description () const
 
QStringList contentText () const
 
QVariant icon () const
 
int badge () const
 
bool isHidden () const
 
bool isVisible () const
 
bool isDisabled () const
 
bool isEnabled () const
 
bool getFlagState (uint32_t flag) const
 获取状态标志
 
uint32_t getFlag () const
 
bool extra () const
 
void setExtra (bool value=true)
 
bool noSearch () const
 
void setNoSearch (bool noSearch=true)
 
ModuleObjectcurrentModule () const
 currentModule 当前active的子项 当前active的子项变化时会触发currentModuleChanged信号, page与子项相关时需要处理currentModuleChanged信号
 
virtual ModuleObjectdefultModule ()
 defultModule 默认active的子项 当某个页面被active时,会通过defultModule去active子项 当返回为nullptr时,不再递归active子项 ModuleObject类默认处理为返回第一个未隐藏的子项
 
ModuleObjectgetParent ()
 
int findChild (ModuleObject *const child)
 搜索子项,使用广度搜索
 
bool hasChildrens ()
 
const QList< ModuleObject * > & childrens ()
 子项,不可直接使用QList进行增删改操作,应使用appendChild、removeChild、insertChild
 
ModuleObjectchildren (const int index) const
 
int getChildrenSize () const
 
virtual void appendChild (ModuleObject *const module)
 
virtual void removeChild (ModuleObject *const module)
 
virtual void removeChild (const int index)
 
virtual void insertChild (QList< ModuleObject * >::iterator before, ModuleObject *const module)
 
virtual void insertChild (const int index, ModuleObject *const module)
 
virtual DCC_MODULE_TYPE getClassID () const
 

静态 Public 成员函数

static int findChild (ModuleObject *const module, ModuleObject *const child)
 
static unsigned GetCurrentVersion ()
 Returns current ModuleObject version
 
static bool IsVisible (dccv23::ModuleObject *const module)
 IsVisible 返回module是否显示,判断了配置项和程序设置项
 
static bool IsHidden (dccv23::ModuleObject *const module)
 
static bool IsHiddenFlag (uint32_t flag)
 IsHiddenFlag 判断标志是否为隐藏标志
 
static bool IsEnabled (dccv23::ModuleObject *const module)
 IsEnabled 返回module是否可用,判断了配置项和程序设置项
 
static bool IsDisabled (dccv23::ModuleObject *const module)
 
static bool IsDisabledFlag (uint32_t flag)
 IsDisabledFlag 判断标志是否为禁用标志
 

属性

QString name
 
QString displayName
 
QString description
 
QStringList contentText
 
QVariant icon
 
int badge
 
bool hidden
 
bool disabled
 

详细描述

ModuleObject作为规范每个Module的接口,每个Module必须提供其基本的信息

成员函数说明

◆ activePage()

virtual QWidget * dccv23::ModuleObject::activePage ( bool  autoActive = true)
virtual

activePage 激活并返回page

参数
autoActive是否自动调用active
返回
ModuleObject隐藏时返回nullptr,否则返回page返回的QWidget *

◆ childrens()

const QList< ModuleObject * > & dccv23::ModuleObject::childrens ( )

子项,不可直接使用QList进行增删改操作,应使用appendChild、removeChild、insertChild

返回
子项列表

◆ childStateChanged

void dccv23::ModuleObject::childStateChanged ( ModuleObject *const  child,
uint32_t  flag,
bool  state 
)
signal

childStateChanged 子项状态标志变化 (可见、禁用等)

参数
child子项
flag标志
state变化后值

◆ currentModule()

ModuleObject * dccv23::ModuleObject::currentModule ( ) const

currentModule 当前active的子项 当前active的子项变化时会触发currentModuleChanged信号, page与子项相关时需要处理currentModuleChanged信号

返回
当前active的子项

◆ currentModuleChanged

void dccv23::ModuleObject::currentModuleChanged ( ModuleObject currentModule)
signal

currentModuleChanged 当前激活的子项改变时会触发此信号

参数
currentModule当前激活的子项

◆ defultModule()

virtual ModuleObject * dccv23::ModuleObject::defultModule ( )
virtual

defultModule 默认active的子项 当某个页面被active时,会通过defultModule去active子项 当返回为nullptr时,不再递归active子项 ModuleObject类默认处理为返回第一个未隐藏的子项

返回
默认active的子项

◆ findChild()

int dccv23::ModuleObject::findChild ( ModuleObject *const  child)

搜索子项,使用广度搜索

参数
child子项
返回
子项所在的层数,返回0表示module自己,-1表示未搜索到

◆ getFlagState()

bool dccv23::ModuleObject::getFlagState ( uint32_t  flag) const

获取状态标志

返回
对应状态位是否

◆ IsDisabledFlag()

static bool dccv23::ModuleObject::IsDisabledFlag ( uint32_t  flag)
static

IsDisabledFlag 判断标志是否为禁用标志

参数
flag标志
返回
true 有禁用标志位 false 没有禁用标志位

◆ IsEnabled()

static bool dccv23::ModuleObject::IsEnabled ( dccv23::ModuleObject *const  module)
static

IsEnabled 返回module是否可用,判断了配置项和程序设置项

参数
module
返回

◆ IsHiddenFlag()

static bool dccv23::ModuleObject::IsHiddenFlag ( uint32_t  flag)
static

IsHiddenFlag 判断标志是否为隐藏标志

参数
flag标志
返回
true 有隐藏标志位 false 没有隐藏标志位

◆ IsVisible()

static bool dccv23::ModuleObject::IsVisible ( dccv23::ModuleObject *const  module)
static

IsVisible 返回module是否显示,判断了配置项和程序设置项

参数
module
返回

◆ page

virtual QWidget * dccv23::ModuleObject::page ( )
virtualslot

每次被调均需new新的QWidget

返回
返回自定义页面
警告
page返回的widget生命周期只是对应窗口显示的时候,即模块切换时就会被析构。ModuleObject的生命周期是从控制中心启动到关闭

dccv23::HListModule, dccv23::PageModule, dccv23::VListModule, dccv23::HorizontalModule, dccv23::ItemModule, dccv23::ListViewModule, dccv23::SettingsGroupModule , 以及 WidgetModule< T > 重载.

◆ setCurrentModule

void dccv23::ModuleObject::setCurrentModule ( ModuleObject child)
slot

setCurrentModule 设置当前active的子项

参数
child当前active的子项

◆ setFlagState

virtual void dccv23::ModuleObject::setFlagState ( uint32_t  flag,
bool  state 
)
virtualslot

setFlagState 设置状态标志,状态标志共32位,高16位为预留,低16位可根据需要设置

参数
flag需要设置的状态位
statetrue 置位 false 复位

◆ stateChanged

void dccv23::ModuleObject::stateChanged ( uint32_t  flag,
bool  state 
)
signal

stateChanged 状态标志变化 (可见、禁用等)

参数
flag
state

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