/** * */ package com.topsun.posclient.application; import java.util.ArrayList; import java.util.List; import org.eclipse.jface.action.IContributionItem; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; public class StatusLineManager extends ContributionItemsManager { public StatusLineManager(Composite rootComposite, String categroy) { super((Composite) rootComposite.getChildren()[3], categroy); } public void refresh() { Control[] children = rootComposite.getChildren(); for (Control child : children) { if (child != null && !child.isDisposed()) { child.dispose(); } } List<IContributionItem> itemsToUse = new ArrayList<IContributionItem>(); for (int i = 0; i < items.size(); i++) { IContributionItem item = items.get(i); if (item.isVisible()) { itemsToUse.add(item); } } Composite titleBarToUse = TopSunApplicationActivator.getCustomization().getStatusLineCreator().createComposite(rootComposite, SWT.NONE, itemsToUse.size()); for (int i = 0; i < itemsToUse.size(); i++) { IContributionItem item = itemsToUse.get(i); item.fill(titleBarToUse); } rootComposite.layout(true); } }