use of bndtools.shared.URLLabelProvider in project bndtools by bndtools.
the class ReposPreferencePage method createContents.
@Override
protected Control createContents(Composite parent) {
Composite composite = new Composite(parent, SWT.NONE);
GridLayout layout = new GridLayout(1, false);
layout.marginRight = 10;
composite.setLayout(layout);
Group group = new Group(composite, SWT.NONE);
group.setText("Templates Repositories");
group.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
group.setLayout(new GridLayout(2, false));
final Button btnEnableTemplateRepo = new Button(group, SWT.CHECK);
btnEnableTemplateRepo.setText("Enable templates repositories");
btnEnableTemplateRepo.setSelection(enableTemplateRepo);
btnEnableTemplateRepo.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 2, 1));
ControlDecoration decoration = new ControlDecoration(btnEnableTemplateRepo, SWT.RIGHT | SWT.TOP, composite);
decoration.setImage(FieldDecorationRegistry.getDefault().getFieldDecoration(FieldDecorationRegistry.DEC_INFORMATION).getImage());
decoration.setMarginWidth(3);
decoration.setDescriptionText("These repositories are used to load\ntemplates, in addition to repositories\nconfigured in the Bnd OSGi Workspace.");
decoration.setShowHover(true);
decoration.setShowOnlyOnFocus(false);
Label lblRepos = new Label(group, SWT.NONE);
lblRepos.setText("Repository URLs:");
lblRepos.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 2, 1));
final Table tblRepos = new Table(group, SWT.BORDER | SWT.MULTI);
vwrRepos = new TableViewer(tblRepos);
vwrRepos.setContentProvider(ArrayContentProvider.getInstance());
vwrRepos.setLabelProvider(new URLLabelProvider(tblRepos.getDisplay()));
vwrRepos.setInput(templateRepos);
GridData gd = new GridData(SWT.FILL, SWT.CENTER, true, false);
gd.widthHint = 260;
gd.heightHint = 80;
tblRepos.setLayoutData(gd);
tblRepos.setEnabled(enableTemplateRepo);
final AddRemoveButtonBarPart addRemoveRepoPart = new AddRemoveButtonBarPart();
Control addRemovePanel = addRemoveRepoPart.createControl(group, SWT.FLAT | SWT.VERTICAL);
addRemovePanel.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));
addRemoveRepoPart.setRemoveEnabled(false);
addRemoveRepoPart.addListener(new AddRemoveListener() {
@Override
public void addSelected() {
doAddRepo();
}
@Override
public void removeSelected() {
doRemoveRepo();
}
});
vwrRepos.addSelectionChangedListener(new ISelectionChangedListener() {
@Override
public void selectionChanged(SelectionChangedEvent event) {
addRemoveRepoPart.setRemoveEnabled(!vwrRepos.getSelection().isEmpty());
}
});
tblRepos.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
if (e.keyCode == SWT.DEL && e.stateMask == 0)
doRemoveRepo();
}
});
btnEnableTemplateRepo.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent ev) {
enableTemplateRepo = btnEnableTemplateRepo.getSelection();
tblRepos.setEnabled(enableTemplateRepo);
validate();
}
});
return composite;
}
Aggregations