]> source.dussan.org Git - vaadin-framework.git/commitdiff
added constraint for context menu to stay withing browser width
authorMatti Tahvonen <matti.tahvonen@itmill.com>
Mon, 13 Aug 2007 07:47:24 +0000 (07:47 +0000)
committerMatti Tahvonen <matti.tahvonen@itmill.com>
Mon, 13 Aug 2007 07:47:24 +0000 (07:47 +0000)
svn changeset:1987/svn branch:trunk

src/com/itmill/toolkit/terminal/gwt/client/ui/IContextMenu.java

index ea7de7e2e0ec7482bceec23273fb1f042c4b891a..52b40a993dbe2236ff9388a40ca746546d4b4ace 100644 (file)
@@ -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);
-               
        }
 
        /**