Skip to content

[UI] Absolute layout in GuiPanel breaks WindowBuilder compatibility #102

@AmlanDalai

Description

@AmlanDalai

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:

  1. UI does not respond to window resizing — breaks on different screen resolutions commonly used in life science workstations
  2. 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"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions