From 886b434eba973022dd85a321134c3dd815e89dec Mon Sep 17 00:00:00 2001 From: =?utf8?q?Leif=20=C3=85strand?= Date: Thu, 16 Feb 2012 12:25:51 +0200 Subject: [PATCH] Update MenuBar to work with MeasureManager (#8313) --- .../terminal/gwt/client/ui/VMenuBar.java | 18 +++++------------- .../gwt/client/ui/VMenuBarPaintable.java | 6 +++++- 2 files changed, 10 insertions(+), 14 deletions(-) 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(); + } } -- 2.39.5