-
Notifications
You must be signed in to change notification settings - Fork 696
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
Adds IApplication #3872
Adds IApplication #3872
Conversation
@tig / @BDisp / @dodexahedron please can you confirm you are happy with this approach (static accessors) - before I go too far down this rabbithole |
RunState seems to only have a single member which is Toplevel which already exists on Application - can we get rid of this class and its events? |
I really don't know how this will be ended. So I think the best is you continuous showing your point of view and waiting how it fit. |
We support multiple calls to app.Run. Each has a runstate and Toplevel. Application.Top points to the runstate.toplevel that is "top" (getting input). So no. |
I am good with it! |
Please read my comments on the issue about toplevel where I justify nuking it as a concept and replacing it with separate concerns for "runnable" (IRunnable) and "overlapped". I've completed the overlapped work. But haven't gotten to IRunnable. I have not fully thought out IRubbable and view it just as a concept at this point. If, as you add IApplication see how it could be implemented id hug you. |
I have read your post on IRunnable I think there's two concepts going on in Application
I think only the state stuff needs refactoring. The rest can stay. I think that any view should be runnable. Multiple view windows running at once should also just be handled with a single root view e.g. a DesktopView or even, just View base class with multiple draggable window child views I will see how I can progress down this direction |
Going to close this in favour of #3878 There is too much going on in Application to tackle it all at once, I will continue with the 'first principles' approach by just porting Run/Init/Shutdown to IApplication and seeing how far that goes. |
Major work in progress
Architecture is:
ApplicationImpl
ApplicationImpl
asIApplication
singletonPublic method remains the same:
Here is the singleton
Here is the burgeoning class diagram
Fixes
Proposed Changes/Todos
Pull Request checklist:
CTRL-K-D
to automatically reformat your files before committing.dotnet test
before commit///
style comments)