Add WidgetStyle utility class to centralize style logic #384
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request addresses #333 and is a first step toward fixing #197 and #382.
The methods in the new
WidgetStyle
utility class should replaceisStyle()
implementations and other case logic around (possibly multiple) style attributes of parameters in the following places:scijava-ui-swing
:chooseFile
andchooseFiles
inAbstractSwingUI
createFileFilter
inSwingFileWidget
SwingChoiceRadioWidget
batch-processor
:getTargetWidgetStyle
inFileBatchInputProvider
imagej-plugins-batch
:getTargetWidgetStyle
inDatasetBatchInputProvider
here in
imagej-legacy
, and finallysome places in
scijava-ui-awt
, and three times inscijava-ui-pivot
Remaining questions:
I wasn't sure about the naming of
getStyleModifiers
. The intended use case is for styles like"extensions:tiff/tif"
to get the list of allowed extensions, but there might be more general use cases.Should
getStyleModifiers
return an array of strings directly fromsplit("/")
? Or rather aSet<String>
with trimmed, lower-case values?