padding: 4px 0;
}
.v-menubar-submenu .v-menubar-menuitem {
- padding: 1px 15px 1px 10px;
+ padding: 1px 20px 1px 10px;
height: 16px;
line-height: 16px;
}
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;
}
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;
}
.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 {
padding: 4px 0;
}
.v-menubar-submenu .v-menubar-menuitem {
- padding: 1px 15px 1px 10px;
+ padding: 1px 20px 1px 10px;
height: 16px;
line-height: 16px;
}
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;
}
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;
protected VMenuBar parentMenu;
protected CustomMenuItem selected;
+ private Timer layoutTimer;
+
public VMenuBar() {
// Create an empty horizontal menubar
this(false);
}
this.subMenu = subMenu;
- sinkEvents(Event.ONCLICK | Event.ONMOUSEOVER | Event.ONMOUSEOUT);
+ sinkEvents(Event.ONCLICK | Event.ONMOUSEOVER | Event.ONMOUSEOUT
+ | Event.ONLOAD);
}
/**
String moreItemText = moreItemUIDL.getStringAttribute("text");
if ("".equals(moreItemText)) {
- moreItemText = "▶";
+ moreItemText = "►";
}
itemHTML.append(moreItemText);
itemHTML
.append("<span class=\"" + CLASSNAME
+ "-submenu-indicator\"" + bgStyle
- + ">▶</span>");
+ + ">►</span>");
}
if (item.hasAttribute("icon")) {
*/
@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;
break;
}
}
+ }
- super.onBrowserEvent(e);
+ private void requestLayout() {
+ if (layoutTimer == null) {
+ layoutTimer = new Timer() {
+ @Override
+ public void run() {
+ layoutTimer = null;
+ iLayout();
+ }
+ };
+ }
+ layoutTimer.schedule(100);
}
/**