Skip to content
This repository was archived by the owner on Apr 25, 2024. It is now read-only.

Add key bindings to the kcfg-viewer #460

Closed
wants to merge 70 commits into from
Closed

Add key bindings to the kcfg-viewer #460

wants to merge 70 commits into from

Conversation

iFrostizz
Copy link
Contributor

@iFrostizz iFrostizz commented May 25, 2023

Closes: #458

TODO

  • scroll in nodes with "jk"
  • keep node highlight when selected
  • order nodes by branching
  • center vertically with "z"
  • change window
  • naviguate in source and constraint

edit 05.25:

This is how it looks like

new

edit 06.06:

OUTPUT

edit 13.06:

cwin

@iFrostizz iFrostizz self-assigned this May 25, 2023
@ehildenb
Copy link
Member

Please post a gif with the changes.

Also, instead of changing the boarder on the left of a selected node, perhaps we change the background color, which makes it easier to see without changing the look of the graph.

@iFrostizz iFrostizz marked this pull request as draft May 29, 2023 06:29
@iFrostizz iFrostizz mentioned this pull request Jun 5, 2023
@iFrostizz
Copy link
Contributor Author

Note: this call is especially quite slow, which makes the app launch proportionally longer as there is more node.

for lseg_id, node_lines in kcfg_show.pretty_segments(

@iFrostizz iFrostizz closed this Aug 4, 2023
iFrostizz added a commit that referenced this pull request Aug 7, 2023
Going in a more step-by-step fashion compared to
#460
Rolling out our own key bindings was messing up with the defaults of
textual and adding a lot of unecessary boilerpalte. This PR also closes
it.

- Dedicated classes for each widget in the `NodeView` (Term, Constraint,
Info, Custom)
- Relevant ones all inherits from `ScrollableContainer` and can be
focused. Adds native key bindings and can be selected using `Tab` or
`Tab+Shift` to loop the other way around
- using an absolute path for the css file so that the class
`APRProofViewer` inherits `KCFGViewer`'s css. `@import` is not something
that works with textual, but as we may want in the future to add stuff
only for the `APRProofViewer` css.

---------

Co-authored-by: François Guyot <[email protected]>
Co-authored-by: devops <[email protected]>
Baltoli pushed a commit to runtimeverification/k that referenced this pull request Apr 9, 2024
Anticipating for runtimeverification/pyk#460
This will allow us to use `VerticalScroll` widgets to scroll
programatically.

---------

Co-authored-by: François Guyot <[email protected]>
Co-authored-by: devops <[email protected]>
Co-authored-by: Everett Hildenbrandt <[email protected]>
Co-authored-by: rv-jenkins <[email protected]>
Co-authored-by: Sam Balco <[email protected]>
Baltoli pushed a commit to runtimeverification/k that referenced this pull request Apr 9, 2024
Going in a more step-by-step fashion compared to
runtimeverification/pyk#460
Rolling out our own key bindings was messing up with the defaults of
textual and adding a lot of unecessary boilerpalte. This PR also closes
it.

- Dedicated classes for each widget in the `NodeView` (Term, Constraint,
Info, Custom)
- Relevant ones all inherits from `ScrollableContainer` and can be
focused. Adds native key bindings and can be selected using `Tab` or
`Tab+Shift` to loop the other way around
- using an absolute path for the css file so that the class
`APRProofViewer` inherits `KCFGViewer`'s css. `@import` is not something
that works with textual, but as we may want in the future to add stuff
only for the `APRProofViewer` css.

---------

Co-authored-by: François Guyot <[email protected]>
Co-authored-by: devops <[email protected]>
Baltoli pushed a commit to runtimeverification/k that referenced this pull request Apr 9, 2024
Anticipating for runtimeverification/pyk#460
This will allow us to use `VerticalScroll` widgets to scroll
programatically.

---------

Co-authored-by: François Guyot <[email protected]>
Co-authored-by: devops <[email protected]>
Co-authored-by: Everett Hildenbrandt <[email protected]>
Co-authored-by: rv-jenkins <[email protected]>
Co-authored-by: Sam Balco <[email protected]>
Baltoli pushed a commit to runtimeverification/k that referenced this pull request Apr 9, 2024
Going in a more step-by-step fashion compared to
runtimeverification/pyk#460
Rolling out our own key bindings was messing up with the defaults of
textual and adding a lot of unecessary boilerpalte. This PR also closes
it.

- Dedicated classes for each widget in the `NodeView` (Term, Constraint,
Info, Custom)
- Relevant ones all inherits from `ScrollableContainer` and can be
focused. Adds native key bindings and can be selected using `Tab` or
`Tab+Shift` to loop the other way around
- using an absolute path for the css file so that the class
`APRProofViewer` inherits `KCFGViewer`'s css. `@import` is not something
that works with textual, but as we may want in the future to add stuff
only for the `APRProofViewer` css.

---------

Co-authored-by: François Guyot <[email protected]>
Co-authored-by: devops <[email protected]>
Baltoli pushed a commit to runtimeverification/k that referenced this pull request Apr 9, 2024
Anticipating for runtimeverification/pyk#460
This will allow us to use `VerticalScroll` widgets to scroll
programatically.

---------

Co-authored-by: François Guyot <[email protected]>
Co-authored-by: devops <[email protected]>
Co-authored-by: Everett Hildenbrandt <[email protected]>
Co-authored-by: rv-jenkins <[email protected]>
Co-authored-by: Sam Balco <[email protected]>
Baltoli pushed a commit to runtimeverification/k that referenced this pull request Apr 9, 2024
Going in a more step-by-step fashion compared to
runtimeverification/pyk#460
Rolling out our own key bindings was messing up with the defaults of
textual and adding a lot of unecessary boilerpalte. This PR also closes
it.

- Dedicated classes for each widget in the `NodeView` (Term, Constraint,
Info, Custom)
- Relevant ones all inherits from `ScrollableContainer` and can be
focused. Adds native key bindings and can be selected using `Tab` or
`Tab+Shift` to loop the other way around
- using an absolute path for the css file so that the class
`APRProofViewer` inherits `KCFGViewer`'s css. `@import` is not something
that works with textual, but as we may want in the future to add stuff
only for the `APRProofViewer` css.

---------

Co-authored-by: François Guyot <[email protected]>
Co-authored-by: devops <[email protected]>
Baltoli pushed a commit to runtimeverification/k that referenced this pull request Apr 10, 2024
Anticipating for runtimeverification/pyk#460
This will allow us to use `VerticalScroll` widgets to scroll
programatically.

---------

Co-authored-by: François Guyot <[email protected]>
Co-authored-by: devops <[email protected]>
Co-authored-by: Everett Hildenbrandt <[email protected]>
Co-authored-by: rv-jenkins <[email protected]>
Co-authored-by: Sam Balco <[email protected]>
Baltoli pushed a commit to runtimeverification/k that referenced this pull request Apr 10, 2024
Going in a more step-by-step fashion compared to
runtimeverification/pyk#460
Rolling out our own key bindings was messing up with the defaults of
textual and adding a lot of unecessary boilerpalte. This PR also closes
it.

- Dedicated classes for each widget in the `NodeView` (Term, Constraint,
Info, Custom)
- Relevant ones all inherits from `ScrollableContainer` and can be
focused. Adds native key bindings and can be selected using `Tab` or
`Tab+Shift` to loop the other way around
- using an absolute path for the css file so that the class
`APRProofViewer` inherits `KCFGViewer`'s css. `@import` is not something
that works with textual, but as we may want in the future to add stuff
only for the `APRProofViewer` css.

---------

Co-authored-by: François Guyot <[email protected]>
Co-authored-by: devops <[email protected]>
Baltoli pushed a commit to runtimeverification/k that referenced this pull request Apr 10, 2024
Anticipating for runtimeverification/pyk#460
This will allow us to use `VerticalScroll` widgets to scroll
programatically.

---------

Co-authored-by: François Guyot <[email protected]>
Co-authored-by: devops <[email protected]>
Co-authored-by: Everett Hildenbrandt <[email protected]>
Co-authored-by: rv-jenkins <[email protected]>
Co-authored-by: Sam Balco <[email protected]>
Baltoli pushed a commit to runtimeverification/k that referenced this pull request Apr 10, 2024
Going in a more step-by-step fashion compared to
runtimeverification/pyk#460
Rolling out our own key bindings was messing up with the defaults of
textual and adding a lot of unecessary boilerpalte. This PR also closes
it.

- Dedicated classes for each widget in the `NodeView` (Term, Constraint,
Info, Custom)
- Relevant ones all inherits from `ScrollableContainer` and can be
focused. Adds native key bindings and can be selected using `Tab` or
`Tab+Shift` to loop the other way around
- using an absolute path for the css file so that the class
`APRProofViewer` inherits `KCFGViewer`'s css. `@import` is not something
that works with textual, but as we may want in the future to add stuff
only for the `APRProofViewer` css.

---------

Co-authored-by: François Guyot <[email protected]>
Co-authored-by: devops <[email protected]>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

add key bindings capabilities to the kcfg-viewer
3 participants