]> source.dussan.org Git - vaadin-framework.git/commitdiff
MenuBar fixes for IE6
authorJouni Koivuviita <jouni.koivuviita@itmill.com>
Tue, 10 Nov 2009 08:15:56 +0000 (08:15 +0000)
committerJouni Koivuviita <jouni.koivuviita@itmill.com>
Tue, 10 Nov 2009 08:15:56 +0000 (08:15 +0000)
Fixed shadow offset for IE6

svn changeset:9692/svn branch:6.2

WebContent/VAADIN/themes/base/menubar/menubar.css
WebContent/VAADIN/themes/base/shadow/shadow.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 909d714f13c7da9ebbb05cdba5bad23edeea5040..e3e6becd6c201334519ea0f61c8fb76df7123303 100644 (file)
        height: 100%;
        font-size: 0.9em;
 }
+.v-ie6 .v-menubar-submenu .v-menubar-submenu-indicator {
+       position: absolute;
+       right: 0;
+       margin-right: 0;
+       margin-top: -2px;
+}
 .v-menubar-menuitem-disabled {
        color: #999;
 }
index bc67f3cc59a9247708ba8b3a1c8c763462ba6af3..209dd0e235057c168620ac1304fefbbc4b27369e 100644 (file)
@@ -80,6 +80,6 @@
 .v-ie6 .v-shadow {
        background: #000;
        filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2) alpha(opacity=20);
-       margin-top: -3px;
-       margin-left: -4px;
+       margin-top: -2px;
+       margin-left: -2px;
 }  
\ No newline at end of file
index 27afc8c299514a2adebc827eb005386a4b6d2e6a..6d075d5c50f7fb3ca088fb961c62906b48af655a 100644 (file)
@@ -673,6 +673,12 @@ div.v-app-loading {
        height: 100%;
        font-size: 0.9em;
 }
+.v-ie6 .v-menubar-submenu .v-menubar-submenu-indicator {
+       position: absolute;
+       right: 0;
+       margin-right: 0;
+       margin-top: -2px;
+}
 .v-menubar-menuitem-disabled {
        color: #999;
 }
@@ -1069,8 +1075,8 @@ div.v-progressindicator-indeterminate-disabled {
 .v-ie6 .v-shadow {
        background: #000;
        filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2) alpha(opacity=20);
-       margin-top: -3px;
-       margin-left: -4px;
+       margin-top: -2px;
+       margin-left: -2px;
 }  
 
 .v-slider {
index 787453d15c84b15a638428f6db17fc6d4ca8a360..13f4fa72b0f9de6a9a2971decaae248d00800157 100644 (file)
@@ -26,7 +26,7 @@
        padding: 4px 0;
 }
 .v-menubar-submenu .v-menubar-menuitem {
-       padding: 1px 15px 1px 10px;
+       padding: 1px 20px 1px 10px;
        height: 16px;
        line-height: 16px;
 }
@@ -41,9 +41,9 @@
        background-image: url(img/menu-sel-bg.png); /** sprite-ref: verticals; sprite-alignment: repeat */
 }
 .v-menubar-submenu .v-menubar-submenu-indicator {
-       background: transparent url(img/submenu-icon.png) no-repeat right 50%;
+       background: transparent url(img/submenu-icon.png) no-repeat right bottom;
        width: 16px;
-       margin: 0 -15px 0 5px;
+       margin: 0 -20px 0 5px;
        text-indent: -999px;
        vertical-align: middle;
 }
index 02fbb27d087b81f0b5b5f311c546bc2b8065c5c9..010a2f51ba59d60dc0bfc3d76ab5cda43b5ca4ba 100644 (file)
@@ -673,6 +673,12 @@ div.v-app-loading {
        height: 100%;
        font-size: 0.9em;
 }
+.v-ie6 .v-menubar-submenu .v-menubar-submenu-indicator {
+       position: absolute;
+       right: 0;
+       margin-right: 0;
+       margin-top: -2px;
+}
 .v-menubar-menuitem-disabled {
        color: #999;
 }
