From f5043ac109b73c1a01e1caa8dc7906d864ad8833 Mon Sep 17 00:00:00 2001 From: John Ahlroos Date: Wed, 10 Oct 2012 17:46:57 +0300 Subject: Fixed primary stylename handling in Accordion #9900 Change-Id: Iab4e8c8d0a0c98b770b7970fd1c099698e6a6531 --- .../com/vaadin/client/ui/accordion/VAccordion.java | 34 ++++++++++++++++++++-- 1 file changed, 31 insertions(+), 3 deletions(-) (limited to 'client/src') 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); -- cgit v1.2.3