-
Notifications
You must be signed in to change notification settings - Fork 699
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
Restoring drivers with the structural changes. #3844
Restoring drivers with the structural changes. #3844
Conversation
…e with immediate response.
…g ansi escape sequence.
|
I think I fixed this in #3841. |
But I think the failure also happened after I merged your PR. |
There will still be conflicts with ansi-parser but adding interface will not substantially increase the number of conflicts. The two are seperate issues. |
An abstract class doesn't act like an interface? The difference is that an abstract can have common code on it and the interface only can have declarations. Can you explain better because what I see is duplicated declarations on both files, |
Interface allows me to have 'composition' instead of inheritance This is my new 'driver', I have split everything up into classes. In order to work with all the classes views etc in Terminal.Gui I have look like a driver without actually being one. I will write a 'facade' that implements IConsoleDriver and returns from properties etc all the bits out of my larger network of classes. Also interfaces are essential even when there is an It also lets you write simple tests like "swithching tab when only 1 tab should not cause layout (assert method not called on mock) |
I am more than clear. Thank you. |
nope. |
I confirm that this issue doesn't repro anymore and I really don't know how it was fixed because it also was reproducing in the v2_develop. Fortunately it's good now. Thanks for the feedback. |
It's possible that it's still there and just requires the unit tests to run in a particular order to cause. We have many unit tests that set static variables on |
Is this PR ready for review/merge? |
Yes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it possible to make IConsoleDriver
internal
and not public
.
I feel pretty strongly that "ConsoleDriver" is an IMPLEMENTATION DETAIL of Application
and View
and should NOT be exposed as a public API.
I worked hard to fix about 80% of the cases where built-in Views and were using ConsoleDriver
directly. I want to make it 100% before we ship v2.
Thank you 10000x for doing this. I really appreciate it. See my review comments. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
docs/drivers.md
is way out of date now. But we just just wait to make it right until after @tznind is done with his epic driver project.
Fixes
Proposed Changes/Todos
Pull Request checklist:
CTRL-K-D
to automatically reformat your files before committing.dotnet test
before commit///
style comments)