diff options
author | Marc Englund <marc@vaadin.com> | 2012-10-11 06:45:32 +0000 |
---|---|---|
committer | Vaadin Code Review <review@vaadin.com> | 2012-10-11 06:45:32 +0000 |
commit | 0e5fe9d46fbb3c32aa2ceae22f29253c5bf45342 (patch) | |
tree | b1e13f0cfbc14d0bab07bb3dca7b290920cb115c /client | |
parent | dec9f91a708d5b7b4ec1d6a2faaddf2b64827d3e (diff) | |
parent | f5043ac109b73c1a01e1caa8dc7906d864ad8833 (diff) | |
download | vaadin-framework-0e5fe9d46fbb3c32aa2ceae22f29253c5bf45342.tar.gz vaadin-framework-0e5fe9d46fbb3c32aa2ceae22f29253c5bf45342.zip |
Merge "Fixed primary stylename handling in Accordion #9900"
Diffstat (limited to 'client')
-rw-r--r-- | client/src/com/vaadin/client/ui/accordion/VAccordion.java | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/client/src/com/vaadin/client/ui/accordion/VAccordion.java b/client/src/com/vaadin/client/ui/accordion/VAccordion.java index e906cf3cce..0fbbcf5780 100644 --- a/client/src/com/vaadin/client/ui/accordion/VAccordion.java +++ b/client/src/com/vaadin/client/ui/accordion/VAccordion.java @@ -87,6 +87,26 @@ public class VAccordion extends VTabsheetBase { } } + @Override + public void setStylePrimaryName(String style) { + updateStyleNames(style); + } + + @Override + public void setStyleName(String style) { + updateStyleNames(style); + } + + protected void updateStyleNames(String primaryStyleName) { + super.setStyleName(primaryStyleName); + for (Widget w : getChildren()) { + if (w instanceof StackItem) { + StackItem item = (StackItem) w; + item.updateStyleNames(primaryStyleName); + } + } + } + /** * This method tries to find out if a tab has been rendered with a different * index previously. If this is the case it re-orders the children so the @@ -359,15 +379,23 @@ public class VAccordion extends VTabsheetBase { DOM.appendChild(getElement(), captionNode); DOM.appendChild(getElement(), content); - getElement().addClassName(CLASSNAME + "-item"); - captionNode.addClassName(CLASSNAME + "-item-caption"); - content.addClassName(CLASSNAME + "-item-content"); + updateStyleNames(VAccordion.this.getStylePrimaryName()); touchScrollHandler.addElement(getContainerElement()); close(); } + private void updateStyleNames(String primaryStyleName) { + content.removeClassName(getStylePrimaryName() + "-content"); + captionNode.removeClassName(getStylePrimaryName() + "-caption"); + + setStylePrimaryName(primaryStyleName + "-item"); + + captionNode.addClassName(getStylePrimaryName() + "-caption"); + content.addClassName(getStylePrimaryName() + "-content"); + } + @Override public void onBrowserEvent(Event event) { onSelectTab(this); |