public void addListener(ILabelProviderListener listener) {
}
public String getColumnText(Object element, int columnIndex) {
if (element instanceof CloudServerURL) {
CloudServerURL cloudUrl = (CloudServerURL) element;
if (columnIndex == 0) {
return cloudUrl.getName();
}
else if (columnIndex == 1) {
return cloudUrl.getUrl();
}
}
return null;
}
public Image getColumnImage(Object element, int columnIndex) {
return null;
}
});
Composite buttonComposite = new Composite(composite, SWT.NONE);
GridDataFactory.fillDefaults().grab(false, true).applyTo(buttonComposite);
GridLayoutFactory.fillDefaults().margins(0, 0).applyTo(buttonComposite);
final Button addButton = new Button(buttonComposite, SWT.PUSH);
GridDataFactory.fillDefaults().applyTo(addButton);
addButton.setText(Messages.COMMONTXT_ADD);
addButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
CloudServerURL cloudURL = promptForCloudURL(serverTypeId, e.display.getActiveShell(), cloudUrls, null,
null);
if (cloudURL != null) {
addURL(cloudURL);
viewer.refresh(true);
}
}
});
final Button editButton = new Button(buttonComposite, SWT.PUSH);
GridDataFactory.fillDefaults().applyTo(editButton);
editButton.setText(Messages.COMMONTXT_EDIT);
editButton.setEnabled(false);
editButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
ISelection selection = viewer.getSelection();
if (selection instanceof IStructuredSelection) {
IStructuredSelection sSelection = (IStructuredSelection) selection;
Object element = sSelection.getFirstElement();
if (element instanceof CloudServerURL) {
CloudServerURL cloudUrl = (CloudServerURL) element;
if (cloudUrl.getUserDefined()) {
cloudUrls.remove(cloudUrl);
CloudServerURL newUrl = promptForCloudURL(serverTypeId, e.display.getActiveShell(),
cloudUrls, cloudUrl.getUrl(), cloudUrl.getName());
if (newUrl != null) {
if (cloudUrl.getUrl().equals(newUrl.getUrl()) || canUpdateUrl(cloudUrl, newUrl)) {
addURL(newUrl);
}
else {
addURL(cloudUrl);
}
}
else {
addURL(cloudUrl);
}
}
else {
CloudServerURL url = CloudUiUtil.getWildcardUrl(cloudUrl, cloudUrls, getShell());
if (url != null) {
addURL(url);
}
}
viewer.refresh(true);
}
}
}
});
final Button removeButton = new Button(buttonComposite, SWT.PUSH);
GridDataFactory.fillDefaults().applyTo(removeButton);
removeButton.setText(Messages.COMMONTXT_REMOVE);
removeButton.setEnabled(false);
removeButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
ISelection selection = viewer.getSelection();
if (selection instanceof IStructuredSelection) {
IStructuredSelection sSelection = (IStructuredSelection) selection;
Object[] selectedItems = sSelection.toArray();
for (Object selectedItem : selectedItems) {
if (selectedItem instanceof CloudServerURL) {
CloudServerURL cloudUrl = (CloudServerURL) selectedItem;
removeCloudUrl(cloudUrl);
}
}
}
viewer.refresh(true);
}
});
viewer.addSelectionChangedListener(new ISelectionChangedListener() {
public void selectionChanged(SelectionChangedEvent event) {
ISelection selection = event.getSelection();
if (selection instanceof IStructuredSelection) {
boolean editEnabled = true;
boolean removeEnabled = true;
IStructuredSelection sSelection = (IStructuredSelection) selection;
Object[] selectedItems = sSelection.toArray();
for (Object selectedItem : selectedItems) {
if (selectedItem instanceof CloudServerURL) {
CloudServerURL cloudUrl = (CloudServerURL) selectedItem;
if (!cloudUrl.getUserDefined()) {
String url = cloudUrl.getUrl();
if (!url.contains("{")) { //$NON-NLS-1$
editEnabled = false;
}
removeEnabled = false;