Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.pentaho.ui.xul.gwt.tags;
  
 
 public class GwtMenubar extends AbstractGwtXulContainer implements XulMenubar {
 
   private String menubarName;
   private MenuBar menubar;
   private boolean loaded;
   private boolean vertical = true;
   private FrameCover frameCover = null;
 
   public static void register() {
     GwtXulParser.registerHandler("menubar"new GwtXulHandler() {
       public Element newInstance() {
         return new GwtMenubar();
       }
     });
   }
 
   public GwtMenubar() {
     super("menubar");
   }
 
   public GwtMenubar(String tagName) {
     super(tagName);
   }
 
   @Override
   public void init(com.google.gwt.xml.client.Element srcEleXulDomContainer container) {
     this.setHorizontal("vertical".equalsIgnoreCase(srcEle.getAttribute("layout")));
      = new FrameCover();
 
      = new MenuBar() {
       @Override
       public void onBrowserEvent(Event event) {
         switch (DOM.eventGetType(event)) {
           case .:
           case .:
             .cover();
             break;
         }
         super.onBrowserEvent(event);
       }
     };
 
       @Override
       public void onClick(ClickEvent event) {
         .closeAllChildren(true);
       }
     });
 
       @Override
       public void onClose(CloseEvent<PopupPanelevent) {
         if(!.isVisible()) {
           .remove();
         }
       }
     });
 
     this.setLabel(srcEle.getAttribute("label"));
 
     // init AFTER we set the managed object and we get "id" set for us
     super.init(srcElecontainer);
 
   }
 
   public void setLabel(String label) {
     .setTitle(label);
   }
 
   public String getLabel() {
     return .getTitle();
   }
 
   public boolean isHorizontal() {
     return ;
  }
  public void setHorizontal(boolean horizontal) {
    this. = horizontal;
  }
  public String getMenubarName() {
    return ;
  }
  public void setMenubarName(String name) {
    this. = name;
  }
  public void setVisible(boolean visible) {
    this. = visible;
    .getElement().getStyle().setProperty("display", (this.) ? "" : "none"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
    
    if (getParent() instanceof GwtMenubar) {
      ((GwtMenubar)getParent()).layout();
    }
  }
  public void layout() {
    for (XulComponent c : this.getChildNodes()) {
      add(c);
    }
    if (!) {
       = true;
    }
  }
  private void add(XulComponent c) {
    if (c instanceof XulMenuitem) {
      MenuItem item = (MenuItemc.getManagedObject();
      .addItem(item);
    } else if (c instanceof XulMenuseparator) {
      .addSeparator();
    } else if (c instanceof XulMenubar) {
      if (c.isVisible()) {
        MenuBar bar = (MenuBarc.getManagedObject();
        MenuItem submenu = new MenuItem(bar.getTitle(), bar);
        submenu.getElement().setId(bar.getElement().getId());
        .addItem(submenu);
      }
    }
  }
  public void addChild(Element element) {
    super.addChild(element);
    if ( == true) {
      .clearItems();
      this.layout();
    }
  }
  public void addChildAt(Element elementint idx) {
    super.addChildAt(elementidx);
    if ( == true) {
      .clearItems();
      this.layout();
    }
  }
  public void removeChild(Element element) {
    super.removeChild(element);
    XulComponent child = (XulComponentelement;
    if (child instanceof XulMenuitem) {
    }
  }
New to GrepCode? Check out our FAQ X