Mercurial > dive4elements > river
diff flys-client/src/main/java/de/intevation/flys/client/client/ui/ParameterList.java @ 72:9b726350ab07
Moved ParameterList specific code into the ParameterList.
flys-client/trunk@1575 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Sat, 26 Mar 2011 18:07:41 +0000 |
parents | f793d35bfb08 |
children | 39210a74db07 |
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/ParameterList.java Fri Mar 25 11:51:54 2011 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/ParameterList.java Sat Mar 26 18:07:41 2011 +0000 @@ -10,16 +10,21 @@ import com.smartgwt.client.widgets.layout.HLayout; import com.smartgwt.client.widgets.layout.VLayout; +import de.intevation.flys.client.shared.model.Artifact; +import de.intevation.flys.client.shared.model.ArtifactDescription; import de.intevation.flys.client.shared.model.Data; import de.intevation.flys.client.shared.model.DataList; import de.intevation.flys.client.client.event.HasStepBackHandlers; +import de.intevation.flys.client.client.event.HasStepForwardHandlers; +import de.intevation.flys.client.client.event.ParameterChangeEvent; +import de.intevation.flys.client.client.event.ParameterChangeHandler; import de.intevation.flys.client.client.event.StepBackEvent; import de.intevation.flys.client.client.event.StepBackHandler; public class ParameterList extends VLayout -implements StepBackHandler +implements StepBackHandler, ParameterChangeHandler { protected CollectionView cView; @@ -161,5 +166,37 @@ old.clear(); oldItems.removeMembers(oldItems.getMembers()); } + + + /** + * Implements the onCollectionChange() method to do update the GUI after the + * parameterization has changed. + * + * @param event The ParameterChangeEvent. + */ + public void onParameterChange(ParameterChangeEvent event) { + GWT.log("ParameterList.onParameterChange"); + + Artifact art = event.getNewValue(); + ArtifactDescription desc = art.getArtifactDescription(); + + DataList currentData = desc.getCurrentData(); + if (currentData != null) { + // the user has to enter some attributes + String uiProvider = currentData.getUIProvider(); + UIProvider provider = UIProviderFactory.getProvider(uiProvider); + + ((HasStepForwardHandlers) provider).addStepForwardHandler(cView); + ((HasStepBackHandlers) provider).addStepBackHandler(cView); + + setCurrentData(currentData, provider); + } + else { + // we have reached a final state with no more user input + setCurrentData(null, null); + } + + addOldDatas(desc.getOldData()); + } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :