aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Englund <marc@vaadin.com>2012-10-18 07:11:30 +0000
committerVaadin Code Review <review@vaadin.com>2012-10-18 07:11:30 +0000
commitc6902a01e2f1bd7adbcd74a60e92bdcddbec84e8 (patch)
tree29be74cc7061661ffc4d00bc94c42307b283c0a6
parent90ffa9404fbb458ffbd1a26930811fcea6037d97 (diff)
parent75b045efd11c82af56bc29d98ac25f287f896c4d (diff)
downloadvaadin-framework-c6902a01e2f1bd7adbcd74a60e92bdcddbec84e8.tar.gz
vaadin-framework-c6902a01e2f1bd7adbcd74a60e92bdcddbec84e8.zip
Merge "Fixed multiple stylename handling #9983"
-rw-r--r--client/src/com/vaadin/client/ui/AbstractComponentConnector.java24
1 files changed, 12 insertions, 12 deletions
diff --git a/client/src/com/vaadin/client/ui/AbstractComponentConnector.java b/client/src/com/vaadin/client/ui/AbstractComponentConnector.java
index 6ff51b3766..8b6c4fb8aa 100644
--- a/client/src/com/vaadin/client/ui/AbstractComponentConnector.java
+++ b/client/src/com/vaadin/client/ui/AbstractComponentConnector.java
@@ -273,7 +273,7 @@ public abstract class AbstractComponentConnector extends AbstractConnector
if (state.primaryStyleName != null) {
/*
* We overwrite the widgets primary stylename if state defines a
- * primary stylename. Clears all previous stylenames.
+ * primary stylename.
*/
getWidget().setStylePrimaryName(state.primaryStyleName);
}
@@ -293,24 +293,24 @@ public abstract class AbstractComponentConnector extends AbstractConnector
// add additional user defined style names as class names, prefixed with
// component default class name. remove nonexistent style names.
if (ComponentStateUtil.hasStyles(state)) {
- // add new style names
- List<String> newStyles = new ArrayList<String>();
- newStyles.addAll(state.styles);
- newStyles.removeAll(styleNames);
- for (String newStyle : newStyles) {
- setWidgetStyleName(newStyle, true);
- setWidgetStyleNameWithPrefix(primaryStyleName + "-", newStyle,
- true);
- }
- // remove nonexistent style names
- styleNames.removeAll(state.styles);
+
+ // Remove all old stylenames
for (String oldStyle : styleNames) {
setWidgetStyleName(oldStyle, false);
setWidgetStyleNameWithPrefix(primaryStyleName + "-", oldStyle,
false);
}
+
+ // add new style names
+ for (String newStyle : state.styles) {
+ setWidgetStyleName(newStyle, true);
+ setWidgetStyleNameWithPrefix(primaryStyleName + "-", newStyle,
+ true);
+ }
+
styleNames.clear();
styleNames.addAll(state.styles);
+
} else {
// remove all old style names
for (String oldStyle : styleNames) {