protected void verticalButtonPressed(Widget button) {
// Get selection.
int index = perspectivesTable.getSelectionIndex();
// Map it to the perspective descriptor
PerspectiveDescriptor desc = null;
if (index > -1) {
desc = (PerspectiveDescriptor) perspectives.get(index);
} else {
return;
}
// Take action.
if (button == revertButton) {
if (desc.isPredefined() && !perspToRevert.contains(desc)) {
perspToRevert.add(desc);
}
} else if (button == deleteButton) {
if (!desc.isPredefined() && !perspToDelete.contains(desc)) {
if(!findOpenInstance(desc)){
perspToDelete.add(desc);
perspToRevert.remove(desc);
perspectives.remove(desc);
updatePerspectivesTable();
}
}
} else if (button == setDefaultButton) {
defaultPerspectiveId = desc.getId();
updatePerspectivesTable();
perspectivesTable.setSelection(index);
}
updateButtons();