Hej mam następujący problem.
Tworzę sobie InputDialog:
InputDialog dialog = new InputDialog(Display.getCurrent().getActiveShell(), "Tworzenie nowej gałęzi",
"Proszę podać nazwę gałęzi", "", getNameValidator((DeviceNodes) selected));
public IInputValidator getNameValidator(final DeviceNodes parent) {
IInputValidator validator = new IInputValidator() {
private boolean checkIfExists(String text) {
Session session = HibernateUtilLocal.getSessionFactory()
.openSession();
Criteria criteria = session.createCriteria(DeviceNodes.class);
criteria.add(Restrictions.eq("deviceNodes", parent));
criteria.add(Restrictions.eq("deviceNodeName", text));
if (!criteria.list().isEmpty()) {
session.close();
return true;
} else {
session.close();
return false;
}
}
public String isValid(String text) { // return an error message,
if (text.isEmpty()) // or null for no error
return "Nazwa gałęzi nie może być pusta";
else if (checkIfExists(text))
return "Istnieje już gałąź o tej nazwie";
return null;
}
};
return validator;
}
Jeśli tworzę dialog bez validatora to wszystko jest ok. Natomiast gdy dołożę validator (nawet z samym sprawdzaniem pustego stringa) to nie mogę nacisnąć OK za pomocą myszki. Mogę nacisnąć ENTER, ale myszką zatwierdzić nie mogę.
Macie jakieś pomysły? Bo google nie pomogło niestety