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

}

相关推荐
磊灬泽4 小时前
【日常错误】鼠标无反应
linux·windows
开开心心loky8 小时前
[iOS] push 和 present Controller 的区别
ui·ios·objective-c·cocoa
眠りたいです9 小时前
基于脚手架微服务的视频点播系统-播放控制部分
c++·qt·ui·微服务·云原生·架构·播放器
UNbuff_011 小时前
Windows netstat 命令使用说明
windows
您的通讯录好友11 小时前
conda环境导出
linux·windows·conda
子兮曰16 小时前
🔥C盘告急!WSL磁盘暴增?三招秒清20GB+空间
前端·windows·docker
学历真的很重要17 小时前
Claude Code Windows 原生版安装指南
人工智能·windows·后端·语言模型·面试·go
李游Leo17 小时前
LaTeX TeX Live 安装与 CTAN 国内镜像配置(Windows / macOS / Linux 全流程)
linux·windows·macos
我命由我1234517 小时前
Photoshop - Photoshop 创建文档
学习·ui·课程设计·设计·photoshop·ps·美工
六月的可乐18 小时前
【干货推荐】AI助理前端UI组件-悬浮球组件
前端·人工智能·ui