From 037c81cc4cc15027c62764e5c89d77b1c30fb33c Mon Sep 17 00:00:00 2001 From: Matti Tahvonen Date: Tue, 1 Dec 2009 07:14:38 +0000 Subject: [PATCH] fixes #3785, implemented style names for MenuBar.MenuItem svn changeset:10110/svn branch:6.2 --- .../vaadin/terminal/gwt/client/ui/VMenuBar.java | 4 ++++ src/com/vaadin/ui/MenuBar.java | 16 +++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/com/vaadin/terminal/gwt/client/ui/VMenuBar.java b/src/com/vaadin/terminal/gwt/client/ui/VMenuBar.java index 1a3d372838..1424d58442 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VMenuBar.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VMenuBar.java @@ -205,6 +205,10 @@ public class VMenuBar extends Widget implements Paintable, currentItem = currentMenu.addItem(itemHTML.toString(), cmd); currentItem.setSeparator(item.hasAttribute("separator")); currentItem.setEnabled(!item.hasAttribute("disabled")); + if (item.hasAttribute("style")) { + String itemStyle = item.getStringAttribute("style"); + currentItem.addStyleName(itemStyle); + } if (item.getChildCount() > 0) { menuStack.push(currentMenu); diff --git a/src/com/vaadin/ui/MenuBar.java b/src/com/vaadin/ui/MenuBar.java index 5715e230c4..528b6eec0a 100644 --- a/src/com/vaadin/ui/MenuBar.java +++ b/src/com/vaadin/ui/MenuBar.java @@ -86,6 +86,10 @@ public class MenuBar extends AbstractComponent { target.startTag("item"); target.addAttribute("id", item.getId()); + if (item.getStyleName() != null) { + target.addAttribute("style", item.getStyleName()); + } + if (item.isSeparator()) { target.addAttribute("separator", true); target.endTag("item"); @@ -130,7 +134,7 @@ public class MenuBar extends AbstractComponent { /** Deserialize changes received from client. */ @Override - public void changeVariables(Object source, Map variables) { + public void changeVariables(Object source, Map variables) { Stack items = new Stack(); boolean found = false; @@ -391,6 +395,7 @@ public class MenuBar extends AbstractComponent { private boolean enabled = true; private boolean visible = true; private boolean isSeparator = false; + private String styleName; /** * Constructs a new menu item that can optionally have an icon and a @@ -691,6 +696,15 @@ public class MenuBar extends AbstractComponent { return isSeparator; } + public void setStyleName(String styleName) { + this.styleName = styleName; + requestRepaint(); + } + + public String getStyleName() { + return styleName; + } + }// class MenuItem }// class MenuBar -- 2.39.5