-
Notifications
You must be signed in to change notification settings - Fork 695
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
Rewrite of TabView
using modern v2 capabilities
#3832
base: v2_develop
Are you sure you want to change the base?
Conversation
The design:
This is in AllViewsTester utilizing this public bool EnableForDesign ()
{
AddTab (new () { Text = "Tab_1", Id = "tab1", View = new Label { Text = "Label in Tab1" } }, false);
AddTab (new () { Text = "Tab _2", Id = "tab2", View = new TextField { Text = "TextField in Tab2", Width = 10 } }, false);
AddTab (new () { Text = "Tab _Three", Id = "tab3", View = new Label { Text = "Label in Tab3" } }, false);
AddTab (new () { Text = "Tab _Quattro", Id = "tab4", View = new TextField { Text = "TextField in Tab4", Width = 10 } }, false);
return true;
} This is vastly different design than the old design that SHOULD result in a far simpler and performant system. It aslo completely leverages new v2 infrastructure. The current prototype has the following issues that need to be addressed:
|
That is how the PR #3828 does. The image is similar than I included in SetLayoutTests.cs unit test. That ugly initially and I want to see how you'll handle this without hacking line canvas. |
No, #3828 does not do what this PR does. Not even close. Please study this PR first.
Ahhh, you didn't notice this: In addition, auto-linejoin/ PLUS, If each side of the Border is a |
But I'm still curious how you will accommodate a |
(this was originally in #3808, but that got screwed up. So this is a new PR with just the changes).
TabView
is a great control for testing the library. It has a lot of capabilities that stretch the library. The v1 version was internally very complex in order to work around limitations in TG. In theory, v2 should enable making this control a lot simpler.This PR is a WIP/Prototype that I started to determine if we're on the right track with these v2 capabilities:
Border
an automatic line joins currently enabled bySuperViewRendersLineCanvas
Depends on
In #3798 auto-line join across Views is currently broken. I'm pausing work on this PR until I fix that.
Fixes
Proposed Changes/Todos
TabRowView
that just uses content scrollingContentView
LineCanvas
stuff and just rely onBorder
Pull Request checklist:
CTRL-K-D
to automatically reformat your files before committing.dotnet test
before commit///
style comments)