rhett-lee / nim_duilib

duilib界面库的改进版,支持Windows/Linux平台(基于SDL3),支持Skia渲染引擎(支持CPU/GPU),支持DPI感知,多语言动态切换,支持SVG,PNG,GIF,JPG,BMP,APNG,WEBP,ICO图片,支持GIF/WebP/APNG动画。
MIT License
69 stars 15 forks source link

RichText功能完善,完善多语言版的功能,资源管理相关的优化 #1

Closed rhett-lee closed 6 months ago

rhett-lee commented 6 months ago

功能完善与缺陷修复 1、完善RichText控件的功能: (1)增加text、text_id、trim_policy三个属性,从而支持多语言版; (2)完善文本对齐功能,支持各种对齐方式。 2、完善多语言版的功能: (1)Window增加标题栏文本的多语版支持; (2)资源管理GlobalManager支持从zip压缩包中获取多语言版文件列表,从而支持多语言切换。 (3)完善了多语版的语言动态切换功能; (4)示例程序:增加一个多语言功能的演示程序(MultiLang),并完善文档。 3、优化菜单相关的类和XML节点重命名,保持命名规则一致(CMenuElementUI -> MenuItem, CMenuWnd -> Menu, CSubMenuUI -> SubMenu,MenuElement -> MenuItem)。 4、资源管理相关的优化: (1)对GlobalManager的Startup函数重构,引入参数ResourceParam,以支持三种形式的资源初始化(本地资源文件、Zip压缩包、Zip压缩包打包到exe资源中); (2)对GlobalManager中的写死各个文件名进行整理,允许通过参数传入修改其名称(比如:"global.xml"等)。 (3)GlobalManager增加GetLanguageList函数,并对多语言支持的功能进行加强,减少应用层对多语言支持的开发工作量; (4)调整资源目录中语言目录(Lang)的多语言文件的组织形式,不再放在子目录中,而是放在一起,用文件名区分。 5、缺陷修复:修复菜单引起的缺陷:如果菜单处理事件中有UI弹出(比如断言等)时会出现程序崩溃现象。