.getImage(ISharedImages.IMG_OBJ_FOLDER));
loadConfigButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(final SelectionEvent e) {
final ElementListSelectionDialog dialog = new SelectConfigurationDialog(
parent.getShell(), new LabelProvider());
dialog.setElements(ConfigurationManager.getNodesConfig());
dialog.open();
final String result = (String) dialog.getFirstResult();
if (result != null) {
nodesConfigName = result;
configNameLabel.setText(nodesConfigName);
TraceBackend.getInstance().loadTracedNodes(
ConfigurationManager.loadNodesConfig(nodesConfigName));
nodesTableViewer.refresh();
}
}
});
// "Delete nodes configuration" button
deleteConfigButton.setToolTipText("Delete current node configuration...");
deleteConfigButton.setImage(PlatformUI.getWorkbench().getSharedImages()
.getImage(ISharedImages.IMG_ELCL_REMOVE));
deleteConfigButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(final SelectionEvent e) {
if (nodesConfigName != null) {
final MessageBox messageBox = new MessageBox(parent.getShell(),
SWT.ICON_QUESTION | SWT.YES | SWT.NO);
messageBox.setMessage("Delete \"" + nodesConfigName + "\"?");
messageBox.setText("Delete configuration");
if (messageBox.open() == SWT.YES) {
ConfigurationManager.removeNodesConfig(nodesConfigName);
nodesConfigName = null;
configNameLabel.setText("");
}
}
}
});
// "Save nodes configuration" button
saveConfigButton.setToolTipText("Save current nodes configuration");
saveConfigButton.setImage(PlatformUI.getWorkbench().getSharedImages()
.getImage(ISharedImages.IMG_ETOOL_SAVE_EDIT));
saveConfigButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(final SelectionEvent e) {
if (nodesConfigName != null) {
if (!ConfigurationManager.saveNodesConfig(nodesConfigName)) {
final MessageBox messageBox = new MessageBox(parent.getShell(),
SWT.ICON_ERROR | SWT.OK);
messageBox.setMessage("Unable to save configuration: "
+ nodesConfigName);
messageBox.setText("Error");
messageBox.open();
}
}
}
});
// "Save nodes configuration as..." button
saveAsConfigButton.setToolTipText("Save current nodes configuration as...");
saveAsConfigButton.setImage(PlatformUI.getWorkbench().getSharedImages()
.getImage(ISharedImages.IMG_ETOOL_SAVEAS_EDIT));
saveAsConfigButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(final SelectionEvent e) {
final String[] configurations = ConfigurationManager.getNodesConfig();
final Set<String> existingNames = new HashSet<String>(Arrays
.asList(configurations));
final InputDialog dialog = new ConfigurationSaveAsDialog(parent
.getShell(), "Save nodes configuration",
"Enter name for configuration:", nodesConfigName, existingNames);
if (dialog.open() == Window.OK) {
if (ConfigurationManager.saveNodesConfig(dialog.getValue())) {
nodesConfigName = dialog.getValue();
configNameLabel.setText(nodesConfigName);
} else {
final MessageBox messageBox = new MessageBox(parent.getShell(),
SWT.ICON_ERROR | SWT.OK);
messageBox.setMessage("Unable to save configuration: "
+ dialog.getValue());
messageBox.setText("Error");
messageBox.open();
}
}
}