source: domaineditor/src/main/java/geniusweb/domaineditor/panels/profile/ProfileEditorPanel.java@ 52

Last change on this file since 52 was 52, checked in by ruud, 14 months ago

Fixed small issues in domaineditor.

File size: 2.2 KB
Line 
1package geniusweb.domaineditor.panels.profile;
2
3import java.awt.Component;
4
5import javax.swing.JTabbedPane;
6
7import geniusweb.domaineditor.model.profile.DiscreteValueSetUtilitiesModel;
8import geniusweb.domaineditor.model.profile.LinearAdditiveUtilitySpaceModel;
9import geniusweb.domaineditor.model.profile.NumberValueSetUtilitiesModel;
10import geniusweb.domaineditor.model.profile.ValueSetUtilitiesModel;
11import geniusweb.domaineditor.panels.DomainEditorPanel;
12import tudelft.utilities.logging.Reporter;
13import tudelft.utilities.mvc.model.MapModel;
14import tudelft.utilities.mvc.model.StringModel;
15import tudelft.utilities.mvc.panels.CustomMapEditor;
16import tudelft.utilities.mvc.panels.MapPanel;
17
18/**
19 * Editor for entire {@link LinearAdditiveUtilitySpaceModel}
20 *
21 */
22public class ProfileEditorPanel extends JTabbedPane {
23
24 private LinearAdditiveUtilitySpaceModel linmodel;
25 private Reporter log;
26
27 public ProfileEditorPanel(LinearAdditiveUtilitySpaceModel lamodel,
28 Reporter log) {
29 this.linmodel = lamodel;
30 this.log = log;
31 addTab("Properties", new PropertiesPanel(linmodel.getName(), log));
32 addTab("Domain", new DomainEditorPanel(linmodel.getDomain(), log));
33 addTab("Reservation Bid", new MapPanel<>(linmodel.getReservationBid()));
34 addTab("Utilities", new MyUtilsEditor(linmodel.getIssueUtilities()));
35 addTab("Weights", new MapPanel<>(linmodel.getWeights()));
36 }
37
38}
39
40/**
41 * CustomMapEditor for the utilities. Pulled out as getEditor is basically a
42 * factory.
43 *
44 */
45class MyUtilsEditor
46 extends CustomMapEditor<String, StringModel, ValueSetUtilitiesModel> {
47
48 public MyUtilsEditor(
49 MapModel<StringModel, ValueSetUtilitiesModel> issueUtilities) {
50 super(issueUtilities, false);
51 }
52
53 @Override
54 public void addEntry() {
55 }
56
57 @Override
58 public Component getEditor(StringModel key) {
59 ValueSetUtilitiesModel value = getModel().getValue(key);
60 if (value instanceof DiscreteValueSetUtilitiesModel)
61 return new DiscreteValueSetUtilitiesPanel(
62 (DiscreteValueSetUtilitiesModel) value);
63 if (value instanceof NumberValueSetUtilitiesModel)
64 return new NumberValueSetUtilitiesPanel(
65 (NumberValueSetUtilitiesModel) value);
66 throw new RuntimeException("Unknown valueset encountered:" + value);
67 }
68
69}
Note: See TracBrowser for help on using the repository browser.