package eu.jucy.gui.statusline;
import helpers.SizeEnum;
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 SharesizeLabel extends CLabel implements IInfoChanged ,IStatusLineComp {
public SharesizeLabel(Composite parent) {
super(parent,SWT.BORDER|SWT.CENTER);
setText();
ApplicationWorkbenchWindowAdvisor.get().register(this);
}
public void dispose() {
ApplicationWorkbenchWindowAdvisor.get().unregister(this);
super.dispose();
}
public void infoChanged(Set<InfoChange> type) {
if (type.contains(InfoChange.Sharesize)) {
new SUIJob(this) {
@Override
public void run() {
setText();
}
}.schedule();
}
}
public void setText() {
String text = SizeEnum.getReadableSize(ApplicationWorkbenchWindowAdvisor.get().getFilelist().getSharesize());
setText(text);
}
public int getNumberOfCharacters() {
return 10;
}
}