Repository navigation
Improve menu interaction and themes for Icod.Widgets 1.6.0 - #12
Merged
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.
This PR adds a persistent one-row menu bar with content-sized dropdowns anchored beneath the selected heading. Up/Down wrap enabled commands, Left/Right switch roots or navigate nested submenus, and Escape restores editor focus. Nested submenus now preserve their parent in separate panels: open to the right when space permits, otherwise overlay the parent. Exposed parent rows remain clickable; child borders occlude parent hit testing.
Themes control colors, mnemonic styling and optional hover (
HighlightMenuHover, off by default). Hover never changes keyboard selection. An optionalModalBackdropdims underlying host content while preserving cells and nested modal focus.The gallery has File/Edit/View/Help above an editable document, F8 hover, Ctrl+T themes, Help > About, and Ctrl+Z/Ctrl+Y/Ctrl+A edit bindings. The sample refresh now finishes at the editor caret, hides it before non-editor refreshes, uses synchronized output, and avoids repeating unavailable cursor-style queries.
Message dialogs now activate OK, Yes/No, and OK/Cancel on a matching primary-button press and release. Hit testing follows the rendered, clipped labels; gaps and Escape hints are inert. Focus loss, layout changes, disabling, closing, or keyboard input cancel pending clicks. Completion restores prior focus.
README remains brief. It now records cascading submenu placement and message-dialog pointer activation; the sample index adds the corresponding review walkthrough. CHANGELOG, the interaction guide, gallery guide and expanded curated 1.6.0 notes carry the full behavior and compatibility details. NuGet package notes summarize the complete release. Version is 1.6.0; targets remain net8/net9/net10, assembly identity remains 1.0.0.0.
Dependency gate — do not merge yet
The owner's recording exposed two defects in Icod.Terminal 1.29.0: legacy Alt+F splits into Escape and text, and Windows console stream reads can interpret Ctrl+Z as EOF. Companion Terminal PR #88 prepares 1.29.1. Publish that patch and update the Widgets/DCurses dependency chain before the physical Windows retest. Current references stay on published DCurses 2.5.0; this PR alone does not resolve those transport defects.
Validation
4ff630274d5d77d54856e17c0625679b9bb37cab, including sample smokes and exact package/consumer validation.Do not merge or publish automatically.