summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VMenuBar.java4
-rw-r--r--src/com/vaadin/ui/MenuBar.java16
2 files changed, 19 insertions, 1 deletions
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<String, Object> variables) {
Stack<MenuItem> items = new Stack<MenuItem>();
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