org.bndtools.utils.swt.AddRemoveButtonBarPart Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of org.bndtools.templating.gitrepo Show documentation
Show all versions of org.bndtools.templating.gitrepo Show documentation
org.bndtools.templating.gitrepo
package org.bndtools.utils.swt;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.ToolBar;
import org.eclipse.swt.widgets.ToolItem;
import org.eclipse.ui.ISharedImages;
import org.eclipse.ui.PlatformUI;
public class AddRemoveButtonBarPart {
public interface AddRemoveListener {
void addSelected();
void removeSelected();
}
private final List listeners = new ArrayList<>();
private ToolBar toolbar;
private ToolItem btnAdd;
private ToolItem btnRemove;
public ToolBar createControl(Composite parent, int style) {
toolbar = new ToolBar(parent, style);
btnAdd = new ToolItem(toolbar, SWT.PUSH);
btnAdd.setImage(PlatformUI.getWorkbench()
.getSharedImages()
.getImage(ISharedImages.IMG_OBJ_ADD));
btnAdd.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
for (AddRemoveListener l : listeners) {
l.addSelected();
}
}
});
btnRemove = new ToolItem(toolbar, SWT.PUSH);
btnRemove.setImage(PlatformUI.getWorkbench()
.getSharedImages()
.getImage(ISharedImages.IMG_TOOL_DELETE));
btnRemove.setDisabledImage(PlatformUI.getWorkbench()
.getSharedImages()
.getImage(ISharedImages.IMG_TOOL_DELETE_DISABLED));
btnRemove.setToolTipText("Remove");
btnRemove.setEnabled(false);
btnRemove.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
for (AddRemoveListener l : listeners) {
l.removeSelected();
}
}
});
return toolbar;
}
public void setAddEnabled(boolean enable) {
btnAdd.setEnabled(enable);
}
public void setRemoveEnabled(boolean enable) {
btnRemove.setEnabled(enable);
}
public void addListener(AddRemoveListener l) {
listeners.add(l);
}
public void removeListener(AddRemoveListener l) {
listeners.remove(l);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy