package org.geogebra.web.web.gui.app;
import org.geogebra.web.html5.main.AppW;
import org.geogebra.web.web.gui.menubar.MainMenu;
import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HorizontalPanel;
/**
* Wrap MainMenu in composite
*
*/
public class GGWMenuBar extends Composite {
private HorizontalPanel ggbmenubarwrapper;
private MainMenu menubar;
/**
* Create new menu wrapper
*/
public GGWMenuBar() {
ggbmenubarwrapper = new HorizontalPanel();
ggbmenubarwrapper.addStyleName("ggbmenubarwrapper");
initWidget(ggbmenubarwrapper);
}
/**
* @param app
* application to init menus
*/
public void init(AppW app) {
menubar = (MainMenu) app.getLAF().getMenuBar(app);
ggbmenubarwrapper.add(menubar);
}
/**
* @return wrapped menu
*/
public MainMenu getMenubar() {
return menubar;
}
/**
* Clear the menu
*/
public void removeMenus(){
ggbmenubarwrapper.clear();
}
@Override
public void setPixelSize(int w, int h) {
super.setPixelSize(w, h);
if (menubar != null && menubar.getElement().getParentElement() != null) {
menubar.getElement().getParentElement().getStyle()
.setHeight(h, Unit.PX);
}
}
/**
* Focus the menu
*/
public void focus() {
menubar.focus();
}
/**
* @param height
* menu height
*/
public void updateHeight(int height) {
menubar.updateHeight(height);
}
}