很复杂的UI交互操作系统Advanced-Docking-System

看了几天了,内存溢出的问题修复完成了,开源的项目Advanced-Docking-System想不到这么多问题,bugfix真要命,关键GitHub上stars还挺多的,原作者估计不想维护了,毕竟bug太多了

这几天把菜单理了一下,之前的作者写得太乱了,太难读了,代码冗余太多了,这几天再改bug,算当作学习之用吧

///

DockAreaTitleBar.cpp 只有TitleBar操作CDockAreaWidget

//============================================================================

void CDockAreaTitleBar::onPinGroupToActionClicked()//Pin Group to

{

int Location = sender()->property(internal::LocationProperty).toInt();

d->DockAreaWidget->toggleAutoHide((SideBarLocation)Location);

}

void CDockAreaWidget::toggleAutoHide(SideBarLocation Location)

{

//if (!isAutoHideFeatureEnabled())已经启用了AutoHideFeatureEnabled

//{

// return;

//}

setAutoHide(!isAutoHide(), Location);

}

/

//autohideTab.cpp,操作CDockWidget

//============================================================================

void CAutoHideTab::onUnpinActionClicked()

{//这个是鼠标右键弹出菜单Unpin的槽函数,参数false表示把一个autohide页面变成dock页面,位置默认为SideBarNone

d->DockWidget->setAutoHide(false);

}

void CAutoHideTab::onPinToActionClicked()

{

//这个是鼠标右键弹出菜单Pin to的Slots函数,参见上面的contextMenuEvent函数

int Location = sender()->property(internal::LocationProperty).toInt();//Location由Pin to子菜单决定

//pin一个autohide页面,位置为Location

d->DockWidget->setAutoHide(true, (SideBarLocation)Location);

}

//DockWidgetTab.cpp,操作CDockWidget

//===========================================================================

void CDockWidgetTab::onPinToActionClicked()

{这个是鼠标右键弹出菜单Pin to的Slots函数,参见上面的contextMenuEvent函数

int Location = sender()->property(internal::LocationProperty).toInt();

d->DockWidget->toggleAutoHide((SideBarLocation)Location);

}

void CDockWidget::toggleAutoHide(SideBarLocation Location)//called by CDockWidgetTab::pinAutoHideDockWidget()

{

//if (!CDockManager::testAutoHideConfigFlag(CDockManager::AutoHideFeatureEnabled))//zxb

//{

// return;

//}

setAutoHide(!isAutoHide(), Location);

}

相关推荐
CSDN云计算3 分钟前
自然交互开启原生办公新时代 汉王科技发布全新MOUNTAIN系列手写办公本
科技·交互·汉王·原生办公
云卓科技6 分钟前
无人机之任务分配算法篇
科技·算法·机器人·无人机·交互·制造
唐宋元明清218819 分钟前
Windows 多次制作母盘,备份文件变大的问题
windows
向你扔鸡爪3 小时前
驱动——线程断链和信息获取
windows
2301_80220193关注我4 小时前
Parameters参数、增删改标签、事务、typeAliases
java·数据库·windows
设计是门艺术5 小时前
蚂蚁Ant Design:设计师的理想工具
人工智能·ui
柴头物联网5 小时前
XQT_UI 组件|01|颜色
开发语言·qt·ui
浪漫主义狗5 小时前
JDK源码系列(二)—— ArrayList 和 LinkedList 深度源码解析
java·开发语言·windows·源码
dot.Net安全矩阵5 小时前
.NET内网实战:通过白名单文件反序列化漏洞绕过UAC
windows·.net·交互
小羊子说10 小时前
智能座舱相关术语全解及多模态交互在智能座舱中的应用
android·车载系统·汽车·交互