TASEmulators / TASEmulators/BizHawk
Make all `Form`s inherit `FormBase` instead
Nobody has claimed this yet.
- 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.
-
ArchiveChooser /AVOut-
BizBox /config-
A7800ControllerSettings -
A7800FilterSettings -
AmstradCpcAudioSettings -
AmstradCpcCoreEmulationSettings -
AmstradCpcNonSyncSettings -
AutofireConfig -
BSNESControllerSettings -
BSNESOptions -
CGBColorChooserForm -
ColecoControllerSettings -
ColorChooserForm -
ControllerConfig -
DisplayConfig -
EmuHawkOptions -
FileExtensionPreferences -
FirmwaresConfigInfo -
FirmwaresConfig -
GBLPrefs -
GBPrefs -
GenericCoreConfig -
HotkeyConfig -
IntvControllerSettings -
MessageConfig -
N64ControllersSetup -
N64VideoPluginConfig -
NesControllerSettings -
NESGraphicsConfig -
NESSyncSettingsForm -
NesVsSettings -
PathConfig -
PathInfo -
ProfileConfig -
PSXControllerConfig -
PSXOptions -
QuickNesConfig -
RewindConfig -
SameBoyColorChooserForm -
SNESControllerSettings -
SNESOptions -
SoundConfig -
TI83PaletteConfig -
ZxSpectrumAudioSettings -
ZxSpectrumCoreEmulationSettings -
ZxSpectrumJoystickSettings -
ZxSpectrumNonSyncSettings
-
-
ExceptionBox -
MsgBox -
ScreenshotForm /movie-
OpenAdvancedChooser -
PlatformChooser /RetroAchievements-
RomStatusPicker /tools-
AddBreakpointDialog -
BatchRun -
FramesPrompt -
GreenzoneSettings -
HexColorsForm -
HexFind -
InputPrompt -
LuaCanvas -
LuaFunctionsForm -
LuaRegisteredFunctionsList -
LuaWinform -
MobileBmpView -
MobileDetailView -
MovieHeaderEditor -
N64MatrixDisplayDialog -
PatternsForm -
RamPoke -
TAStudioColorSettingsForm -
UndoHistoryForm -
WatchEditor
-
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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