Browse Source

Component visibility, disabled/readonly and style change (order & logic)

svn changeset:2576/svn branch:trunk
tags/6.7.0.beta1
Marc Englund 16 years ago
parent
commit
b14615a9a5
1 changed files with 23 additions and 19 deletions
  1. 23
    19
      src/com/itmill/toolkit/terminal/gwt/client/ApplicationConnection.java

+ 23
- 19
src/com/itmill/toolkit/terminal/gwt/client/ApplicationConnection.java View File

@@ -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")) {

Loading…
Cancel
Save