1 | package geniusweb.domaineditor;
|
---|
2 |
|
---|
3 | import java.awt.BorderLayout;
|
---|
4 | import java.util.Collections;
|
---|
5 |
|
---|
6 | import javax.swing.JFrame;
|
---|
7 |
|
---|
8 | import org.junit.Test;
|
---|
9 |
|
---|
10 | import geniusweb.domaineditor.model.DiscreteValueSetModel;
|
---|
11 | import geniusweb.domaineditor.model.DomainModel;
|
---|
12 | import geniusweb.domaineditor.model.ValueSetModel;
|
---|
13 | import geniusweb.domaineditor.panels.DomainEditorPanel;
|
---|
14 | import tudelft.utilities.listener.Listener;
|
---|
15 | import tudelft.utilities.logging.Reporter;
|
---|
16 | import tudelft.utilities.mvc.model.DefaultMapModel;
|
---|
17 | import tudelft.utilities.mvc.model.StringModel;
|
---|
18 | import tudelft.utilities.mvc.model.events.Event;
|
---|
19 | import tudelft.utilities.mvc.panels.PopupReporter;
|
---|
20 |
|
---|
21 | public class DomainEditorPanelTest {
|
---|
22 | private int n = 1;
|
---|
23 |
|
---|
24 | @Test
|
---|
25 | public void GuiTest() throws InterruptedException {
|
---|
26 | JFrame f = new JFrame();
|
---|
27 | Reporter log = new PopupReporter(f);
|
---|
28 | f.setLayout(new BorderLayout());
|
---|
29 |
|
---|
30 | StringModel namemodel = new StringModel("issue1", log);
|
---|
31 | ValueSetModel valuesmmodel = new DiscreteValueSetModel(log);
|
---|
32 | DefaultMapModel<StringModel, ValueSetModel> issuesmodel = new DefaultMapModel<StringModel, ValueSetModel>(
|
---|
33 | Collections.singletonMap(namemodel, valuesmmodel), log) {
|
---|
34 |
|
---|
35 | @Override
|
---|
36 | public String getColumnName(int n) {
|
---|
37 | return n == 0 ? "issue" : "value";
|
---|
38 | }
|
---|
39 |
|
---|
40 | @Override
|
---|
41 | public ValueSetModel create(StringModel key) {
|
---|
42 | // CALLER SHOULD ADD THIS TO ISSUE n++
|
---|
43 | return new DiscreteValueSetModel(log);
|
---|
44 | }
|
---|
45 |
|
---|
46 | @Override
|
---|
47 | public int getMinimumSize() {
|
---|
48 | return 1;
|
---|
49 | }
|
---|
50 |
|
---|
51 | };
|
---|
52 | DomainModel model = new DomainModel(new StringModel("testdomain", log),
|
---|
53 | issuesmodel, log);
|
---|
54 | model.addListener(new Listener<Event>() {
|
---|
55 |
|
---|
56 | @Override
|
---|
57 | public void notifyChange(Event data) {
|
---|
58 | System.out.println("String changed : " + data);
|
---|
59 | }
|
---|
60 | });
|
---|
61 | f.getContentPane().add(new DomainEditorPanel(model, log),
|
---|
62 | BorderLayout.CENTER);
|
---|
63 | f.pack();
|
---|
64 | f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
---|
65 | f.setVisible(true);
|
---|
66 | Thread.sleep(10000);
|
---|
67 | f.setVisible(false);
|
---|
68 | }
|
---|
69 | }
|
---|