Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove Toplevel - #2490

Closed
tig opened this issue Apr 4, 2023 · 1 comment
Closed

Remove Toplevel - #2490

tig opened this issue Apr 4, 2023 · 1 comment
Labels
v2 For discussions, issues, etc... relavant for v2

Comments

@tig
Copy link
Collaborator

tig commented Apr 4, 2023

  • Modal - The term used when describing a View that was created using the Application.Run(view) or Application.Run<T> APIs. When a View is running as a modal, user input is restricted to just that View until Application.Run exits. A Modal View has its own RunState.

  • In v1, classes derived from Dialog were originally thought to only work modally. However, Wizard proved that a Dialog-based class can also work non-modally.

  • In v2, we will simplify the Dialog class, and let any class be run via Applicaiton.Run. The Modal property will be set by Application.Run so the class can detect it is running modally if it needs to.

  • TopLevel - The v1 term used to describe a view that can have a MenuBarand/or StatusBar.

  • In v2, we will delete the TopLevel class and ensure ANY View can have a menu bar and/or status bar (via Adornments). See Refactor MenuBar and StatusBar to be adornments #2488

  • NOTE: There will still be an Application.Top which is the View that is the root of the Application's view hierarchy.

  • In v2, there is only one Application.Top. It is the View that is the first view in the application.

  • If a developer wants an "MDI" like interface, they can turn on the menubar/status bar in the Application.Top and add Window subviews to their hearts content. With the LayoutStyle.Overlapped each of those subviews overlap each other, support dragging/sizing, etc... They can add/remove subviews to the Application.Top, hide/show, etc... There is no need for a TopLevel class.

@tig tig added the v2 For discussions, issues, etc... relavant for v2 label Apr 4, 2023
@tig tig moved this to 🆕 New in Terminal.Gui V2 Beta Apr 6, 2023
@tig tig moved this from 🆕 New to 📋 Backlog in Terminal.Gui V2 Beta Apr 13, 2023
@tig
Copy link
Collaborator Author

tig commented Apr 14, 2023

Dupe of #2502

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
v2 For discussions, issues, etc... relavant for v2
Projects
No open projects
Status: ✅ Done
Development

No branches or pull requests

1 participant