# HG changeset patch # User Ingo Weinzierl # Date 1301328023 0 # Node ID 4784ca7184769f7c8e22ec18b44506167449d95a # Parent 4c5fa2b0086a44f921c84069084c538575b92c79 Improved the positioning of helper widgets and some layout specific stuff. flys-client/trunk@1593 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 4c5fa2b0086a -r 4784ca718476 flys-client/ChangeLog --- a/flys-client/ChangeLog Mon Mar 28 15:23:51 2011 +0000 +++ b/flys-client/ChangeLog Mon Mar 28 16:00:23 2011 +0000 @@ -1,3 +1,23 @@ +2011-03-28 Ingo Weinzierl + + * src/main/java/de/intevation/flys/client/client/ui/UIProvider.java, + src/main/java/de/intevation/flys/client/client/ui/AbstractUIProvider.java: + A UIProvider might now have a panel that can be used to render helper + widgets. E.g. the river selection will render its river map into this + panel. It is injected and can be placed somewhere around the + application. + + * src/main/java/de/intevation/flys/client/client/ui/ParameterList.java: + Injected the right panel of the parameter panel into the UIProvider. + Helper widgets are rendered into this panel now! + + * src/main/java/de/intevation/flys/client/client/ui/LocationDistancePanel.java, + src/main/java/de/intevation/flys/client/client/ui/MapSelection.java, + src/main/java/de/intevation/flys/client/client/ui/WQInputPanel.java, + src/main/java/de/intevation/flys/client/client/ui/SelectProvider.java, + src/main/java/de/intevation/flys/client/client/ui/ModuleSelection.java: + Some layout improvements (heights, position of elements and so far). + 2011-03-28 Raimund Renkert * src/main/java/de/intevation/flys/client/client/ui/MainMenu.java: The project diff -r 4c5fa2b0086a -r 4784ca718476 flys-client/src/main/java/de/intevation/flys/client/client/ui/AbstractUIProvider.java --- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/AbstractUIProvider.java Mon Mar 28 15:23:51 2011 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/AbstractUIProvider.java Mon Mar 28 16:00:23 2011 +0000 @@ -41,6 +41,9 @@ /** The StepForwardHandlers.*/ protected List backHandlers; + /** The container that is used to position helper widgets.*/ + protected Canvas helperContainer; + /** * Creates a new UIProvider instance of this class. @@ -150,6 +153,17 @@ /** + * This method injects a container that is used to position helper widgets. + * + * @param helperContainer A container that is used to position helper + * widgets. + */ + public void setContainer(Canvas helperContainer) { + this.helperContainer = helperContainer; + } + + + /** * This method needs to be implemented by concrete subclasses. It should * create a new Canvas object with a representation of data. * diff -r 4c5fa2b0086a -r 4784ca718476 flys-client/src/main/java/de/intevation/flys/client/client/ui/LocationDistancePanel.java --- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/LocationDistancePanel.java Mon Mar 28 15:23:51 2011 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/LocationDistancePanel.java Mon Mar 28 16:00:23 2011 +0000 @@ -100,6 +100,7 @@ */ public Canvas create(DataList data) { VLayout layout = new VLayout(); + layout.setMembersMargin(10); initDefaults(data); @@ -107,6 +108,7 @@ Canvas widget = createWidget(data); Canvas submit = getNextButton(); + widget.setHeight(50); label.setHeight(25); layout.addMember(label); diff -r 4c5fa2b0086a -r 4784ca718476 flys-client/src/main/java/de/intevation/flys/client/client/ui/MapSelection.java --- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/MapSelection.java Mon Mar 28 15:23:51 2011 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/MapSelection.java Mon Mar 28 16:00:23 2011 +0000 @@ -57,7 +57,7 @@ // TODO implement event handling in the river map h.addMember(form); - h.addMember(map); + helperContainer.addChild(map); return h; } diff -r 4c5fa2b0086a -r 4784ca718476 flys-client/src/main/java/de/intevation/flys/client/client/ui/ModuleSelection.java --- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/ModuleSelection.java Mon Mar 28 15:23:51 2011 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/ModuleSelection.java Mon Mar 28 16:00:23 2011 +0000 @@ -4,6 +4,7 @@ import com.google.gwt.core.client.GWT; +import com.smartgwt.client.types.VerticalAlignment; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.Label; import com.smartgwt.client.widgets.form.DynamicForm; @@ -71,11 +72,14 @@ public Canvas create(DataList data) { VLayout newLayout = new VLayout(); newLayout.setMembersMargin(10); + //newLayout.setAlign(VerticalAlignment.TOP); Canvas moduleSelection = createWidget(); Canvas riverSelection = super.createWidget(data); Canvas go = getNextButton(); + //go.setLayoutAlign(VerticalAlignment.TOP); + riverSelection.setHeight(25); moduleSelection.setHeight(25); newLayout.addMember(moduleSelection); diff -r 4c5fa2b0086a -r 4784ca718476 flys-client/src/main/java/de/intevation/flys/client/client/ui/ParameterList.java --- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/ParameterList.java Mon Mar 28 15:23:51 2011 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/ParameterList.java Mon Mar 28 16:00:23 2011 +0000 @@ -76,6 +76,7 @@ protected VLayout oldItems; protected VLayout currentItems; + protected Canvas helperPanel; public ParameterList(FLYS flys, CollectionView cView) { this.cView = cView; @@ -95,9 +96,11 @@ VLayout left = new VLayout(); - oldItems.setHeight(20); + if (old == null || old.size() == 0) { + oldItems.setHeight(0); + } + oldItems.setMembersMargin(10); - currentItems.setHeight("*"); currentItems.setAlign(VerticalAlignment.TOP); left.setMembersMargin(20); @@ -107,10 +110,10 @@ left.addMember(currentItems); // This canvas is used to render helper widgets - Canvas right = new Canvas(); + helperPanel = new Canvas(); addMember(left); - addMember(right); + addMember(helperPanel); Canvas moduleSelection = renderNew(); moduleSelection.setLayoutAlign(VerticalAlignment.TOP); @@ -174,6 +177,8 @@ ModuleSelection widget = new ModuleSelection(); HasStepForwardHandlers handler = (HasStepForwardHandlers) widget; + widget.setContainer(helperPanel); + handler.addStepForwardHandler(new StepForwardHandler() { public void onStepForward(StepForwardEvent event) { Data[] data = event.getData(); @@ -379,6 +384,10 @@ public void onParameterChange(ParameterChangeEvent event) { GWT.log("ParameterList.onParameterChange"); + for (Canvas c: helperPanel.getChildren()) { + helperPanel.removeChild(c); + } + Artifact art = event.getNewValue(); ArtifactDescription desc = art.getArtifactDescription(); @@ -388,6 +397,8 @@ String uiProvider = currentData.getUIProvider(); UIProvider provider = UIProviderFactory.getProvider(uiProvider); + provider.setContainer(helperPanel); + ((HasStepForwardHandlers) provider).addStepForwardHandler(this); ((HasStepBackHandlers) provider).addStepBackHandler(this); diff -r 4c5fa2b0086a -r 4784ca718476 flys-client/src/main/java/de/intevation/flys/client/client/ui/SelectProvider.java --- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/SelectProvider.java Mon Mar 28 15:23:51 2011 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/SelectProvider.java Mon Mar 28 16:00:23 2011 +0000 @@ -49,6 +49,7 @@ */ public Canvas create(DataList data) { VLayout v = new VLayout(); + v.setMembersMargin(10); Canvas content = createWidget(data); Canvas button = getNextButton(); @@ -103,6 +104,8 @@ GWT.log("SelectProvider - create()"); VLayout layout = new VLayout(); + layout.setAlign(VerticalAlignment.TOP); + layout.setHeight(25); form = new DynamicForm(); diff -r 4c5fa2b0086a -r 4784ca718476 flys-client/src/main/java/de/intevation/flys/client/client/ui/UIProvider.java --- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/UIProvider.java Mon Mar 28 15:23:51 2011 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/UIProvider.java Mon Mar 28 16:00:23 2011 +0000 @@ -35,5 +35,13 @@ * @return a Canvas displaying the Data. */ public Canvas createOld(DataList dataList); + + + /** + * This method injects a container that is used to position helper widgets. + * + * @param container A container that is used to position helper widgets. + */ + public void setContainer(Canvas container); } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : diff -r 4c5fa2b0086a -r 4784ca718476 flys-client/src/main/java/de/intevation/flys/client/client/ui/WQInputPanel.java --- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/WQInputPanel.java Mon Mar 28 15:23:51 2011 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/WQInputPanel.java Mon Mar 28 16:00:23 2011 +0000 @@ -125,8 +125,11 @@ Label label = new Label(MSG.wqTitle()); label.setHeight(25); + widget.setHeight(65); VLayout layout = new VLayout(); + layout.setMembersMargin(10); + layout.addMember(label); layout.addMember(widget); layout.addMember(submit);