Mercurial > dive4elements > river
comparison flys-client/src/main/java/de/intevation/flys/client/client/ui/WQInputPanel.java @ 249:6c7133eb8c4c
Implemented handler for WQ value selection.
flys-client/trunk@1837 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Thu, 05 May 2011 13:32:36 +0000 |
parents | ed90309ec608 |
children | 27f12703937e |
comparison
equal
deleted
inserted
replaced
248:ed90309ec608 | 249:6c7133eb8c4c |
---|---|
31 import de.intevation.flys.client.shared.model.DefaultDataItem; | 31 import de.intevation.flys.client.shared.model.DefaultDataItem; |
32 import de.intevation.flys.client.shared.model.WQInfoObject; | 32 import de.intevation.flys.client.shared.model.WQInfoObject; |
33 import de.intevation.flys.client.shared.model.WQInfoRecord; | 33 import de.intevation.flys.client.shared.model.WQInfoRecord; |
34 import de.intevation.flys.client.shared.model.ArtifactDescription; | 34 import de.intevation.flys.client.shared.model.ArtifactDescription; |
35 import com.smartgwt.client.types.ListGridFieldType; | 35 import com.smartgwt.client.types.ListGridFieldType; |
36 import com.smartgwt.client.types.SelectionStyle; | |
36 | 37 |
37 import de.intevation.flys.client.client.services.WQInfoService; | 38 import de.intevation.flys.client.client.services.WQInfoService; |
38 import de.intevation.flys.client.client.services.WQInfoServiceAsync; | 39 import de.intevation.flys.client.client.services.WQInfoServiceAsync; |
39 import de.intevation.flys.client.client.FLYSConstants; | 40 import de.intevation.flys.client.client.FLYSConstants; |
40 import de.intevation.flys.client.client.FLYSImages; | 41 import de.intevation.flys.client.client.FLYSImages; |
122 protected double stepQ; | 123 protected double stepQ; |
123 | 124 |
124 /** The values entered in the single Q mode.*/ | 125 /** The values entered in the single Q mode.*/ |
125 protected double[] valuesQ; | 126 protected double[] valuesQ; |
126 | 127 |
128 /** The input panel for W values*/ | |
129 protected DoubleArrayPanel wArrayPanel; | |
130 | |
131 /** The input panel for q values*/ | |
132 protected DoubleArrayPanel qArrayPanel; | |
133 | |
134 /** The input panel for w range*/ | |
135 protected DoubleRangePanel wRangePanel; | |
136 | |
137 /** The input panel for q range*/ | |
138 protected DoubleRangePanel qRangePanel; | |
139 | |
127 /** The WQ Data*/ | 140 /** The WQ Data*/ |
128 protected WQInfoObject[] tableData; | 141 protected WQInfoObject[] tableData; |
129 | 142 |
130 /** The WQ Input Table*/ | 143 /** The WQ Input Table*/ |
131 protected ListGrid wqTable; | 144 protected ListGrid wqTable; |
239 wqRangeTable.setHeight(300); | 252 wqRangeTable.setHeight(300); |
240 | 253 |
241 ListGridField addWQ = new ListGridField("", ""); | 254 ListGridField addWQ = new ListGridField("", ""); |
242 addWQ.setType(ListGridFieldType.ICON); | 255 addWQ.setType(ListGridFieldType.ICON); |
243 addWQ.setWidth(30); | 256 addWQ.setWidth(30); |
244 wqTable.addCellClickHandler(new CellClickHandler() { | 257 |
258 CellClickHandler cch = new CellClickHandler() { | |
245 public void onCellClick(CellClickEvent e) { | 259 public void onCellClick(CellClickEvent e) { |
246 if (e.getColNum() == 0 && e.getRecord().getEnabled ()) { | 260 if (e.getColNum() == 0 && !e.getRecord().getEnabled ()) { |
247 Record r = e.getRecord (); | 261 Record r = e.getRecord (); |
248 double val = r.getAttributeAsDouble("value"); | 262 double val = r.getAttributeAsDouble("value"); |
249 // setValue(val); | 263 if(isWMode() && !isRangeMode()) { |
264 double[] in = wArrayPanel.getInputValues(); | |
265 int size = 0; | |
266 if (in == null) { | |
267 double[] vals = new double[1]; | |
268 vals[0] = val; | |
269 wArrayPanel.setValues(vals); | |
270 setSingleW(vals); | |
271 } | |
272 else { | |
273 double[] vals = new double[in.length+1]; | |
274 for(int i = 0; i < in.length; i++) { | |
275 vals[i] = in[i]; | |
276 } | |
277 vals[in.length] = val; | |
278 wArrayPanel.setValues(vals); | |
279 setSingleW(vals); | |
280 } | |
281 } | |
282 else if (!isWMode() && !isRangeMode()) { | |
283 double[] in = qArrayPanel.getInputValues(); | |
284 int size = 0; | |
285 if (in == null) { | |
286 double[] vals = new double[1]; | |
287 vals[0] = val; | |
288 qArrayPanel.setValues(vals); | |
289 setSingleQ(vals); | |
290 } | |
291 else { | |
292 double[] vals = new double[in.length+1]; | |
293 for(int i = 0; i < in.length; i++) { | |
294 vals[i] = in[i]; | |
295 } | |
296 vals[in.length] = val; | |
297 qArrayPanel.setValues(vals); | |
298 setSingleQ(vals); | |
299 } | |
300 } | |
250 } | 301 } |
251 } | 302 } |
252 }); | 303 }; |
304 | |
305 CellClickHandler cchRange = new CellClickHandler() { | |
306 public void onCellClick(CellClickEvent e) { | |
307 if (e.getColNum() == 0 && !e.getRecord().getEnabled ()) { | |
308 Record r = e.getRecord (); | |
309 double val = r.getAttributeAsDouble("value"); | |
310 if(isWMode() && isRangeMode()) { | |
311 wRangePanel.setValues( | |
312 val, | |
313 wRangePanel.getTo(), | |
314 wRangePanel. getStep()); | |
315 } | |
316 else if (!isWMode() && isRangeMode()) { | |
317 qRangePanel.setValues( | |
318 val, | |
319 qRangePanel.getTo(), | |
320 qRangePanel.getStep()); | |
321 } | |
322 } | |
323 if (e.getColNum() == 1 && !e.getRecord().getEnabled()) { | |
324 Record r = e.getRecord (); | |
325 double val = r.getAttributeAsDouble("value"); | |
326 if (isWMode() && isRangeMode()) { | |
327 wRangePanel.setValues( | |
328 wRangePanel.getFrom(), | |
329 val, | |
330 wRangePanel.getStep()); | |
331 } | |
332 else if(!isWMode() && isRangeMode()) { | |
333 qRangePanel.setValues( | |
334 qRangePanel.getFrom(), | |
335 val, | |
336 qRangePanel.getStep()); | |
337 } | |
338 } | |
339 } | |
340 }; | |
341 wqTable.addCellClickHandler(cch); | |
342 wqRangeTable.addCellClickHandler(cchRange); | |
253 addWQ.setCellIcon (IMAGES.markerGreen().getURL()); | 343 addWQ.setCellIcon (IMAGES.markerGreen().getURL()); |
254 | 344 |
255 ListGridField addWQMin = new ListGridField("", ""); | 345 ListGridField addWQMin = new ListGridField("", ""); |
256 addWQMin.setType(ListGridFieldType.ICON); | 346 addWQMin.setType(ListGridFieldType.ICON); |
257 addWQMin.setWidth(30); | 347 addWQMin.setWidth(30); |
258 ListGridField addWQMax = new ListGridField("", ""); | 348 ListGridField addWQMax = new ListGridField("", ""); |
259 addWQMax.setType(ListGridFieldType.ICON); | 349 addWQMax.setType(ListGridFieldType.ICON); |
260 addWQMax.setWidth(30); | 350 addWQMax.setWidth(30); |
261 | 351 |
262 wqRangeTable.addCellClickHandler(new CellClickHandler() { | 352 wqRangeTable.addCellClickHandler(cch); |
263 public void onCellClick(CellClickEvent e) { | |
264 if (e.getColNum() == 0 && e.getRecord().getEnabled ()) { | |
265 Record r = e.getRecord (); | |
266 double val = r.getAttributeAsDouble("value"); | |
267 // setValue(val); | |
268 } | |
269 else if (e.getColNum() == 1 && e.getRecord().getEnabled()) { | |
270 | |
271 } | |
272 } | |
273 }); | |
274 addWQMin.setCellIcon(IMAGES.markerGreen().getURL()); | 353 addWQMin.setCellIcon(IMAGES.markerGreen().getURL()); |
275 addWQMax.setCellIcon(IMAGES.markerRed().getURL()); | 354 addWQMax.setCellIcon(IMAGES.markerRed().getURL()); |
276 | 355 |
277 ListGridField name = new ListGridField("name", MESSAGE.name()); | 356 ListGridField name = new ListGridField("name", MESSAGE.name()); |
278 name.setType(ListGridFieldType.TEXT); | 357 name.setType(ListGridFieldType.TEXT); |
292 type_r.setWidth("50"); | 371 type_r.setWidth("50"); |
293 ListGridField value_r = new ListGridField("value", MESSAGE.wq_value()); | 372 ListGridField value_r = new ListGridField("value", MESSAGE.wq_value()); |
294 value_r.setType(ListGridFieldType.TEXT); | 373 value_r.setType(ListGridFieldType.TEXT); |
295 type_r.setWidth("50"); | 374 type_r.setWidth("50"); |
296 | 375 |
297 | 376 wqTable.setSelectionType(SelectionStyle.SINGLE); |
377 wqRangeTable.setSelectionType(SelectionStyle.SINGLE); | |
298 wqTable.setFields(addWQ, name, type, value); | 378 wqTable.setFields(addWQ, name, type, value); |
299 wqRangeTable.setFields(addWQMin, addWQMax, name_r, type_r, value_r); | 379 wqRangeTable.setFields(addWQMin, addWQMax, name_r, type_r, value_r); |
300 } | 380 } |
301 | 381 |
302 /** | 382 /** |
388 container.setMembersMargin(30); | 468 container.setMembersMargin(30); |
389 createWQInputTable(); | 469 createWQInputTable(); |
390 createWQInputPanel(); | 470 createWQInputPanel(); |
391 // the initial panel is the Single-W panel. | 471 // the initial panel is the Single-W panel. |
392 double[] values = getSingleW(); | 472 double[] values = getSingleW(); |
393 container.addMember(new DoubleArrayPanel( | 473 wArrayPanel = new DoubleArrayPanel( |
394 MESSAGE.unitWSingle(), values, this)); | 474 MESSAGE.unitWSingle(), values, this); |
395 | 475 container.addMember(wArrayPanel); |
396 container.addMember(wqTable); | 476 container.addMember(wqTable); |
397 layout.addMember(modeForm); | 477 layout.addMember(modeForm); |
398 layout.addMember(container); | 478 layout.addMember(container); |
399 | 479 |
400 return layout; | 480 return layout; |
716 if (wqMode.equals(FIELD_WQ_W)) { | 796 if (wqMode.equals(FIELD_WQ_W)) { |
717 if (inputMode.equals(FIELD_MODE_SINGLE)) { | 797 if (inputMode.equals(FIELD_MODE_SINGLE)) { |
718 // Single W mode | 798 // Single W mode |
719 double[] values = getSingleW(); | 799 double[] values = getSingleW(); |
720 | 800 |
721 newPanel = new DoubleArrayPanel( | 801 wArrayPanel = new DoubleArrayPanel( |
722 MESSAGE.unitWSingle(), values, this); | 802 MESSAGE.unitWSingle(), values, this); |
723 | 803 |
724 container.addMember(newPanel); | 804 container.addMember(wArrayPanel); |
725 container.addMember(wqTable); | 805 container.addMember(wqTable); |
726 } | 806 } |
727 else { | 807 else { |
728 // Range W mode | 808 // Range W mode |
729 double from = getFromW(); | 809 double from = getFromW(); |
730 double to = getToW(); | 810 double to = getToW(); |
731 double step = getStepW(); | 811 double step = getStepW(); |
732 | 812 |
733 newPanel = new DoubleRangePanel( | 813 wRangePanel = new DoubleRangePanel( |
734 MESSAGE.unitWFrom(), MESSAGE.unitWTo(), MESSAGE.unitWStep(), | 814 MESSAGE.unitWFrom(), MESSAGE.unitWTo(), MESSAGE.unitWStep(), |
735 from, to, step, | 815 from, to, step, |
736 250, | 816 250, |
737 this); | 817 this); |
738 container.addMember(newPanel); | 818 container.addMember(wRangePanel); |
739 container.addMember(wqRangeTable); | 819 container.addMember(wqRangeTable); |
740 } | 820 } |
741 } | 821 } |
742 else { | 822 else { |
743 if (inputMode.equals(FIELD_MODE_SINGLE)) { | 823 if (inputMode.equals(FIELD_MODE_SINGLE)) { |
744 // Single Q mode | 824 // Single Q mode |
745 double[] values = getSingleQ(); | 825 double[] values = getSingleQ(); |
746 | 826 |
747 newPanel = new DoubleArrayPanel( | 827 qArrayPanel = new DoubleArrayPanel( |
748 MESSAGE.unitQSingle(), values, this); | 828 MESSAGE.unitQSingle(), values, this); |
749 container.addMember(newPanel); | 829 container.addMember(qArrayPanel); |
750 container.addMember(wqTable); | 830 container.addMember(wqTable); |
751 } | 831 } |
752 else { | 832 else { |
753 // Range Q mode | 833 // Range Q mode |
754 double from = getFromQ(); | 834 double from = getFromQ(); |
755 double to = getToQ(); | 835 double to = getToQ(); |
756 double step = getStepQ(); | 836 double step = getStepQ(); |
757 | 837 |
758 newPanel = new DoubleRangePanel( | 838 qRangePanel = new DoubleRangePanel( |
759 MESSAGE.unitQFrom(), MESSAGE.unitQTo(), MESSAGE.unitQStep(), | 839 MESSAGE.unitQFrom(), MESSAGE.unitQTo(), MESSAGE.unitQStep(), |
760 from, to, step, | 840 from, to, step, |
761 250, | 841 250, |
762 this); | 842 this); |
763 container.addMember(newPanel); | 843 container.addMember(qRangePanel); |
764 container.addMember(wqRangeTable); | 844 container.addMember(wqRangeTable); |
765 } | 845 } |
766 } | 846 } |
767 | 847 |
768 } | 848 } |
1029 wqRangeTable.addData(rec); | 1109 wqRangeTable.addData(rec); |
1030 } | 1110 } |
1031 return; | 1111 return; |
1032 } | 1112 } |
1033 } | 1113 } |
1034 | |
1035 | |
1036 | |
1037 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : | 1114 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |