TASEmulators / TASEmulators/BizHawk

Make all `Form`s inherit `FormBase` instead

Open
#4,005 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

App: EmuHawk good first issue Meta Open to PRs for existing design Request: Feature/Enhancement
Dominant language
C#
Stars
2.8k
Forks
468
PR merge metrics
No merged PRs in 30d

Description

This was always intended to become a universal base class. The goal was to have a way to inject anything into every form, if that ever became necessary—but it's since become clear that proper input handling involves passing the focused window's inputs (or a subset thereof) to the root, so this would have multiple benefits.

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 by reviewing the listed forms under src/BizHawk.Client.EmuHawk, including ArchiveChooser.cs, the config forms, movie forms, RetroAchievements forms, and tools forms, then locate FormBase and inventory remaining Form subclasses. Done means all Forms inherit FormBase and the focused window's inputs can be passed to the root as described.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
desktop
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.