@@ -1069,8 +1075,8 @@ div.v-progressindicator-indeterminate-disabled {
 .v-ie6 .v-shadow {
        background: #000;
        filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2) alpha(opacity=20);
-       margin-top: -3px;
-       margin-left: -4px;
+       margin-top: -2px;
+       margin-left: -2px;
 }  
 
 .v-slider {
@@ -3033,7 +3039,7 @@ td.v-datefield-calendarpanel-nextyear {
        padding: 4px 0;
 }
 .v-menubar-submenu .v-menubar-menuitem {
-       padding: 1px 15px 1px 10px;
+       padding: 1px 20px 1px 10px;
        height: 16px;
        line-height: 16px;
 }
@@ -3052,9 +3058,9 @@ td.v-datefield-calendarpanel-nextyear {
   background-position: left -423px;
 }
 .v-menubar-submenu .v-menubar-submenu-indicator {
-       background: transparent url(menubar/img/submenu-icon.png) no-repeat right 50%;
+       background: transparent url(menubar/img/submenu-icon.png) no-repeat right bottom;
        width: 16px;
-       margin: 0 -15px 0 5px;
+       margin: 0 -20px 0 5px;
        text-indent: -999px;
        vertical-align: middle;
 }
index cb949ff1318d0ef17802cd1c46a280443327423c..6d58d8200648cef30c4093776b9aa028b8628aad 100644 (file)
@@ -673,6 +673,12 @@ div.v-app-loading {
        height: 100%;
        font-size: 0.9em;
 }
+.v-ie6 .v-menubar-submenu .v-menubar-submenu-indicator {
+       position: absolute;
+       right: 0;
+       margin-right: 0;
+       margin-top: -2px;
+}
 .v-menubar-menuitem-disabled {
        color: #999;
 }
@@ -1069,8 +1075,8 @@ div.v-progressindicator-indeterminate-disabled {
 .v-ie6 .v-shadow {
        background: #000;
        filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2) alpha(opacity=20);
-       margin-top: -3px;
-       margin-left: -4px;
+       margin-top: -2px;
+       margin-left: -2px;
 }  
 
 .v-slider {
index c3a9c89884fbea2132860e55dd3f60b82522dc14..c756b32453cb6416a727241c82158cab0e5fd171 100644 (file)
@@ -12,6 +12,7 @@ import com.google.gwt.user.client.DOM;
 import com.google.gwt.user.client.DeferredCommand;
 import com.google.gwt.user.client.Element;
 import com.google.gwt.user.client.Event;
+import com.google.gwt.user.client.Timer;
 import com.google.gwt.user.client.ui.HasHTML;
 import com.google.gwt.user.client.ui.PopupPanel;
 import com.google.gwt.user.client.ui.RootPanel;
@@ -51,6 +52,8 @@ public class VMenuBar extends Widget implements Paintable,
     protected VMenuBar parentMenu;
     protected CustomMenuItem selected;
 
+    private Timer layoutTimer;
+
     public VMenuBar() {
         // Create an empty horizontal menubar
         this(false);
@@ -80,7 +83,8 @@ public class VMenuBar extends Widget implements Paintable,
         }
         this.subMenu = subMenu;
 
-        sinkEvents(Event.ONCLICK | Event.ONMOUSEOVER | Event.ONMOUSEOUT);
+        sinkEvents(Event.ONCLICK | Event.ONMOUSEOVER | Event.ONMOUSEOUT
+                | Event.ONLOAD);
     }
 
     /**
@@ -129,7 +133,7 @@ public class VMenuBar extends Widget implements Paintable,
 
             String moreItemText = moreItemUIDL.getStringAttribute("text");
             if ("".equals(moreItemText)) {
-                moreItemText = "&#x25B6;";
+                moreItemText = "&#x25BA;";
             }
             itemHTML.append(moreItemText);
 
@@ -168,7 +172,7 @@ public class VMenuBar extends Widget implements Paintable,
                 itemHTML
                         .append("<span class=\"" + CLASSNAME
                                 + "-submenu-indicator\"" + bgStyle
-                                + ">&#x25B6;</span>");
+                                + ">&#x25BA;</span>");
             }
 
             if (item.hasAttribute("icon")) {
@@ -355,6 +359,13 @@ public class VMenuBar extends Widget implements Paintable,
      */
     @Override
     public void onBrowserEvent(Event e) {
+        super.onBrowserEvent(e);
+
+        // Handle onload events (icon loaded, size changes)
+        if (DOM.eventGetType(e) == Event.ONLOAD) {
+            requestLayout();
+            return;
+        }
 
         Element targetElement = DOM.eventGetTarget(e);
         CustomMenuItem targetItem = null;
@@ -385,8 +396,19 @@ public class VMenuBar extends Widget implements Paintable,
                 break;
             }
         }
+    }
 
-        super.onBrowserEvent(e);
+    private void requestLayout() {
+        if (layoutTimer == null) {
+            layoutTimer = new Timer() {
+                @Override
+                public void run() {
+                    layoutTimer = null;
+                    iLayout();
+                }
+            };
+        }
+        layoutTimer.schedule(100);
     }
 
     /**