From: Leif Åstrand Date: Thu, 16 Feb 2012 10:25:51 +0000 (+0200) Subject: Update MenuBar to work with MeasureManager (#8313) X-Git-Tag: 7.0.0.alpha2~434^2~39 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=886b434eba973022dd85a321134c3dd815e89dec;p=vaadin-framework.git Update MenuBar to work with MeasureManager (#8313) --- diff --git a/src/com/vaadin/terminal/gwt/client/ui/VMenuBar.java b/src/com/vaadin/terminal/gwt/client/ui/VMenuBar.java index c39155d032..5fa7420150 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VMenuBar.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VMenuBar.java @@ -32,15 +32,14 @@ import com.google.gwt.user.client.ui.RootPanel; import com.google.gwt.user.client.ui.Widget; import com.vaadin.terminal.gwt.client.ApplicationConnection; import com.vaadin.terminal.gwt.client.BrowserInfo; -import com.vaadin.terminal.gwt.client.ContainerResizedListener; import com.vaadin.terminal.gwt.client.TooltipInfo; import com.vaadin.terminal.gwt.client.UIDL; import com.vaadin.terminal.gwt.client.Util; import com.vaadin.terminal.gwt.client.VTooltip; public class VMenuBar extends SimpleFocusablePanel implements - CloseHandler, ContainerResizedListener, KeyPressHandler, - KeyDownHandler, FocusHandler, SubPartAware { + CloseHandler, KeyPressHandler, KeyDownHandler, + FocusHandler, SubPartAware { // The hierarchy of VMenuBar is a bit weird as VMenuBar is the Paintable, // used for the root menu but also used for the sub menus. @@ -145,16 +144,8 @@ public class VMenuBar extends SimpleFocusablePanel implements } } - @Override - public void setWidth(String width) { - if (Util.equals(this.width, width)) { - return; - } - - this.width = width; - - Util.setWidthExcludingPaddingAndBorder(this, width, 0); - + void updateSize() { + // Take from setWidth if (!subMenu) { // Only needed for root level menu hideChildren(); @@ -952,6 +943,7 @@ public class VMenuBar extends SimpleFocusablePanel implements public void iLayout() { iLayout(false); + updateSize(); } public void iLayout(boolean iconLoadEvent) { diff --git a/src/com/vaadin/terminal/gwt/client/ui/VMenuBarPaintable.java b/src/com/vaadin/terminal/gwt/client/ui/VMenuBarPaintable.java index f3e4609540..87c7a6c145 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VMenuBarPaintable.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VMenuBarPaintable.java @@ -14,7 +14,8 @@ import com.vaadin.terminal.gwt.client.UIDL; import com.vaadin.terminal.gwt.client.Util; import com.vaadin.terminal.gwt.client.ui.VMenuBar.CustomMenuItem; -public class VMenuBarPaintable extends VAbstractPaintableWidget { +public class VMenuBarPaintable extends VAbstractPaintableWidget implements + ResizeRequired { /** * This method must be implemented to update the client-side component from * UIDL data received from server. @@ -160,4 +161,7 @@ public class VMenuBarPaintable extends VAbstractPaintableWidget { return (VMenuBar) super.getWidgetForPaintable(); } + public void onResize() { + getWidgetForPaintable().iLayout(); + } }