]> source.dussan.org Git - vaadin-framework.git/commitdiff
Component visibility, disabled/readonly and style change (order & logic)
authorMarc Englund <marc.englund@itmill.com>
Mon, 22 Oct 2007 08:11:50 +0000 (08:11 +0000)
committerMarc Englund <marc.englund@itmill.com>
Mon, 22 Oct 2007 08:11:50 +0000 (08:11 +0000)
svn changeset:2576/svn branch:trunk

src/com/itmill/toolkit/terminal/gwt/client/ApplicationConnection.java

index f9b1dfcc993f43b795aeaa1c6ca4f04df125c8a4..cf32faf40c8fac4abfb72b13f9506f412006bb65 100755 (executable)
@@ -381,8 +381,16 @@ public class ApplicationConnection implements FocusListener {
 
                // If the server request that a cached instance should be used, do
                // nothing
-               if (uidl.getBooleanAttribute("cached"))
+               if (uidl.getBooleanAttribute("cached")) {
                        return true;
+               }
+
+               // Visibility
+               boolean visible = !uidl.getBooleanAttribute("invisible");
+               component.setVisible(visible);
+               if (!visible) {
+                       return true;
+               }
 
                // Switch to correct implementation if needed
                if (!widgetSet.isCorrectImplementation(component, uidl)) {
@@ -404,29 +412,25 @@ public class ApplicationConnection implements FocusListener {
                                parent.updateCaption((Paintable) component, uidl);
                }
 
-               // Visibility, Disabling and read-only status
+               // Styles + disabled & readonly
+               component.setStyleName(component.getStylePrimaryName());
+
+               // first disabling and read-only status
+               boolean enabled = true;
+               if (uidl.hasAttribute("disabled")) {
+                       enabled = !uidl.getBooleanAttribute("disabled");
+               } else if (uidl.hasAttribute("readonly")) {
+                       enabled = !uidl.getBooleanAttribute("readonly");
+               }
                if (component instanceof FocusWidget) {
-                       boolean enabled = true;
-                       if (uidl.hasAttribute("disabled"))
-                               enabled = !uidl.getBooleanAttribute("disabled");
-                       else if (uidl.hasAttribute("readonly"))
-                               enabled = !uidl.getBooleanAttribute("readonly");
                        ((FocusWidget) component).setEnabled(enabled);
+               }
+               if (!enabled) {
+                       component.addStyleName("i-disabled");
                } else {
-                       boolean enabled = true;
-                       if (uidl.hasAttribute("disabled"))
-                               enabled = !uidl.getBooleanAttribute("disabled");
-                       if (!enabled)
-                               component.addStyleName("i-disabled");
-                       else
-                               component.removeStyleName("i-disabled");
+                       component.removeStyleName("i-disabled");
                }
-               boolean visible = !uidl.getBooleanAttribute("invisible");
-               component.setVisible(visible);
-               if (!visible)
-                       return true;
 
-               component.setStyleName(component.getStylePrimaryName());
                // add additional styles as css classes, prefixed with component default
                // stylename
                if (uidl.hasAttribute("style")) {