Skip to content

Update JComboBox choices during SwingChoiceWidget refresh #53

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

Merged
merged 2 commits into from
Jan 10, 2021

Conversation

karlduderstadt
Copy link
Contributor

Currently, JComboBox items are not updated during DynamicCallbacks as noted in the comments of the DynamicCallback example - https://github.com/imagej/tutorials/blob/d3ff8e818bb26cb4713371878b239b36cb7d4877/maven-projects/dynamic-commands/src/main/java/DynamicCallbacks.java#L29-L31

@imagejan suggested implementing JComboBox updates in the doRefresh() method of SwingChoiceWidget to fix this problem on the forum - https://forum.image.sc/t/repaint-scijava-command-ui/42835/2

I quickly wrote a draft of this so that changes in the options of the dialog can update the JComboBox items. This is very useful for situations where you want one JComboBox to change items based on another.

Maybe there are deeper reasons to not implement a fix in this manner. Also, there might be cleaner implementations, but since I was already testing, I figured I would go ahead and file the PR.

These changes ensure JComboBox items update during DynamicCallbacks
@imagesc-bot
Copy link

This pull request has been mentioned on Image.sc Forum. There might be relevant details there:

https://forum.image.sc/t/repaint-scijava-command-ui/42835/3

@imagejan
Copy link
Member

With permission of @ctrueden (see this gitter post) I'm merging this PR now. I tested it in the UI with the command from the tutorial, and it works beautifully. I didn't notice any breakage in other widgets.

I did try to implement a unit test for this functionality, but didn't succeed getting it right... my work in progress is in c21f6a1. If someone manages to write a working unit test for this UI behavior, I think it would be great to have it. Otherwise, we might want to add a ChoiceWidgetDemo class to the existing test classes.

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.

3 participants