/**
*
*/
package com.topsun.posclient.application;
import org.eclipse.jface.action.IContributionItem;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.CoolBar;
import org.eclipse.swt.widgets.ToolBar;
import org.eclipse.swt.widgets.ToolItem;
public class ToolBarManager extends ContributionItemsManager {
private CoolBar coolBar;
private ToolBar toolBar;
public ToolBarManager(Composite rootComposite, String categroy) {
super(rootComposite, categroy);
this.coolBar = (CoolBar) rootComposite;
Control[] tabList = this.coolBar.getTabList();
for (Control tab : tabList) {
if (tab instanceof ToolBar) {
this.toolBar = (ToolBar) tab;
break;
}
}
}
@Override
public void refresh() {
ToolItem[] toolItems = toolBar.getItems();
for (ToolItem toolItem : toolItems) {
if (toolItem != null && !toolItem.isDisposed()) {
toolItem.dispose();
}
}
for (int i = 0; i < items.size(); i++) {
IContributionItem item = items.get(i);
item.dispose();
}
int idxToUse = 0;
for (int i = 0; i < items.size(); i++) {
IContributionItem item = items.get(i);
if (item.isVisible()) {
item.fill(toolBar, idxToUse++);
}
}
toolBar.layout(true);
coolBar.layout(true);
}
public void layout() {
toolBar.layout(true);
coolBar.layout(true);
}
public void redraw() {
toolBar.redraw();
coolBar.redraw();
}
}