Skip to content

Commit 9945918

Browse files
committed
WidgetService: add createModel method
This lets us make the creation of WidgetModel objects extensible.
1 parent 05d397b commit 9945918

File tree

2 files changed

+29
-0
lines changed

2 files changed

+29
-0
lines changed

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,11 @@
3131

3232
package org.scijava.widget;
3333

34+
import java.util.List;
35+
3436
import org.scijava.log.LogService;
37+
import org.scijava.module.Module;
38+
import org.scijava.module.ModuleItem;
3539
import org.scijava.plugin.AbstractWrapperService;
3640
import org.scijava.plugin.Parameter;
3741
import org.scijava.plugin.Plugin;
@@ -52,6 +56,16 @@ public class DefaultWidgetService extends
5256
@Parameter
5357
private LogService log;
5458

59+
// -- WidgetService methods --
60+
61+
@Override
62+
public WidgetModel createModel(InputPanel<?, ?> inputPanel, Module module,
63+
ModuleItem<?> item, List<?> objectPool)
64+
{
65+
return new DefaultWidgetModel(getContext(), inputPanel, module, item,
66+
objectPool);
67+
}
68+
5569
// -- WrapperService methods --
5670

5771
@Override

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,10 @@
3131

3232
package org.scijava.widget;
3333

34+
import java.util.List;
35+
36+
import org.scijava.module.Module;
37+
import org.scijava.module.ModuleItem;
3438
import org.scijava.plugin.WrapperService;
3539
import org.scijava.service.SciJavaService;
3640

@@ -51,4 +55,15 @@ public interface WidgetService extends
5155
@Override
5256
InputWidget<?, ?> create(WidgetModel model);
5357

58+
/**
59+
* Create a {@link WidgetModel} for the given module input.
60+
*
61+
* @param inputPanel
62+
* @param module
63+
* @param item
64+
* @param objectPool
65+
*/
66+
WidgetModel createModel(InputPanel<?, ?> inputPanel, Module module,
67+
ModuleItem<?> item, List<?> objectPool);
68+
5469
}

0 commit comments

Comments
 (0)