Mercurial > dive4elements > river
comparison flys-client/src/main/java/de/intevation/flys/client/client/ui/fixation/FixEventSelect.java @ 2919:0173b4498054
FixA: Limit the number of displayed selected fixings to 5.
flys-client/trunk@4759 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Fri, 22 Jun 2012 15:59:47 +0000 |
parents | 82043c09a659 |
children | 0de61fc9d281 |
comparison
equal
deleted
inserted
replaced
2918:d92770527b0f | 2919:0173b4498054 |
---|---|
32 extends FixationPanel | 32 extends FixationPanel |
33 { | 33 { |
34 /** The message class that provides i18n strings. */ | 34 /** The message class that provides i18n strings. */ |
35 protected FLYSConstants MESSAGES = GWT.create(FLYSConstants.class); | 35 protected FLYSConstants MESSAGES = GWT.create(FLYSConstants.class); |
36 | 36 |
37 public static final int MAX_DISPLAYED_ITEMS = 5; | |
38 | |
37 protected FixingsOverviewServiceAsync overviewService = | 39 protected FixingsOverviewServiceAsync overviewService = |
38 GWT.create(FixingsOverviewService.class); | 40 GWT.create(FixingsOverviewService.class); |
39 | 41 |
40 protected List<String> events; | 42 protected List<String> events; |
41 | 43 |
62 | 64 |
63 Data data = getData(list, "events"); | 65 Data data = getData(list, "events"); |
64 | 66 |
65 VLayout dataLayout = new VLayout(); | 67 VLayout dataLayout = new VLayout(); |
66 dataLayout.setWidth(130); | 68 dataLayout.setWidth(130); |
69 | |
67 DataItem[] items = data.getItems(); | 70 DataItem[] items = data.getItems(); |
68 for (int i = 0; i < items.length; i++) { | 71 |
69 Label l = new Label(items[i].getLabel()); | 72 if (items.length > MAX_DISPLAYED_ITEMS) { |
73 for (int i = 0; i < MAX_DISPLAYED_ITEMS-2; ++i) { | |
74 Label l = new Label(items[i].getLabel()); | |
75 l.setHeight(25); | |
76 dataLayout.addMember(l); | |
77 } | |
78 Label l = new Label("..."); | |
70 l.setHeight(25); | 79 l.setHeight(25); |
71 dataLayout.addMember(l); | 80 dataLayout.addMember(l); |
81 l = new Label(items[items.length-1].getLabel()); | |
82 l.setHeight(25); | |
83 dataLayout.addMember(l); | |
84 } | |
85 else { | |
86 for (int i = 0; i < items.length; i++) { | |
87 Label l = new Label(items[i].getLabel()); | |
88 l.setHeight(25); | |
89 dataLayout.addMember(l); | |
90 } | |
72 } | 91 } |
73 | 92 |
74 HLayout layout = new HLayout(); | 93 HLayout layout = new HLayout(); |
75 layout.setWidth("400px"); | 94 layout.setWidth("400px"); |
76 | 95 |
95 public Data[] getData() { | 114 public Data[] getData() { |
96 List<Data> data = new ArrayList<Data>(); | 115 List<Data> data = new ArrayList<Data>(); |
97 | 116 |
98 if (events.size() > 0) { | 117 if (events.size() > 0) { |
99 IntDataItem[] arr = new IntDataItem[events.size()]; | 118 IntDataItem[] arr = new IntDataItem[events.size()]; |
100 for (int i = 0; i < events.size(); i++) { | 119 for (int i = 0, E = events.size(); i < E; i++) { |
101 try { | 120 try { |
102 Integer v = new Integer(events.get(i)); | 121 Integer v = new Integer(events.get(i)); |
103 arr[i] = new IntDataItem("id", "id", v.intValue()); | 122 arr[i] = new IntDataItem("id", "id", v.intValue()); |
104 } | 123 } |
105 catch (NumberFormatException nfe) { | 124 catch (NumberFormatException nfe) { |
135 return true; | 154 return true; |
136 } | 155 } |
137 | 156 |
138 | 157 |
139 public void success() { | 158 public void success() { |
140 List<FixEvent> fe = fixInfo.getEvents(); | 159 for (FixEvent fe: fixInfo.getEvents()) { |
141 for (int i = 0; i < fe.size(); i++) { | 160 events.add(fe.getCId()); |
142 events.add (fe.get(i).getCId()); | |
143 } | 161 } |
144 } | 162 } |
145 | 163 |
146 public void dumpGWT(String cid) { | 164 public void dumpGWT(String cid) { |
147 GWT.log("Setting values for cId: " + cid); | 165 GWT.log("Setting values for cId: " + cid); |