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);

http://dive4elements.wald.intevation.org