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

Enforce proper MVVM architecture #23

Closed
zspitz opened this issue Sep 10, 2019 · 5 comments
Closed

Enforce proper MVVM architecture #23

zspitz opened this issue Sep 10, 2019 · 5 comments

Comments

@zspitz
Copy link
Owner

zspitz commented Sep 10, 2019

Relates to #22

Also important if we want to create a separate visualizer on token streams. We'll have to tease apart the token list control and model into a reusable form.

@zspitz zspitz closed this as completed in c1c0926 Sep 12, 2019
@zspitz
Copy link
Owner Author

zspitz commented Sep 18, 2019

We still need to separate models from viewmodels.

@zspitz
Copy link
Owner Author

zspitz commented Sep 24, 2019

For each class, split the model and viewmodel parts into two separate classes, both directly under the ParseTreeVisualizer namespace, but in separate folders.

@zspitz
Copy link
Owner Author

zspitz commented Sep 26, 2019

Further goals:

  • Abstract base class that handles selection and notification: IsSelected property, with calls to PropertyChanged
  • Should WatchBaseExpression be a static field?

zspitz added a commit that referenced this issue Sep 28, 2019
zspitz added a commit that referenced this issue Oct 10, 2019
@zspitz zspitz unpinned this issue Oct 22, 2019
@zspitz
Copy link
Owner Author

zspitz commented Oct 22, 2019

There are still some residual bugs with the selection. Currently:

  • clicking on one or more tokens correctly modifies the selection in both the treeview and the source textbox
  • clicking on a node in the treeview correctly modifies the selection in both the source and the token list

However, clicking on the source, while it correctly selecting the corresponding node in the treeview and the corresponding token(s) in the token list, has the following bugs:

  • intermittently, the initial click doesn't seem to change the selection in the other parts, only on the second click
  • the cursor isn't visible when only one character is selected
  • double-click has some very odd behavior

We need first to implement a test project for the viewmodel ( #33 ) after which we can pin down if the problem is in the viewmodel or in the textbox.

@zspitz zspitz mentioned this issue Oct 22, 2019
13 tasks
@zspitz zspitz closed this as completed in e8bc561 Nov 4, 2019
@zspitz
Copy link
Owner Author

zspitz commented Nov 8, 2019

All the selection bugs appear to have been resolved, except for #42

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant