Mercurial > dive4elements > river
comparison flys-client/src/main/java/de/intevation/flys/client/client/ui/WQInputPanel.java @ 59:a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
flys-client/trunk@1519 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 18 Mar 2011 13:45:34 +0000 |
parents | d018995fbee7 |
children | 4784ca718476 |
comparison
equal
deleted
inserted
replaced
58:d018995fbee7 | 59:a3d235c63195 |
---|---|
346 * This method returns the selected data. | 346 * This method returns the selected data. |
347 * | 347 * |
348 * @return the selected/inserted data. | 348 * @return the selected/inserted data. |
349 */ | 349 */ |
350 public Data[] getData() { | 350 public Data[] getData() { |
351 // XXX If we have entered a value and click right afterwards on the | |
352 // 'next' button, the BlurEvent is not fired, and the values are not | |
353 // saved. So, we gonna save those values explicitly. | |
354 if (!isRangeMode()) { | |
355 Canvas member = container.getMember(0); | |
356 if (member instanceof DoubleArrayPanel) { | |
357 DoubleArrayPanel form = (DoubleArrayPanel) member; | |
358 if (isWMode()) { | |
359 saveSingleWValues(form); | |
360 } | |
361 else { | |
362 saveSingleQValues(form); | |
363 } | |
364 } | |
365 } | |
366 else { | |
367 Canvas member = container.getMember(0); | |
368 if (member instanceof DoubleRangePanel) { | |
369 DoubleRangePanel form = (DoubleRangePanel) member; | |
370 | |
371 if (isWMode()) { | |
372 saveRangeWValues(form); | |
373 } | |
374 else { | |
375 saveRangeQValues(form); | |
376 } | |
377 } | |
378 } | |
379 | |
351 return new Data[] { | 380 return new Data[] { |
352 getDataMode(), | 381 getDataMode(), |
353 getDataFrom(), | 382 getDataFrom(), |
354 getDataTo(), | 383 getDataTo(), |
355 getDataStep() }; | 384 getDataStep() }; |
598 String inputMode = (String) modes.getValue(FIELD_MODE); | 627 String inputMode = (String) modes.getValue(FIELD_MODE); |
599 | 628 |
600 if (wqMode.equals(FIELD_WQ_W)) { | 629 if (wqMode.equals(FIELD_WQ_W)) { |
601 if (inputMode.equals(FIELD_MODE_SINGLE)) { | 630 if (inputMode.equals(FIELD_MODE_SINGLE)) { |
602 DoubleArrayPanel p = (DoubleArrayPanel) form; | 631 DoubleArrayPanel p = (DoubleArrayPanel) form; |
603 | 632 saveSingleWValue(p, item); |
604 if (p.validateForm(item)) { | |
605 setSingleW(p.getInputValues(item)); | |
606 } | |
607 } | 633 } |
608 else { | 634 else { |
609 DoubleRangePanel p = (DoubleRangePanel) form; | 635 DoubleRangePanel p = (DoubleRangePanel) form; |
610 | 636 saveRangeWValue(p, item); |
611 if (p.validateForm(item)) { | |
612 setFromW(p.getFrom()); | |
613 setToW(p.getTo()); | |
614 setStepW(p.getStep()); | |
615 } | |
616 } | 637 } |
617 } | 638 } |
618 else { | 639 else { |
619 if (inputMode.equals(FIELD_MODE_SINGLE)) { | 640 if (inputMode.equals(FIELD_MODE_SINGLE)) { |
620 DoubleArrayPanel p = (DoubleArrayPanel) form; | 641 DoubleArrayPanel p = (DoubleArrayPanel) form; |
621 | 642 saveSingleQValue(p, item); |
622 if (p.validateForm(item)) { | |
623 setSingleQ(p.getInputValues(item)); | |
624 } | |
625 } | 643 } |
626 else { | 644 else { |
627 DoubleRangePanel p = (DoubleRangePanel) form; | 645 DoubleRangePanel p = (DoubleRangePanel) form; |
628 | 646 saveRangeQValue(p, item); |
629 if (p.validateForm(item)) { | 647 } |
630 setFromQ(p.getFrom()); | 648 } |
631 setToQ(p.getTo()); | 649 } |
632 setStepQ(p.getStep()); | 650 |
633 } | 651 |
634 } | 652 protected void saveSingleWValues(DoubleArrayPanel p) { |
653 FormItem[] formItems = p.getFields(); | |
654 | |
655 for (FormItem item: formItems) { | |
656 if (item.getFieldName().equals(DoubleArrayPanel.FIELD_NAME)) { | |
657 saveSingleWValue(p, item); | |
658 } | |
659 } | |
660 } | |
661 | |
662 | |
663 protected void saveSingleQValues(DoubleArrayPanel p) { | |
664 FormItem[] formItems = p.getFields(); | |
665 | |
666 for (FormItem item: formItems) { | |
667 if (item.getFieldName().equals(DoubleArrayPanel.FIELD_NAME)) { | |
668 saveSingleQValue(p, item); | |
669 } | |
670 } | |
671 } | |
672 | |
673 | |
674 protected void saveSingleWValue(DoubleArrayPanel p, FormItem item) { | |
675 if (p.validateForm(item)) { | |
676 setSingleW(p.getInputValues(item)); | |
677 } | |
678 } | |
679 | |
680 | |
681 protected void saveSingleQValue(DoubleArrayPanel p, FormItem item) { | |
682 if (p.validateForm(item)) { | |
683 setSingleQ(p.getInputValues(item)); | |
684 } | |
685 } | |
686 | |
687 | |
688 protected void saveRangeWValues(DoubleRangePanel p) { | |
689 FormItem[] formItems = p.getFields(); | |
690 | |
691 for (FormItem item: formItems) { | |
692 saveRangeWValue(p, item); | |
693 } | |
694 } | |
695 | |
696 | |
697 protected void saveRangeQValues(DoubleRangePanel p) { | |
698 FormItem[] formItems = p.getFields(); | |
699 | |
700 for (FormItem item: formItems) { | |
701 saveRangeQValue(p, item); | |
702 } | |
703 } | |
704 | |
705 | |
706 protected void saveRangeWValue(DoubleRangePanel p, FormItem item) { | |
707 if (p.validateForm(item)) { | |
708 setFromW(p.getFrom()); | |
709 setToW(p.getTo()); | |
710 setStepW(p.getStep()); | |
711 } | |
712 } | |
713 | |
714 | |
715 protected void saveRangeQValue(DoubleRangePanel p, FormItem item) { | |
716 if (p.validateForm(item)) { | |
717 setFromQ(p.getFrom()); | |
718 setToQ(p.getTo()); | |
719 setStepQ(p.getStep()); | |
635 } | 720 } |
636 } | 721 } |
637 | 722 |
638 | 723 |
639 protected double[] getSingleQ() { | 724 protected double[] getSingleQ() { |