Skip to content

Commit ff52115

Browse files
committed
WIP - widget progress
1 parent 81270b0 commit ff52115

File tree

10 files changed

+62
-43
lines changed

10 files changed

+62
-43
lines changed

swing-widget/pom.xml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,16 @@
9292
</properties>
9393

9494
<dependencies>
95+
<dependency>
96+
<groupId>org.scijava</groupId>
97+
<artifactId>scijava-context</artifactId>
98+
<version>${project.version}</version>
99+
</dependency>
100+
<dependency>
101+
<groupId>org.scijava</groupId>
102+
<artifactId>scijava-plugin</artifactId>
103+
<version>${project.version}</version>
104+
</dependency>
95105
<dependency>
96106
<groupId>org.scijava</groupId>
97107
<artifactId>scijava-widget</artifactId>

swing-widget/src/main/java/org/scijava/swing/widget/SwingNumberWidgetFactory.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,10 @@
4141
@Plugin(type = WidgetFactory.class)
4242
public class SwingNumberWidgetFactory implements SwingWidgetFactory {
4343

44-
@Parameter
44+
@Inject
4545
private ConvertService convertService;
4646

47-
@Parameter
47+
@Inject
4848
private ThreadService threadService;
4949

5050
@Override

swing-widget/src/main/java/org/scijava/swing/widget/SwingObjectWidgetFactory.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,27 +9,26 @@
99
import net.miginfocom.swing.MigLayout;
1010

1111
import org.scijava.ValidityException;
12+
import org.scijava.context.Inject;
13+
import org.scijava.object.ObjectService;
14+
import org.scijava.param.ParameterStructs;
15+
import org.scijava.plugin.Plugin;
16+
import org.scijava.struct.MemberInstance;
17+
import org.scijava.struct.StructInstance;
1218
import org.scijava.widget.AbstractWidget;
1319
import org.scijava.widget.ObjectWidget;
1420
import org.scijava.widget.WidgetFactory;
1521
import org.scijava.widget.WidgetPanel;
1622
import org.scijava.widget.WidgetPanelFactory;
1723
import org.scijava.widget.WidgetService;
18-
import org.scijava.widget.swing.SwingWidgetPanelFactory.WidgetPanel;
19-
import org.scijava.object.ObjectService;
20-
import org.scijava.param.ParameterStructs;
21-
import org.scijava.plugin.Parameter;
22-
import org.scijava.plugin.Plugin;
23-
import org.scijava.struct.MemberInstance;
24-
import org.scijava.struct.StructInstance;
2524

2625
@Plugin(type = WidgetFactory.class)
2726
public class SwingObjectWidgetFactory implements SwingWidgetFactory {
2827

29-
@Parameter
28+
@Inject
3029
private WidgetService widgetService;
3130

32-
@Parameter
31+
@Inject
3332
private ObjectService objectService;
3433

3534
@Override

swing-widget/src/main/java/org/scijava/swing/widget/SwingTextWidgetFactory.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,22 @@
1313

1414
import net.miginfocom.swing.MigLayout;
1515

16+
import org.scijava.context.Inject;
1617
import org.scijava.log.LogService;
18+
import org.scijava.plugin.Plugin;
19+
import org.scijava.struct.MemberInstance;
20+
import org.scijava.ui.swing.widget.DocumentSizeFilter;
21+
import org.scijava.util.ClassUtils;
1722
import org.scijava.widget.AbstractWidget;
1823
import org.scijava.widget.TextWidget;
1924
import org.scijava.widget.WidgetFactory;
2025
import org.scijava.widget.WidgetPanelFactory;
2126
import org.scijava.widget.Widgets;
22-
import org.scijava.plugin.Parameter;
23-
import org.scijava.plugin.Plugin;
24-
import org.scijava.struct.MemberInstance;
25-
import org.scijava.ui.swing.widget.DocumentSizeFilter;
26-
import org.scijava.util.ClassUtils;
2727

2828
@Plugin(type = WidgetFactory.class)
2929
public class SwingTextWidgetFactory implements SwingWidgetFactory {
3030

31-
@Parameter
31+
@Inject
3232
private LogService log;
3333

3434
@Override

widget/src/test/java/org/scijava/widget/WidgetDemo.java renamed to swing-widget/src/test/java/org/scijava/widget/WidgetDemo.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import javax.swing.JOptionPane;
77
import javax.swing.JPanel;
88

9-
import org.scijava.nwidget.swing.NSwingWidgetPanelFactory;
9+
import org.scijava.widget.swing.SwingWidgetPanelFactory;
1010
import org.scijava.param.Parameter;
1111
import org.scijava.param.ParameterStructs;
1212
import org.scijava.struct.StructInstance;
@@ -19,7 +19,7 @@ private interface Joke {}
1919

2020
public static void main(final String... args) throws Exception {
2121
final Context context = new Context();
22-
final NWidgetService widgetService = context.service(NWidgetService.class);
22+
final WidgetService widgetService = context.service(WidgetService.class);
2323

2424
final ObjectService objectService = context.service(ObjectService.class);
2525
objectService.addObject(new Joke() {
@@ -74,9 +74,9 @@ private void jokeChanged() {
7474
percent = percentOfLaughs(joke);
7575
}
7676

77-
@Parameter(style = NTextWidget.PASSWORD_STYLE)
77+
@Parameter(style = TextWidget.PASSWORD_STYLE)
7878
private String password;
79-
// @Parameter(style = NTextWidget.AREA_STYLE)
79+
// @Parameter(style = TextWidget.AREA_STYLE)
8080
// private String description =
8181
// "I am a clown student in my fourth year at Dell'Arte International. " +
8282
// "I like juggling, unicycles and banana cream pies.";
@@ -86,17 +86,17 @@ private void jokeChanged() {
8686
final StructInstance<Object> structInstance = //
8787
ParameterStructs.create(person);
8888

89-
final NSwingWidgetPanelFactory panelFactory = new NSwingWidgetPanelFactory();
89+
final SwingWidgetPanelFactory panelFactory = new SwingWidgetPanelFactory();
9090

9191
// create a panel
92-
final NWidgetPanel<Object> panel = //
92+
final WidgetPanel<Object> panel = //
9393
widgetService.createPanel(structInstance, panelFactory);
9494

9595
// show the panel in a hacky way, for now
9696
final Component c = ((UIComponent<JPanel>) panel).getComponent();
9797
final SwingDialog dialog = new SwingDialog(c, JOptionPane.OK_CANCEL_OPTION,
9898
JOptionPane.PLAIN_MESSAGE, true);
99-
dialog.setTitle("NWidgetDemo");
99+
dialog.setTitle("WidgetDemo");
100100
final int rval = dialog.show();
101101
System.out.println("return value = " + rval);
102102
}

widget/pom.xml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,16 @@
9292
</properties>
9393

9494
<dependencies>
95+
<dependency>
96+
<groupId>org.scijava</groupId>
97+
<artifactId>scijava-context</artifactId>
98+
<version>${project.version}</version>
99+
</dependency>
100+
<dependency>
101+
<groupId>org.scijava</groupId>
102+
<artifactId>scijava-param</artifactId>
103+
<version>${project.version}</version>
104+
</dependency>
95105
<dependency>
96106
<groupId>org.scijava</groupId>
97107
<artifactId>scijava-struct</artifactId>

widget/src/main/java/org/scijava/widget/NAbstractWidgetPanel.java renamed to widget/src/main/java/org/scijava/widget/AbstractWidgetPanel.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33

44
import org.scijava.struct.StructInstance;
55

6-
public class NAbstractWidgetPanel<C> implements NWidgetPanel<C> {
6+
public class AbstractWidgetPanel<C> implements WidgetPanel<C> {
77

88
private StructInstance<C> struct;
99

10-
public NAbstractWidgetPanel(StructInstance<C> struct) {
10+
public AbstractWidgetPanel(StructInstance<C> struct) {
1111
this.struct = struct;
1212
}
1313

widget/src/main/java/org/scijava/widget/DefaultWidgetService.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,28 +35,28 @@
3535
import java.util.ArrayList;
3636
import java.util.function.Predicate;
3737

38+
import org.scijava.context.Inject;
39+
import org.scijava.context.Service;
3840
import org.scijava.plugin.AbstractSingletonService;
39-
import org.scijava.plugin.Parameter;
4041
import org.scijava.plugin.Plugin;
4142
import org.scijava.plugin.PluginService;
42-
import org.scijava.service.Service;
4343
import org.scijava.struct.MemberInstance;
4444
import org.scijava.struct.StructInstance;
4545

4646
@Plugin(type = Service.class)
4747
public class DefaultWidgetService extends
48-
AbstractSingletonService<NWidgetFactory<?>> implements WidgetService
48+
AbstractSingletonService<WidgetFactory<?>> implements WidgetService
4949
{
5050

51-
@Parameter
51+
@Inject
5252
private PluginService pluginService;
5353

5454
@Override
5555
public <C, W extends Widget> WidgetPanel<C> createPanel(
5656
final StructInstance<C> structInstance,
5757
final Predicate<MemberInstance<?>> included,
5858
final Predicate<MemberInstance<?>> required,
59-
final NWidgetPanelFactory<W> panelFactory)
59+
final WidgetPanelFactory<W> panelFactory)
6060
{
6161
final ArrayList<W> widgets = createWidgets(structInstance, panelFactory,
6262
included, required);
@@ -68,7 +68,7 @@ public <C, W extends Widget> WidgetPanel<C> createPanel(
6868

6969
private <W extends Widget> ArrayList<W> createWidgets(
7070
final StructInstance<?> structInstance,
71-
final NWidgetPanelFactory<W> panelFactory,
71+
final WidgetPanelFactory<W> panelFactory,
7272
final Predicate<MemberInstance<?>> included,
7373
final Predicate<MemberInstance<?>> required)
7474
{
@@ -88,14 +88,14 @@ private <W extends Widget> ArrayList<W> createWidgets(
8888
}
8989

9090
private <W extends Widget> W createWidget(final MemberInstance<?> model,
91-
final NWidgetPanelFactory<W> panelFactory)
91+
final WidgetPanelFactory<W> panelFactory)
9292
{
9393
final Class<?> widgetSupertype = panelFactory.widgetType();
94-
for (final NWidgetFactory<?> factory : getInstances()) {
94+
for (final WidgetFactory<?> factory : getInstances()) {
9595
if (!widgetSupertype.isAssignableFrom(factory.widgetType())) continue;
9696
if (!factory.supports(model)) continue;
9797
@SuppressWarnings("unchecked")
98-
final NWidgetFactory<W> typedFactory = (NWidgetFactory<W>) factory;
98+
final WidgetFactory<W> typedFactory = (WidgetFactory<W>) factory;
9999
return typedFactory.create(model, panelFactory);
100100
}
101101
return null;

widget/src/main/java/org/scijava/widget/WidgetFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ public interface WidgetFactory<W extends Widget> extends SingletonPlugin {
88
boolean supports(MemberInstance<?> model);
99

1010
W create(MemberInstance<?> model,
11-
NWidgetPanelFactory<? extends W> panelFactory);
11+
WidgetPanelFactory<? extends W> panelFactory);
1212

1313
Class<W> widgetType();
1414
}

widget/src/main/java/org/scijava/widget/WidgetService.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,24 +36,24 @@
3636

3737
import org.scijava.param.ParameterMember;
3838
import org.scijava.plugin.SingletonService;
39-
import org.scijava.service.SciJavaService;
39+
import org.scijava.context.SciJavaService;
4040
import org.scijava.struct.MemberInstance;
4141
import org.scijava.struct.StructInstance;
4242

43-
public interface WidgetService extends SingletonService<NWidgetFactory<?>>,
43+
public interface WidgetService extends SingletonService<WidgetFactory<?>>,
4444
SciJavaService
4545
{
4646

4747
default <C, W extends Widget> WidgetPanel<C> createPanel(
48-
final StructInstance<C> struct, final NWidgetPanelFactory<W> factory)
48+
final StructInstance<C> struct, final WidgetPanelFactory<W> factory)
4949
{
5050
return createPanel(struct, item -> true, factory);
5151
}
5252

5353
default <C, W extends Widget> WidgetPanel<C> createPanel(
5454
// TODO: Consider Structs.filter(struct, Predicate<MemberInstance<?> included).
5555
final StructInstance<C> struct, final Predicate<MemberInstance<?>> included,
56-
final NWidgetPanelFactory<W> factory)
56+
final WidgetPanelFactory<W> factory)
5757
{
5858
return createPanel(struct, included,
5959
item -> item instanceof ParameterMember && ((ParameterMember<?>) item)
@@ -63,13 +63,13 @@ default <C, W extends Widget> WidgetPanel<C> createPanel(
6363
<C, W extends Widget> WidgetPanel<C> createPanel(StructInstance<C> struct,
6464
Predicate<MemberInstance<?>> included,
6565
Predicate<MemberInstance<?>> required,
66-
NWidgetPanelFactory<W> panelFactory);
66+
WidgetPanelFactory<W> panelFactory);
6767

6868
// -- PTService methods --
6969

7070
@SuppressWarnings({ "rawtypes", "unchecked" })
7171
@Override
72-
default Class<NWidgetFactory<?>> getPluginType() {
73-
return (Class) NWidgetFactory.class;
72+
default Class<WidgetFactory<?>> getPluginType() {
73+
return (Class) WidgetFactory.class;
7474
}
7575
}

0 commit comments

Comments
 (0)