diff flys-client/src/main/java/de/intevation/flys/client/client/ui/ParameterList.java @ 83:4784ca718476

Improved the positioning of helper widgets and some layout specific stuff. flys-client/trunk@1593 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Mon, 28 Mar 2011 16:00:23 +0000
parents 39210a74db07
children f8c240f28c2a
line wrap: on
line diff
--- 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);
 

http://dive4elements.wald.intevation.org