Hello, I am exploring this codebase as part of GSoC 2026 preparation and have identified the following issue.
Problem
GuiPanel currently uses setLayout(null) with hardcoded setBounds() coordinates for all 9 navigation buttons. This causes two problems:
- UI does not respond to window resizing — breaks on different screen resolutions commonly used in life science workstations
- Eclipse WindowBuilder can only parse 2 of 9 components in Design view, making visual UI editing impossible
Evidence
Opening GuiPanel.java in Eclipse WindowBuilder Design view shows only:
- label - "Active Segmentation"
- button - "Select Filters"
The remaining 7 buttons are invisible to WindowBuilder because they are created inside a factory method addButton() rather than as named fields.
Proposed Fix
- Replace
setLayout(null) with BorderLayout at panel level
- Replace button grid with
GridBagLayout
- Declare each button as a named field for WindowBuilder compatibility
- Each button uses its own
GridBagConstraints instance
Related
This is directly aligned with the GSoC 2026 project idea: "streamline and simplify the existing UI implementation using WindowBuilder"
Hello, I am exploring this codebase as part of GSoC 2026 preparation and have identified the following issue.
Problem
GuiPanel currently uses
setLayout(null)with hardcodedsetBounds()coordinates for all 9 navigation buttons. This causes two problems:Evidence
Opening GuiPanel.java in Eclipse WindowBuilder Design view shows only:
The remaining 7 buttons are invisible to WindowBuilder because they are created inside a factory method
addButton()rather than as named fields.Proposed Fix
setLayout(null)withBorderLayoutat panel levelGridBagLayoutGridBagConstraintsinstanceRelated
This is directly aligned with the GSoC 2026 project idea: "streamline and simplify the existing UI implementation using WindowBuilder"