Mercurial > dive4elements > river
comparison flys-client/src/main/java/de/intevation/flys/client/client/ui/WQInputPanel.java @ 250:27f12703937e
Enable or disable table rows depending on the WQ selection.
flys-client/trunk@1841 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Thu, 05 May 2011 15:42:38 +0000 |
parents | 6c7133eb8c4c |
children | 337f5a7c7160 |
comparison
equal
deleted
inserted
replaced
249:6c7133eb8c4c | 250:27f12703937e |
---|---|
19 import com.smartgwt.client.widgets.form.fields.events.ChangeEvent; | 19 import com.smartgwt.client.widgets.form.fields.events.ChangeEvent; |
20 import com.smartgwt.client.widgets.layout.HLayout; | 20 import com.smartgwt.client.widgets.layout.HLayout; |
21 import com.smartgwt.client.widgets.layout.VLayout; | 21 import com.smartgwt.client.widgets.layout.VLayout; |
22 import com.smartgwt.client.widgets.grid.ListGrid; | 22 import com.smartgwt.client.widgets.grid.ListGrid; |
23 import com.smartgwt.client.widgets.grid.ListGridField; | 23 import com.smartgwt.client.widgets.grid.ListGridField; |
24 import com.smartgwt.client.widgets.grid.ListGridRecord; | |
24 import com.smartgwt.client.widgets.grid.events.CellClickHandler; | 25 import com.smartgwt.client.widgets.grid.events.CellClickHandler; |
25 import com.smartgwt.client.widgets.grid.events.CellClickEvent; | 26 import com.smartgwt.client.widgets.grid.events.CellClickEvent; |
26 | 27 |
27 import de.intevation.flys.client.shared.model.Data; | 28 import de.intevation.flys.client.shared.model.Data; |
28 import de.intevation.flys.client.shared.model.DataItem; | 29 import de.intevation.flys.client.shared.model.DataItem; |
255 addWQ.setType(ListGridFieldType.ICON); | 256 addWQ.setType(ListGridFieldType.ICON); |
256 addWQ.setWidth(30); | 257 addWQ.setWidth(30); |
257 | 258 |
258 CellClickHandler cch = new CellClickHandler() { | 259 CellClickHandler cch = new CellClickHandler() { |
259 public void onCellClick(CellClickEvent e) { | 260 public void onCellClick(CellClickEvent e) { |
260 if (e.getColNum() == 0 && !e.getRecord().getEnabled ()) { | 261 if (e.getColNum() == 0 && e.getRecord().getEnabled ()) { |
261 Record r = e.getRecord (); | 262 Record r = e.getRecord (); |
262 double val = r.getAttributeAsDouble("value"); | 263 double val = r.getAttributeAsDouble("value"); |
263 if(isWMode() && !isRangeMode()) { | 264 if(isWMode() && !isRangeMode()) { |
264 double[] in = wArrayPanel.getInputValues(); | 265 double[] in = wArrayPanel.getInputValues(); |
265 int size = 0; | 266 int size = 0; |
302 } | 303 } |
303 }; | 304 }; |
304 | 305 |
305 CellClickHandler cchRange = new CellClickHandler() { | 306 CellClickHandler cchRange = new CellClickHandler() { |
306 public void onCellClick(CellClickEvent e) { | 307 public void onCellClick(CellClickEvent e) { |
307 if (e.getColNum() == 0 && !e.getRecord().getEnabled ()) { | 308 if (e.getColNum() == 0 && e.getRecord().getEnabled ()) { |
308 Record r = e.getRecord (); | 309 Record r = e.getRecord (); |
309 double val = r.getAttributeAsDouble("value"); | 310 double val = r.getAttributeAsDouble("value"); |
310 if(isWMode() && isRangeMode()) { | 311 if(isWMode() && isRangeMode()) { |
311 wRangePanel.setValues( | 312 wRangePanel.setValues( |
312 val, | 313 val, |
318 val, | 319 val, |
319 qRangePanel.getTo(), | 320 qRangePanel.getTo(), |
320 qRangePanel.getStep()); | 321 qRangePanel.getStep()); |
321 } | 322 } |
322 } | 323 } |
323 if (e.getColNum() == 1 && !e.getRecord().getEnabled()) { | 324 if (e.getColNum() == 1 && e.getRecord().getEnabled()) { |
324 Record r = e.getRecord (); | 325 Record r = e.getRecord (); |
325 double val = r.getAttributeAsDouble("value"); | 326 double val = r.getAttributeAsDouble("value"); |
326 if (isWMode() && isRangeMode()) { | 327 if (isWMode() && isRangeMode()) { |
327 wRangePanel.setValues( | 328 wRangePanel.setValues( |
328 wRangePanel.getFrom(), | 329 wRangePanel.getFrom(), |
787 else { | 788 else { |
788 wqMode = (String) event.getValue(); | 789 wqMode = (String) event.getValue(); |
789 inputMode = form.getValueAsString(FIELD_MODE); | 790 inputMode = form.getValueAsString(FIELD_MODE); |
790 } | 791 } |
791 | 792 |
793 updatePanels(wqMode, inputMode); | |
794 } | |
795 | |
796 | |
797 protected void updatePanels(String wqMode, String inputMode) { | |
792 container.removeMembers(container.getMembers()); | 798 container.removeMembers(container.getMembers()); |
793 | 799 GWT.log("updating Panel and Table"); |
794 Canvas newPanel = null; | |
795 | |
796 if (wqMode.equals(FIELD_WQ_W)) { | 800 if (wqMode.equals(FIELD_WQ_W)) { |
797 if (inputMode.equals(FIELD_MODE_SINGLE)) { | 801 if (inputMode.equals(FIELD_MODE_SINGLE)) { |
798 // Single W mode | 802 // Single W mode |
799 double[] values = getSingleW(); | 803 double[] values = getSingleW(); |
800 | 804 |
801 wArrayPanel = new DoubleArrayPanel( | 805 wArrayPanel = new DoubleArrayPanel( |
802 MESSAGE.unitWSingle(), values, this); | 806 MESSAGE.unitWSingle(), values, this); |
803 | 807 |
804 container.addMember(wArrayPanel); | 808 container.addMember(wArrayPanel); |
805 container.addMember(wqTable); | 809 container.addMember(wqTable); |
810 int size = wqTable.getRecords().length; | |
811 for(int i = 0; i < size; i++) { | |
812 ListGridRecord r = wqTable.getRecord(i); | |
813 String type = r.getAttributeAsString("type"); | |
814 if (type.equals("W")) { | |
815 wqTable.getRecord(i).setEnabled(true); | |
816 } | |
817 else if(type.equals("D") || type.equals("Q")) { | |
818 wqTable.getRecord(i).setEnabled(false); | |
819 } | |
820 } | |
806 } | 821 } |
807 else { | 822 else { |
808 // Range W mode | 823 // Range W mode |
809 double from = getFromW(); | 824 double from = getFromW(); |
810 double to = getToW(); | 825 double to = getToW(); |
815 from, to, step, | 830 from, to, step, |
816 250, | 831 250, |
817 this); | 832 this); |
818 container.addMember(wRangePanel); | 833 container.addMember(wRangePanel); |
819 container.addMember(wqRangeTable); | 834 container.addMember(wqRangeTable); |
835 int size = wqRangeTable.getRecords().length; | |
836 for(int i = 0; i < size; i++) { | |
837 ListGridRecord r = wqRangeTable.getRecord(i); | |
838 String type = r.getAttributeAsString("type"); | |
839 if (type.equals("W")) { | |
840 wqRangeTable.getRecord(i).setEnabled(true); | |
841 } | |
842 else if(type.equals("D") || type.equals("Q")) { | |
843 wqRangeTable.getRecord(i).setEnabled(false); | |
844 } | |
845 } | |
820 } | 846 } |
821 } | 847 } |
822 else { | 848 else { |
823 if (inputMode.equals(FIELD_MODE_SINGLE)) { | 849 if (inputMode.equals(FIELD_MODE_SINGLE)) { |
824 // Single Q mode | 850 // Single Q mode |
826 | 852 |
827 qArrayPanel = new DoubleArrayPanel( | 853 qArrayPanel = new DoubleArrayPanel( |
828 MESSAGE.unitQSingle(), values, this); | 854 MESSAGE.unitQSingle(), values, this); |
829 container.addMember(qArrayPanel); | 855 container.addMember(qArrayPanel); |
830 container.addMember(wqTable); | 856 container.addMember(wqTable); |
857 int size = wqTable.getRecords().length; | |
858 for(int i = 0; i < size; i++) { | |
859 ListGridRecord r = wqTable.getRecord(i); | |
860 String type = r.getAttributeAsString("type"); | |
861 if (type.equals("W")) { | |
862 wqTable.getRecord(i).setEnabled(false); | |
863 } | |
864 else if(type.equals("D") || type.equals("Q")) { | |
865 wqTable.getRecord(i).setEnabled(true); | |
866 } | |
867 } | |
868 | |
831 } | 869 } |
832 else { | 870 else { |
833 // Range Q mode | 871 // Range Q mode |
834 double from = getFromQ(); | 872 double from = getFromQ(); |
835 double to = getToQ(); | 873 double to = getToQ(); |
840 from, to, step, | 878 from, to, step, |
841 250, | 879 250, |
842 this); | 880 this); |
843 container.addMember(qRangePanel); | 881 container.addMember(qRangePanel); |
844 container.addMember(wqRangeTable); | 882 container.addMember(wqRangeTable); |
845 } | 883 int size = wqRangeTable.getRecords().length; |
846 } | 884 for(int i = 0; i < size; i++) { |
847 | 885 ListGridRecord r = wqRangeTable.getRecord(i); |
848 } | 886 String type = r.getAttributeAsString("type"); |
849 | 887 if (type.equals("W")) { |
888 wqRangeTable.getRecord(i).setEnabled(false); | |
889 } | |
890 else if(type.equals("D") || type.equals("Q")) { | |
891 wqRangeTable.getRecord(i).setEnabled(true); | |
892 } | |
893 } | |
894 } | |
895 } | |
896 } | |
850 | 897 |
851 /** | 898 /** |
852 * This method is called if the value of one of the input fields might have | 899 * This method is called if the value of one of the input fields might have |
853 * changed. The entered values are validated and stored. | 900 * changed. The entered values are validated and stored. |
854 * | 901 * |
1093 if (num == 0) { | 1140 if (num == 0) { |
1094 return; | 1141 return; |
1095 } | 1142 } |
1096 tableData = wqi; | 1143 tableData = wqi; |
1097 addWQInfo(wqi); | 1144 addWQInfo(wqi); |
1145 updatePanels(FIELD_WQ_W, FIELD_MODE_SINGLE); | |
1098 } | 1146 } |
1099 } | 1147 } |
1100 ); | 1148 ); |
1101 } | 1149 } |
1102 | 1150 |