menu源码分析

1. 菜单根据功能不同被划分了不同的section,不同的section的源码被分布在不同的地方

    例如,主菜单的源码在Editor/Mainframe,datavaildation菜单的源码在Plugins\Editor\DataValidation

2. 以主菜单为例,菜单以如下方法构建

   

    首先创建出此菜单的section,然后在section中加入具体的菜单项

3. 通过查看主菜单的构建,可以看到是用的 FMenuBuilder 这个类进行构建,分析FMenuBuilder发现

   菜单的section是由 FHeadingBlock 创建

4.  通过查看 FHeadingBlock 源码

   可以看到最终Section是由 SHeadingBlock 这个SlateUI 创建

5. 再分析SHeadingBlock源码

 可以看到其样式是由 .Heading 决定

6. 搜索 .Heading样式,在CoreStyle.cpp中搜索到此样式

7. 修改其样式,即可改变其表现形式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
enuetOS是一个为x86(IBM兼容)计算机开发的业余操作系统,它是一款完全由汇编语言(32位)写成的迷你操作系统,因此它更小、更快,并且系统本身用应用程序占用很少的系统资源。   项目最初是芬兰人 Ville Turjanmaa(赫尔辛基大学) 利用业余时间开发完成。现在世界各地都有 MenuetOS 的开发者,他们正在不断完善这个操作系统。    这个项目目前由 Jarek Pelczar(jarekp3[@]wp[.]pl) 接管。项目的中文版由本站站长 E-mean X. 开发。   MenuetOS 并不像现在流行的 Linux 及其它如 FreeBSD、Minix 一样是一个类 Unix 的操作系统,它完全由32位汇编语言编写的系统。Menuet 及其应用程序不基于当前任何一款流行的操作系统而运作,主要是为在开发过程中避免复杂的编程及各种不可预料的 Bug。   尽管Menuet是完全用 32位汇编写成的,但它的系统程序构架并不完全是为汇编语言而保留,它的接口实际上可用于任何程序设计语言。尽管如此,系统开发的目的还是为更简化 Asm程序设计而设计,系统下 GUI编程尤其体现这一点。 ·Menuet OS 的特点   - 多任务,多线程  - 图形用户界面,可以达到 32bit color,1280x1024 分辨率  - 程序开发比 Windows 和 Linux 之类的系统更容易  - IDE环境:自带应用程序及内核编辑编译工具  - 完全开放的源代码(GPL)  - TCP/IP 协议栈、PPP 及 局域网络  - HTTP,MP3,Mail 服务器,3D迷宫  - irc, http, nntp 及 tftp客户端  - 自由的界面,窗口可换“皮肤”  - 仅一张 1.44M 软盘可以装下! ·Menuet OS 对硬件的基本要求  CPU : 386 或与之相兼容的 CPU 显示: 支持 VESA 2.0(建议使用) 或 VESA 1.2 的显卡,VGA/EGA 显示器。 声卡: Creative SB(Sound blaster) 16或兼容声效卡 硬盘: ATA LBA 模式 FAT32文件系统 网络: Realtech 8029/8139, Intel 8255x, 3com, PCNET32 Ethernet PCI cards PPP dialup 鼠标: PS/2 或 COM 内存: 至少32M
Release notes: 04.11.2017 1.26.90 Updates & improvements - pciscan,sysdata,cpuid,window preview,alttab - cmd,icons,menu,onscreen keyboard,games - irc,setup,virtualbox-audio,micamp - transparency,scrolls,mouse 10.06.2017 1.25.90 Various improvements (midiplayer,calculator,games,..) 25.02.2017 1.24.80 Improved USB webcam support Command prompt (fasm,editor,ftpc) 17.10.2016 1.23.90 Support for 32 GB of Ram, faster memory manager Classic Solitaire, Blockout-clone, Pacman Improved usb keyboard and mouse support 16.05.2016 1.22.50 Improved SMP support (upto 32 processors) 18.04.2016 1.21.20 Support for time-critical, non-preempting processes with sysc.240; SMP support for sysc.122/5, 3d.asm 26.02.2016 1.20.40 Various improvements (transparency, applications) 24.01.2016 1.15.50 Context mixing compressor by Akos Mogyorosi (sys152) 27.11.2015 1.10.50 Improved usb storage and webcam support Wider system directory use in applications, icons, menu and configuration 17.09.2015 1.05.70 WebCall, IP to IP with audio and video 26.06.2015 1.02.20 Streaming audio (internet radio) support 05.06.2015 1.02.00 Streaming movie support 29.05.2015 1.01.00 Faster networking 15.05.2015 1.00.00 Mediaplayer demo, dibcom 0700 TV-tuner firmware 3DS Viewer update from Maciej Guba, macgub3@wp.pl Midiplayer, FTP client and server, Draw updates Https, Chess, C5, Tetris updates 22.01.2015 0.99.88 Updates and improvements (httpc,ehci,picview,memcheck,menu,wallpaper,ohci, uhci,maps/streetview,icons,dhcp,freeform window, smp threads,smp init,onscreen keyboard,utf8 support tcp/ip,keyboard layouts:western,c
Menuet 是英国一位软件工程师 Ville Mikael Turjanmaa 利用业余时间开发的,完全由 x86汇编语言于 2000年写成的一款32位操作系统。经过大量的修改与完善后, Menuet OS目前已经成为一个用功能完善的操作系统,目前的版本号是 0.74。Ver 0.75 正在开发中。 MenuetOS 并不是一个类Unix操作系统,它完全由 Asm语言编写的系统。Menuet 不基于当前任何一款流行的操作系统而运作,主要是为在开发过程中避免复杂的编程及各种不可预料的 Bug。 尽管Menuet是完全用 32位汇编写成的,但它的系统程序构架并不完全是为汇编语言而保留,它的接口实际上可用于任何程序设计语言。尽管如此,系统开发的目的还是为更简化 Asm程序设计而设计,系统下 GUI编程尤其体现这一点。 Menuet OS 的特点: 多任务,多线程 图形用户界面,可以达到 16bit color,1280x1024 dpi 程序开发比 Windows 和 Linux 之类的系统更容易 IDE环境:自带应用程序及内核编辑编译工具 完全开放的源代码(GPL) TCP/IP 协议栈、PPP 及 局域网络 HTTP/MP3/Mail 服务器,3D迷宫 自由的界面,窗口可换“皮肤” 仅一张 1.44M 软盘可以装下! Menuet OS 对硬件的要求 : CPU : 386 或更高 显示: 支持 VESA 2.0的显卡(推荐使用)或支持 VESA 1.2 的显卡,至少 1M显存。VGA/EGA 显示器。(注:目前的显卡都支持 VESA 3.0,同时也向下兼容) 声卡: 兼容 SB(Sound blaster) 16声效卡 硬盘: LBA 模式 FAT32文件系统 网络: Realtech 8029/8139 芯片组网卡 鼠标: PS/2 或 COM 或 USB /*别相信这个,我的USB鼠标就用不了*/ 内存: 至少32M
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值