当前位置: 首页 > news >正文

很复杂的UI交互操作系统

 看了几天了,内存溢出的问题修复完成了,开源的项目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);
    }
 


http://www.mrgr.cn/news/46584.html

相关文章:

  • 规避路由冲突
  • lerna使用指南
  • linux的大内核锁与顺序锁
  • LangChain学习笔记2 Prompt 模板
  • Spring Boot中的扫描注解如何使用
  • Tomcat详解
  • W外链平台有什么优势?
  • 《Programming from the Ground Up》阅读笔记:p181-p216
  • 基于LORA的一主多从监测系统_0.96OLED
  • CentOS快速配置网络Docker快速部署
  • 希沃冰点还原
  • python发包
  • Javascript 普通非async函数调用async函数
  • 『网络游戏』客户端使用PESorket发送消息到服务器【14】
  • posix接口与system V接口及其异同
  • GitHub每日最火火火项目(10.9)
  • Sentinel
  • 24.第二阶段x86游戏实战2-背包物品属性分析
  • 【SQL】换座位
  • R语言运行地理探测器模型
  • 直击工博会 | 万物集与四大供应商强强联手,开启战略合作新纪元!
  • 全方位提升测试技能,轻松应对测试面试
  • 常见问题搜集
  • 指针函数C++
  • 不会位运算?常见位运算总结!~~~
  • 【C语言】使用结构体实现位段