diff flys-client/src/main/java/de/intevation/flys/client/client/ui/CollectionView.java @ 3353:08f8524a81ad

Lock the screen when the parameterization of a Collection's master Artifact changes. flys-client/trunk@5036 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 18 Jul 2012 12:12:46 +0000
parents 6d749af6a9c2
children 8d38a1e097c2
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/CollectionView.java	Wed Jul 18 09:57:21 2012 +0000
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/CollectionView.java	Wed Jul 18 12:12:46 2012 +0000
@@ -2,10 +2,14 @@
 
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.smartgwt.client.types.Alignment;
+import com.smartgwt.client.types.VerticalAlignment;
 import com.smartgwt.client.util.SC;
+import com.smartgwt.client.widgets.Img;
 import com.smartgwt.client.widgets.Window;
 import com.smartgwt.client.widgets.events.CloseClickEvent;
 import com.smartgwt.client.widgets.events.CloseClickHandler;
+import com.smartgwt.client.widgets.layout.HLayout;
 import com.smartgwt.client.widgets.layout.Layout;
 import com.smartgwt.client.widgets.layout.VLayout;
 import com.smartgwt.client.widgets.tab.TabSet;
@@ -111,6 +115,8 @@
 
     /** The layout. */
     protected Layout layout;
+    
+    protected VLayout lockScreen;
 
     protected int artifactsQueue;
     protected int recommendationQueue;
@@ -319,6 +325,39 @@
             handler.onOutputModesChange(new OutputModesChangeEvent(outputs));
         }
     }
+    
+    
+    public void lockUI() {
+        if (lockScreen == null) {
+            lockScreen = new VLayout();
+            lockScreen.setWidth100();
+            lockScreen.setHeight100();
+            lockScreen.setBackgroundColor("#7f7f7f");
+            lockScreen.setOpacity(50);
+            lockScreen.setAlign(VerticalAlignment.CENTER);
+            lockScreen.setDefaultLayoutAlign(VerticalAlignment.CENTER);
+        
+            HLayout inner = new HLayout();
+            inner.setAlign(Alignment.CENTER);
+            inner.setDefaultLayoutAlign(Alignment.CENTER);
+            inner.setOpacity(100);
+            
+            Img img = new Img(
+                GWT.getHostPageBaseURL() + messages.loadingImg(),
+                25, 25);
+            
+            inner.addMember(img);
+            
+            lockScreen.addMember(inner);
+        }
+        
+        layout.addChild(lockScreen);
+    }
+    
+    
+    public void unlockUI() {
+        layout.removeChild(lockScreen);
+    }
 
 
     /**

http://dive4elements.wald.intevation.org