package eu.jucy.gui.statusline; import java.util.Set; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; import org.eclipse.swt.widgets.Composite; import eu.jucy.gui.ApplicationWorkbenchWindowAdvisor; import uc.InfoChange; import uc.InfoChange.IInfoChanged; import uihelpers.SUIJob; public class HubsLabel extends CLabel implements IInfoChanged, IStatusLineComp { public static final String ID = "eu.jucy.gui.statusline.HubsLabel"; //private CLabel cl; public HubsLabel(Composite comp) { super(comp,SWT.BORDER|SWT.CENTER); setText(); //"99/99/99"); ApplicationWorkbenchWindowAdvisor.get().register(this); } /* @Override public void fill(Composite parent) { cl = new CLabel(parent,SWT.BORDER); StatusLineLayoutData data = new StatusLineLayoutData(); data.widthHint = 50; cl.setLayoutData(data); } */ public void dispose() { ApplicationWorkbenchWindowAdvisor.get().unregister(this); super.dispose(); } public void infoChanged(Set<InfoChange> type) { if (type.contains(InfoChange.Hubs)) { new SUIJob(this) { @Override public void run() { setText(); } }.schedule(); } } public void setText() { int[] hubs = ApplicationWorkbenchWindowAdvisor.get().getNumberOfHubs(true); //String text = hubs[0]+"/"+hubs[1]+"/"+hubs[2]; String text = String.format("%d/%d/%d", hubs[0],hubs[1],hubs[2]); //text = String.format("%-8s",text); setText(text); } public int getNumberOfCharacters() { return 8; } }