Repository navigation
ProgressBarWindow: the bar fills its row (R2026a draws it 2.7 px tall) - #1020
Conversation
In a grid layout MATLAB places a uiaxes by its outer box and keeps room inside it for tick labels and a title, even hidden ones. On R2026a that left a 28 px bar row with a 2.67 px drawing area (measured: OuterPosition [11 11 511 28], InnerPosition [16 16 501 2.67]). Each bar's axes now sit in a borderless panel that the grid lays out, with the axes' inner box set to fill the panel; removeBar moves and deletes the panel. Confirmed by hand on R2026a; testBarFillsItsRow pins the structure. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FxKLA8Tbf9cpvDe7fuVeKf
|
The failing checks here are Cloud CI 1, 2 and 3, the NDI Cloud API tests (
I don't know of a fix for the cloud failure yet, so there's nothing to port here. I'm not re-running it, since it fails on Generated by Claude Code |
…background Matches how R2024b drew it: the previous commit filled the row edge to edge on a white panel. The panel now takes the grid's background colour, and fitBarAxes places the axes' inner box BarMargin (5) px inside the panel, in pixels, again whenever the panel resizes (SizeChangedFcn). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FxKLA8Tbf9cpvDe7fuVeKf
testRemoveBar and testDockedBarRenders asserted the old structure (axes directly in the grid); they now read the panel, Axes.Parent. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FxKLA8Tbf9cpvDe7fuVeKf
|
The first run's Test Results had 6 failures. Two were caused by this PR, and the push I just made fixes them:
The other four aren't caused by this PR. They're cloud token-expiry tests, and this PR doesn't touch their code:
The same four failed on Generated by Claude Code |
Otherwise MATLAB warns that SizeChangedFcn will not execute, and the bar keeps the size it had before the grid laid the panel out (found on R2026a). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FxKLA8Tbf9cpvDe7fuVeKf
… on R2026a Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FxKLA8Tbf9cpvDe7fuVeKf
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1020 +/- ##
==========================================
+ Coverage 31.62% 31.63% +0.01%
==========================================
Files 898 898
Lines 46893 46907 +14
==========================================
+ Hits 14828 14841 +13
- Misses 32065 32066 +1 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Sorry I missed that this was for me. Done now |
main at 695e8d8 (PR #1020, ProgressBarWindow) and the 135 commits before it. Two files changed on both sides (+cloud/+api/url.m, didsqlite.m); both merged without conflict. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FxKLA8Tbf9cpvDe7fuVeKf
main at 695e8d8 (PR #1020, ProgressBarWindow) and the commits before it that V2 did not have (147). Merged without conflict; requirements.txt and tests/requirements.txt take main's openMINDS_MATLAB v0.12.0 and keep V2's other lines. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FxKLA8Tbf9cpvDe7fuVeKf
On R2026a,
ndi.gui.component.ProgressBarWindowdraws each bar a few pixels tall. Measured on a 1920×1080 screen, one bar:The cause: in a grid layout, MATLAB places a
uiaxesby its outer box and keeps room inside it for tick labels and a title, even hidden ones. The window's code is unchanged since June 2025. Its sizing and drawing lines are the same as in 463b0ba, so the difference comes from the MATLAB release.Change:
uipanelthat the grid lays out.BarMargin(5) px inside the panel, in pixels (PositionConstraintinnerposition).fitBarAxesplaces it again whenever the panel resizes, and the panel turnsAutoResizeChildrenoff, without which the resize callback never runs.removeBarmoves and deletes the panel, which it reaches asAxes.Parent.ProgressBarsstruct is unchanged;AxesandPatchare still there.Tests:
testBarFillsItsRow. It checks the panel, the margin,AutoResizeChildren, and that the panel moves and is deleted onremoveBar.testRemoveBarandtestDockedBarRendersnow read the bar's panel (Axes.Parent), not the axes, for its grid row and parent.🤖 Generated with Claude Code
https://claude.ai/code/session_01FxKLA8Tbf9cpvDe7fuVeKf
Generated by Claude Code
Generated by Claude Code