From a3194240a05210bfd9028d476fed3eeabeb0b909 Mon Sep 17 00:00:00 2001 From: Matti Tahvonen Date: Mon, 13 Aug 2007 07:47:24 +0000 Subject: [PATCH] added constraint for context menu to stay withing browser width svn changeset:1987/svn branch:trunk --- .../toolkit/terminal/gwt/client/ui/IContextMenu.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IContextMenu.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IContextMenu.java index ea7de7e2e0..52b40a993d 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IContextMenu.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IContextMenu.java @@ -1,5 +1,7 @@ package com.itmill.toolkit.terminal.gwt.client.ui; +import com.google.gwt.user.client.DOM; +import com.google.gwt.user.client.Window; import com.google.gwt.user.client.ui.MenuBar; import com.google.gwt.user.client.ui.MenuItem; import com.google.gwt.user.client.ui.PopupPanel; @@ -46,14 +48,17 @@ public class IContextMenu extends PopupPanel { } setPopupPosition(left, top); - show(); + // fix position if "outside" screen + if(DOM.getIntAttribute(getElement(),"offsetWidth") + left > Window.getClientWidth()) { + left = Window.getClientWidth() - DOM.getIntAttribute(getElement(),"offsetWidth"); + setPopupPosition(left, top); + } } public void showAt(IActionOwner ao, int left, int top) { setActionOwner(ao); showAt(left, top); - } /** -- 2.39.5