changeset 5486:b19f0fd301fc

New ScrenLock class to ease refactoring and reuse of spinning-wheel-show.
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Thu, 28 Mar 2013 09:24:41 +0100
parents 3b5e1535a459
children a87fe0d2c928
files flys-client/src/main/java/de/intevation/flys/client/client/ui/ScreenLock.java
diffstat 1 files changed, 55 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/ScreenLock.java	Thu Mar 28 09:24:41 2013 +0100
@@ -0,0 +1,55 @@
+package de.intevation.flys.client.client.ui;
+
+import com.google.gwt.core.client.GWT;
+
+import com.smartgwt.client.types.Alignment;
+import com.smartgwt.client.types.VerticalAlignment;
+import com.smartgwt.client.widgets.Img;
+import com.smartgwt.client.widgets.layout.HLayout;
+import com.smartgwt.client.widgets.layout.Layout;
+import com.smartgwt.client.widgets.layout.VLayout;
+
+import de.intevation.flys.client.client.FLYSConstants;
+
+/** Basic static functionality to show spinning wheel. */
+public class ScreenLock {
+
+    /** The message class that provides i18n strings. */
+    protected static FLYSConstants messages = GWT.create(FLYSConstants.class);
+
+    /** Disables input, grey out, show spinning wheel of joy. */
+    public static VLayout lockUI(Layout layout, VLayout lockScreen) {
+        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);
+        return lockScreen;
+    }
+
+    /** Enable input, remove grey, remove spinning wheel of joy. */
+    public static void unlockUI(Layout layout, VLayout lockScreen) {
+        layout.removeChild(lockScreen);
+    }
+}
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
+

http://dive4elements.wald.intevation.org