Skip to content

Commit d7dee02

Browse files
committed
NWidgetDemo: use slider for age, and fix a bug
1 parent e80258e commit d7dee02

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

src/main/java/org/scijava/nwidget/swing/NSwingNumberWidgetFactory.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,15 @@ else if (source == spinner) {
162162
// -- Helper methods --
163163

164164
private Number number(final Object value, final Number defaultValue) {
165-
final Number converted = convertService.convert(value, Number.class);
165+
// FIXME: discuss best way forward
166+
// Right now, the widgets do not have the T of their model
167+
// Should they? It is nice that they don't, mostly.
168+
// But here, would be handy to have a utility method that converts from
169+
// the given value to one compatible with this widget's model.
170+
// How deep should this conversion logic live.
171+
final Class<?> modelType = model().member().getRawType();
172+
final Number converted = //
173+
(Number) convertService.convert(value, modelType);
166174
return converted == null ? defaultValue : converted;
167175
}
168176

src/test/java/org/scijava/nwidget/NWidgetDemo.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@
77
import javax.swing.JPanel;
88

99
import org.scijava.Context;
10-
import org.scijava.nwidget.NWidgetPanel;
11-
import org.scijava.nwidget.NWidgetService;
1210
import org.scijava.nwidget.swing.NSwingWidgetPanelFactory;
1311
import org.scijava.param.Parameter;
1412
import org.scijava.param.ParameterStructs;
@@ -26,8 +24,7 @@ public static void main(final String... args) throws Exception {
2624

2725
@Parameter
2826
private String name = "Chuckles McGee";
29-
// @Parameter(min = "0", max = "100", style = NumberWidget.SCROLL_BAR_STYLE)
30-
@Parameter
27+
@Parameter(min = "0", max = "100", style = NNumberWidget.SCROLL_BAR_STYLE)
3128
private Integer age = 27;
3229
};
3330
final StructInstance<Object> structInstance = //

0 commit comments

Comments
 (0)