Skip to content

Conversation

@elevans
Copy link
Contributor

@elevans elevans commented Mar 6, 2025

This PR introduces some bug fixes and simplifies the process to develop the flimj-ui layer. Importantly this PR makes it possible to open/edit the .fxml UI files with SceneBuilder:

image

Here's a list of what this PR does:

  • Fix .fxml layout files so they can be opened/edited with SceneBuilder.
  • Fix multiple text field validation support registration bug.
  • Fix hanging file input on Linux OS by using JavaFX to handle the file dialog box.
    • On Linux using the UIService to create an open file dialog box hangs both FLIMJ and Fiji.
  • Remove the JavaScript dependency.
    • The JavaScript mouse event handlers have been moved to the PlotCtrl.java controller.

I still need to test this build on the following systems before I feel comfortable merging this.

  • Linux
  • macOS
  • Windows

elevans added 4 commits March 3, 2025 11:30
The UIService approach works on Windows (not sure about macOS) but not
Linux. Trying to open files on linux results in a strange
hang/lock of FLIMJ.
This commit ports the mouse events that the JavaScript components were
handling into the PlotCtrl.java controller module. This allows us to
remove our need for JavaScript, greatly simplifying development.
When trying to load the .fxml files into SceneBuilder for editing
SceneBuilder attempts to register the validation support (vs) for
the NumericalHelper.java file but clashes with an existing vs,
preventing the file from loading. This commit ensures only one vs is created
and registered and also prevents registering the vs entirely if
SceneBuilder is running.
SceneBuilder does not understand the "fx:reference" tag and fails to
match it to the defined function. Moving the function definition to the
root of the .fxml does not resolve this. Explicitly defining the effect
resolves this problem.
@elevans elevans merged commit 004c56c into master Mar 6, 2025
1 check passed
@elevans elevans deleted the fiji-future-fixes branch March 6, 2025 21:53
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

Successfully merging this pull request may close these issues.

2 participants