]> source.dussan.org Git - vaadin-framework.git/commitdiff
* Fixes #3907: Undefined wide MenuBar will drop items that do not fit in view
authorJouni Koivuviita <jouni.koivuviita@itmill.com>
Wed, 23 Dec 2009 11:26:08 +0000 (11:26 +0000)
committerJouni Koivuviita <jouni.koivuviita@itmill.com>
Wed, 23 Dec 2009 11:26:08 +0000 (11:26 +0000)
 * Fixes #3908: MenuBar doesn't open sub-submenus with hover in IE7

svn changeset:10538/svn branch:6.2

WebContent/VAADIN/themes/base/menubar/menubar.css
WebContent/VAADIN/themes/base/styles.css
WebContent/VAADIN/themes/reindeer/menubar/menubar.css
WebContent/VAADIN/themes/reindeer/styles.css
WebContent/VAADIN/themes/runo/styles.css
src/com/vaadin/terminal/gwt/client/ui/VMenuBar.java

index 93ff5466b63fdc1b5c8fb16a2a3e9b8343fcbd6b..52dc6ae54505b6d7860829dde8e5278bdd9f6556 100644 (file)
@@ -1,12 +1,14 @@
 .v-menubar {
        float: left; /* Force minimum width */
-       overflow: hidden;
+       white-space: nowrap;
 }
 .v-menubar .v-menubar-menuitem {
        cursor: default;
        vertical-align: middle;
        white-space: nowrap;
-       float: left;
+       display: inline;
+       display: inline-block;
+       zoom: 1;
 }
 .v-menubar .v-menubar-menuitem-caption * {
        vertical-align: middle;
@@ -21,6 +23,7 @@
 }
 .v-menubar-submenu .v-menubar-menuitem { 
        cursor: default;
+       display: block;
        position: relative;
        padding-right: 1.5em;
 }
index 9e2b872b58fed8e130b6ad9c43190f77a6e245a4..f1840c6bf2f7b3f0c3175a745a89eda41b21face 100644 (file)
@@ -647,13 +647,15 @@ div.v-app-loading {
 
 .v-menubar {
        float: left; /* Force minimum width */
-       overflow: hidden;
+       white-space: nowrap;
 }
 .v-menubar .v-menubar-menuitem {
        cursor: default;
        vertical-align: middle;
        white-space: nowrap;
-       float: left;
+       display: inline;
+       display: inline-block;
+       zoom: 1;
 }
 .v-menubar .v-menubar-menuitem-caption * {
        vertical-align: middle;
@@ -668,6 +670,7 @@ div.v-app-loading {
 }
 .v-menubar-submenu .v-menubar-menuitem { 
        cursor: default;
+       display: block;
        position: relative;
        padding-right: 1.5em;
 }
index ac60652d110264ab54411b92cd2a5e729f0c03f3..77903356ceda6a14be2698b29207b8277286d6a3 100644 (file)
@@ -1,6 +1,5 @@
 .v-menubar {
        height: 23px;
-       overflow: hidden;
        background: #323336 repeat-x;
        background-image: url(img/bg.png); /** sprite-ref: verticals; sprite-alignment: repeat */
        color: #d1d3d6;
index f8def1f262ffc4ffbf234cc60b2abfe280b815f2..2b298a2b33f8e833f6d829d403970e5c1b9a69c9 100644 (file)
@@ -647,13 +647,15 @@ div.v-app-loading {
 
 .v-menubar {
        float: left; /* Force minimum width */
-       overflow: hidden;
+       white-space: nowrap;
 }
 .v-menubar .v-menubar-menuitem {
        cursor: default;
        vertical-align: middle;
        white-space: nowrap;
-       float: left;
+       display: inline;
+       display: inline-block;
+       zoom: 1;
 }
 .v-menubar .v-menubar-menuitem-caption * {
        vertical-align: middle;
@@ -668,6 +670,7 @@ div.v-app-loading {
 }
 .v-menubar-submenu .v-menubar-menuitem { 
        cursor: default;
+       display: block;
        position: relative;
        padding-right: 1.5em;
 }
@@ -3101,7 +3104,6 @@ td.v-datefield-calendarpanel-nextyear {
 
 .v-menubar {
        height: 23px;
-       overflow: hidden;
        background: #323336 repeat-x;
   background-image: url(common/img/vertical-sprites.png);
   -background-image: url(common/img/vertical-sprites-ie6.png);
index a7d1dffdca7dc81fdc393430343bd34c5c8d7646..06bce5dfa9b391c25f36d9d257ca440d74074a82 100644 (file)
@@ -647,13 +647,15 @@ div.v-app-loading {
 
 .v-menubar {
        float: left; /* Force minimum width */
-       overflow: hidden;
+       white-space: nowrap;
 }
 .v-menubar .v-menubar-menuitem {
        cursor: default;
        vertical-align: middle;
        white-space: nowrap;
-       float: left;
+       display: inline;
+       display: inline-block;
+       zoom: 1;
 }
 .v-menubar .v-menubar-menuitem-caption * {
        vertical-align: middle;
@@ -668,6 +670,7 @@ div.v-app-loading {
 }
 .v-menubar-submenu .v-menubar-menuitem { 
        cursor: default;
+       display: block;
        position: relative;
        padding-right: 1.5em;
 }
index 43ba72dc82d1329b6d9f613d064e893f125eb9ee..9cad1fbd91ff7b317882e56b117070c682d2fbb1 100644 (file)
@@ -86,9 +86,12 @@ public class VMenuBar extends Widget implements Paintable,
     @Override
     public void setWidth(String width) {
         Util.setWidthExcludingPaddingAndBorder(this, width, 0);
-        hideChildren();
-        setSelected(null);
-        menuVisible = false;
+        if (!subMenu) {
+            // Only needed for root level menu
+            hideChildren();
+            setSelected(null);
+            menuVisible = false;
+        }
     }
 
     /**
@@ -657,7 +660,8 @@ public class VMenuBar extends Widget implements Paintable,
         protected boolean isSeparator = false;
 
         public CustomMenuItem(String html, Command cmd) {
-            setElement(DOM.createDiv());
+            // We need spans to allow inline-block in IE
+            setElement(DOM.createSpan());
 
             setHTML(html);
             setCommand(cmd);