Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package org.pentaho.ui.xul.swt.tags;
 
 import  org.eclipse.swt.SWT;
 import  org.eclipse.swt.events.ControlAdapter;
 import  org.eclipse.swt.events.ControlEvent;
 import  org.eclipse.swt.graphics.Color;
 import  org.eclipse.swt.layout.FormLayout;
import  org.eclipse.swt.widgets.Composite;
import  org.eclipse.swt.widgets.Control;
import  org.eclipse.swt.widgets.ToolBar;
import  org.eclipse.swt.widgets.ToolItem;
public class SwtToolbaritem extends AbstractSwtXulContainer implements XulToolbaritem{
  private XulComponent parent;
  private Composite panel;
  private ToolItem item;
  private ToolBar toolbar;
  private final int MARGIN_VALUE = 3;
  private static final Log logger = LogFactory.getLog(SwtToolbaritem.class);
  
  public SwtToolbaritem(Element selfXulComponent parentXulDomContainer domContainerString tagName) {
    super("treeitem");
     = (ToolBar) parent.getManagedObject();
    this. = parent;
    this. = domContainer;
     = new ToolItem((ToolBar) parent.getManagedObject(), SWT.SEPARATOR);
    
  }
  public void layout() {
    if(getChildNodes().size() > 0){
      XulComponent c = getChildNodes().get(0);
      Control control = (Control) c.getManagedObject();
      control.pack();
      .setWidth(control.getSize().x);
      .setControl(control);
    }
    ((ToolBar) .getManagedObject()).pack();
  }
  
  
  public void setFlex(int flex){
    super.setFlex(flex);
    if(getFlex() > 0){
      // only support one flexible spacer per toolbar for now.
      .addControlListener(new ControlAdapter(){
        @Override
        public void controlResized(ControlEvent arg0) {
          int totalWidth = .getBounds().width;
          int childTotalWidth = 0;
          for(ToolItem i : .getItems()){
            if(i != ){
              childTotalWidth += i.getBounds().width + ;
            }
          }
          .setWidth(Math.max(0, totalWidth - childTotalWidth));
        }
        
      });
    }
  }
New to GrepCode? Check out our FAQ X