Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.pentaho.ui.xul.jface.tags;
  
  import  org.eclipse.jface.action.IContributionItem;
  import  org.eclipse.jface.action.MenuManager;
  import  org.eclipse.jface.window.ApplicationWindow;
 
 public class JfaceMenubar extends AbstractSwtXulContainer implements XulMenubar {
 
 	private MenuManager menuManager = null
 	private static Log logger = LogFactory.getLog(JfaceMenubar.class);
 	private XulComponent parent;
   
   public JfaceMenubar(Element selfXulComponent parentXulDomContainer domContainerString tagName) {
     super("menubar");
 
       ApplicationWindow window = ApplicationWindowLocal.getApplicationWindow();
       
       ifwindow == null ) {
     	  .error("No ApplicationWindow available via ApplicationWindowLocal");
       } else {
            = window.getMenuBarManager();
       }
       
       .debug("JfaceMenubar grabbed window's MenuManager: "+);
 //      System.out.println("JfaceMenubar grabbed window's MenuManager: "+menuManager);
     this. = parent;
   }
 
   @Override
   public XulComponent getParent() {
     return ;
   }
 
   @Override
   public void addChild(Element c) {
 	  addChildAt(c, -1);
 	  /*
 	    super.addChild(c);
 	    System.out.println("JfaceMenubar appending child "+c.getAttributeValue("id"));
 	    if( c instanceof JfaceMenu) {
 	    	menuManager.add(((JfaceMenu) c).getJfaceMenu() );
 	    }
 	    if( c instanceof JfaceMenuitem) {
 	    	menuManager.add(((JfaceMenuitem) c).getAction() );
 	    }
 	  */
   }
   
   @Override
   public void addChildAt(Element cint pos) {
 
 	  ifpos != -1 ) {
 		  super.addChildAt(cpos);
 	  } else {
 	      super.addChild(c);
 	  }
 
 	  if( == null) {
 		  // there is nothing else to do
 		  return;
 	  }
 	  // see if we have this already
 	  IContributionItem items[] = .getItems();
 	  for( IContributionItem item : items ) {
 		  ifitem.getId() != null && item.getId().equals(c.getAttributeValue("ID")) && !item.isVisible()) {
 			  // we already have this, just show it
 			  item.setVisible(true);
 //			    System.out.println("JfaceMenubar making existing item visible "+item.getId());
 			  return;
 		  }
 	  }
 	  
 	  
 	  MenuManager item = ((JfaceMenuc).getJfaceMenu();
 //	    System.out.println("JfaceMenubar adding child "+c.getAttributeValue("id")+" at "+pos);
 	    ifc instanceof JfaceMenu) {
 	    	ifpos == 0 && pos < .getItems().length ) {
 	    		String id = .getItems()[1].getId();
 	    		.insertBefore(iditem);
 	    	}
 	    	else ifpos > 0 && pos < .getItems().length ) {
 	    		String id = .getItems()[pos].getId();
 	    		.insertBefore(iditem);
 	    	} else {
 		    	.add(item);
 	    	}
 	    }
   }
   
   @Override
   public void layout() {
//    for (XulComponent comp : children) {
//      if (comp instanceof SwtMenu) {
//        this.menuBar.add((JMenu) ((SwingMenu) comp).getManagedObject());
//        
//      }
//    }
     = true;
  }
  public void removeChild(Element e) {
	  
//	  System.out.println( "JfaceMenubar.removeChild: "+e.getClass().getSimpleName() );
	  ife instanceof JfaceMenuitem ) {
//		  System.out.println( "removing menu item: "+((JfaceMenuitem)e).getLabel() );
		  ((JfaceMenuitem)e).setVisible(false);
	  }
	  ife instanceof JfaceMenupopup ) {
//		  System.out.println( "removing menu popup: "+((JfaceMenupopup)e).getId() );
		  ((JfaceMenupopup)e).setVisible(false);
	  }
	  ife instanceof JfaceMenu ) {
//		  System.out.println( "removing menu: "+((JfaceMenu)e).getId() );
		  ((JfaceMenu)e).setVisible(false);
/*
		  for( IContributionItem item : menuManager.getItems() ) {
			  if( item.getId() != null && item.getId().equals(((XulMenu)e).getId()) ) {
				  menuManager.remove(item);
			  }
		  }
*/
	  }
  }
New to GrepCode? Check out our FAQ X