Skip to content

SubIssue of #4148 - Phase 2 - Migrate Toplevel to implement IRunnable etc... #4408

@tig

Description

@tig

This Issue will be tackled after #4148 has been closed.

Carefully following the proposal here:

  • ./docfx/docs/runnable-architecture-proposal.md

Phase 1 is completed. You are implementing phase 2 as described near the end.

Work to be done to close this Issue:

  1. Make Toplevel implement IRunnable (adapter pattern for compatibility)
  2. Update Dialog to inherit from Runnable instead of Window
  3. Update MessageBox to use Dialog.Result
  4. Update Wizard to inherit from Runnable
  5. Update all examples to use new IRunnable pattern
  6. Update the new FluentExample to define POST_4148 and ensure it works
  7. Create a NEW set of parallelizable unit tests that extensively tests all of the above. DO NOT ASSUME THE EXISTING TESTS ARE ANY GOOD. It is ok to disable old tests you deem to be poorly written, confusing, or no longer applicable. Use Skip in the [Fact] pr [Theory].

Exit Criteria

  • All XML API docs
  • All relevant deep dives in ./docfx/docs have been updated
  • All tests pass
  • There are no new warnings
  • CI/CD passes

IMPORTANT: At each step in implementing this you must:

  • Revisit Replace Toplevel with IRunnable #4148 regularly to ensure your thinking stays on track.
  • Re-read ./docfx/application.md and ./docfx/View.md to ensure you still understand the nuances.
  • Ensure you are following contributing.md
  • Build and test to ensure all tests pass and no new warnings are introduced

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

Status

No status

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions