phase33(display-engine): introduce private FormBrowser view model#29
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
这是干什么了?
这不是完整 DisplayEngine UX 重写,而是先给
ModernDisplayEngineDxe的 product path 加一层私有中间模型:目的:后续 DisplayEngine 不要直接在 callback/绘制函数里散落
Statement->OpCode->OpCode的 UX 判断,而是先把 FormBrowser 已经算好的 statement/form 状态归一化成 ModernSetup 自己理解的 row kind/state。摘要
ModernDisplayFormModel.{h,c},只放在ModernUiCustomizedDisplayLib内部,不新增 DEC/public API。MODERN_DISPLAY_FORM_MODEL/MODERN_DISPLAY_FORM_ROW/ row kind / row state。RefreshKeyHelp()改为通过 row kind/state 做 UX 分流,保留现有 key help 行为。FORM_DISPLAY_ENGINE_*指针,不复制/拥有 HII 数据。明确边界
ModernUiHiiBridgeLib为 product path。ModernUiRendererLib/ModernUiEngineLibpublic API。验证
python3 Tests/Smoke/smoke_validate.pyPASSScripts/xarch-validate.sh --all --mode dry-runPASSgit diff --check HEAD~1..HEADPASSTARGET=RELEASE MODERN_SETUP_DISPLAY_ENGINE=modern MODERN_SETUP_REPLACE_UIAPP=1 Scripts/build-ovmf-x64.shPASS