racket / racket/gui

Instances of group-box-panel% fail to show inside some panels in Windows

Open
#271 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Racket
Stars
68
Forks
82
PR merge metrics
No merged PRs in 30d

Description

The following example reproduces an inconsistency in the behavior of (at least) the combination of auto-vscroll and group-box-panel% between Windows and the other two platforms.

In macOS and Linux, group-box-panels show as expected when placed inside a vertical-panel, regardless of the style parameters of the vertical-panel.

In Windows, the group-box-panel fails to show when the parent vertical-panel has auto-vscroll as one of the style parameters.

Any other widgets inside the problematic panel (such as message% or button%) seem to behave as expected in all platforms.

What version of Racket are you using?
8.5 [cs]

What program did you run?
This short program reproduces the bug. See the attached Linux and Window screenshots for further comparison.

#lang racket/gui

(define test-frame-1 (new frame% [label "Test with auto-vscroll"] [width 512] [height 512]))
(define parent-frame-1 (new vertical-panel% [parent test-frame-1] [style '(auto-vscroll)]))
(define group-box-panel-1 (new group-box-panel% [parent parent-frame-1] [label "Hello world"]))
(define test-message-1 (new message% [parent parent-frame-1] [label "Test message"]))
(send test-frame-1 show #t)

(define test-frame-2 (new frame% [label "Test without auto-vscroll"] [width 512] [height 512]))
(define parent-frame-2 (new vertical-panel% [parent test-frame-2]))
(define group-box-panel-2 (new group-box-panel% [parent parent-frame-2] [label "Hello world"]))
(define test-message-2 (new message% [parent parent-frame-2] [label "Test message"]))
(send test-frame-2 show #t)

Ubuntu screenshot
Windows screenshot

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the supplied #lang racket/gui reproducer and run it on Windows, comparing the two vertical-panel configurations and the Linux or macOS behavior. Investigate the group-box-panel% and auto-vscroll interaction; done means the group box displays inside the scrolling vertical panel while message% and the other platform behavior remain unaffected.

Written by the indexing model from the issue text.

Assessment

Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.