很复杂的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);

}

相关推荐
課代表40 分钟前
Windows 文本搜索命令 findstr
windows·正则表达式·命令行·文本·匹配·搜索·findstr
吴声子夜歌1 小时前
Windows——系统配置与管理
windows
chilavert3181 小时前
技术演进中的开发沉思-219 Ajax:样式与事件
ajax·交互
p***92481 小时前
Windows操作系统部署Tomcat详细讲解
java·windows·tomcat
白日做梦Q1 小时前
Linux/Windows系统下:traceroute 与 tracert 路由追踪命令全解析
linux·运维·windows
食品一少年2 小时前
【Day1-3】(Windows版)Open Harmony PC 命令行适配指南环境准备篇(2)
windows
Halo_tjn2 小时前
Java List集合
java·windows·计算机
i***58672 小时前
【RabbitMQ】超详细Windows系统下RabbitMQ的安装配置
windows·分布式·rabbitmq
TTGGGFF5 小时前
人工智能:用Gemini 3一键生成3D粒子电子手部映射应用
人工智能·3d·交互
O***Z6165 小时前
Redis——Windows安装
数据库·windows·redis