1 | package geniusweb.domaineditor.panels;
|
---|
2 |
|
---|
3 | import java.awt.BorderLayout;
|
---|
4 |
|
---|
5 | import javax.swing.JPanel;
|
---|
6 |
|
---|
7 | import geniusweb.domaineditor.model.DiscreteValueSetModel;
|
---|
8 | import geniusweb.domaineditor.model.NumberValueSetModel;
|
---|
9 | import geniusweb.domaineditor.model.ValueSetModel;
|
---|
10 | import tudelft.utilities.logging.Reporter;
|
---|
11 | import tudelft.utilities.mvc.model.StringModel;
|
---|
12 | import tudelft.utilities.mvc.panels.LabeledPanel;
|
---|
13 | import tudelft.utilities.mvc.panels.StringPanel;
|
---|
14 |
|
---|
15 | /**
|
---|
16 | * Factory to create ValueSet editor
|
---|
17 | *
|
---|
18 | */
|
---|
19 | public class ValueSetEditorFactory {
|
---|
20 |
|
---|
21 | // private JComboBox typeselector = new JComboBox(Type.values());
|
---|
22 |
|
---|
23 | /**
|
---|
24 | *
|
---|
25 | * @param namemodel a {@link StringModel} holding name of the issue
|
---|
26 | * @param model the {@link ValueSetModel} containing the issue values.
|
---|
27 | * @return editor panel for this issue
|
---|
28 | */
|
---|
29 | public JPanel create(StringModel namemodel, ValueSetModel model,
|
---|
30 | Reporter log) {
|
---|
31 | JPanel panel = new JPanel(new BorderLayout());
|
---|
32 | panel.add(new LabeledPanel("values for issue ",
|
---|
33 | new StringPanel(namemodel)), BorderLayout.NORTH);
|
---|
34 | panel.add(create1(namemodel, model, log), BorderLayout.CENTER);
|
---|
35 | return panel;
|
---|
36 | }
|
---|
37 |
|
---|
38 | private JPanel create1(StringModel namemodel, ValueSetModel model,
|
---|
39 | Reporter log) {
|
---|
40 | if (model instanceof DiscreteValueSetModel)
|
---|
41 | return new DiscreteValueSetPanel(namemodel,
|
---|
42 | (DiscreteValueSetModel) model, log);
|
---|
43 | if (model instanceof NumberValueSetModel)
|
---|
44 | return new NumberValueSetPanel(namemodel,
|
---|
45 | (NumberValueSetModel) model);
|
---|
46 | throw new IllegalArgumentException("Unknown model type " + model);
|
---|
47 | }
|
---|
48 |
|
---|
49 | }
|
---|