Skip to content

Conversation

@JaroslavTulach
Copy link

@JaroslavTulach JaroslavTulach commented Dec 1, 2021

This PR contains the prototyping work we (Jirka Sedláček, Dušan Bálek and me) have done to make sure Rich UI for Change Parameters Refactoring can be productized. All changes were squashed and integrated by #3357 and #3361. This PR is now closed, but holds history of individual commits and few changes showing how to use and test the HTML UI in classical NetBeans IDE.

By default VSCode UI follows principles of asceticism and is very simplistic and straightforward. It is possible to use WebView for more complex UIs, but:

  • it's always preferable to not do that
  • coding HTML in Java might not seem easy

Anyway we really need it for the refactoring and we made it. Here is the result:

obrazek

My goal is to get this into January version of NetBeans and its VSCode extension. That requires fixes in HTML/Java API, some API fixes in NetBeans itself and then implementation of the refactoring. Those changes were done by #3357 and #3361.

The remaining (unmerged) part of this PR demonstrates how to use the HTML UI in NetBeans. It adds two actions into refactoring menu:

obrazek

The first action opens dialog with the same Change Method Parameters Refactoring UI as provided to VSNetBeans by #3361 in a dialog - e.g. it shows sharing of the HTML UI is possible among the Swing and Electron based flavors of the IDE. Second Open HTML Hello World! action opens a top component with wizard generated sample

obrazek

showing input line and a button that opens a dialog. I used this example to test that interaction between HTML, Swing and JavaFX works unchanged when refactoring the code in #3357

obrazek

Cons: I haven't yet convinced JavaFX WebView to load codicons.css and codeicons.ttf as provided by #3361 - as such the HTML UI in NetBeans isn't as slick. Further enhancements into the JavaFX webview integration are needed.

Jaroslav Tulach and others added 25 commits September 15, 2021 05:16
…e the refactoring UI also works in NetBeans
@JaroslavTulach JaroslavTulach added work-in-progress API Change [ci] enable extra API related tests do not merge Don't merge this PR, it is not ready or just demonstration purposes. VSCode Extension labels Dec 1, 2021
@JaroslavTulach JaroslavTulach added this to the NB13 milestone Dec 1, 2021
@JaroslavTulach
Copy link
Author

JaroslavTulach commented Dec 9, 2021

Opps, I wanted to create a new PR, but instead I integrated 9e27e19 into master. I made a mistake and forget to create new branch before push. I am sorry.

We don't have a way to remove commit from master (as far as I know). Rather than rolling back, I suggest to keep it and possibly polish it in the final PR I am about to create now: #3361. Sorry for the mess.

@neilcsmith-net
Copy link
Member

Opps, I wanted to create a new PR, but instead I integrated 9e27e19 into master. I made a mistake and forget to create new branch before push. I am sorry.

Aside - it happens! 😄 I've long been in the habit of using git remote set-url --push upstream DISABLED.

@JaroslavTulach
Copy link
Author

With integration of #3357 and #3361 the goal of this PR has been achieved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

API Change [ci] enable extra API related tests do not merge Don't merge this PR, it is not ready or just demonstration purposes. VSCode Extension work-in-progress

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants