public void setValue(TextField textField, String value) { if (textField.isReadOnly()) { textField.setReadOnly(false); textField.setValue(value); textField.setReadOnly(true); } else { textField.setValue(value); } }
@Override protected void setInternalValue(Rrd rrd) { boolean stepState = step.isReadOnly(); step.setReadOnly(false); step.setValue(rrd.getStep().toString()); if (stepState) { step.setReadOnly(true); } container.removeAllItems(); for (String rra : rrd.getRras()) { container.addOnmsBean(new RRA(rra)); } }
@Override protected void setInternalValue(SystemDefChoice systemDef) { boolean oidTypeState = oidType.isReadOnly(); oidType.setReadOnly(false); oidType.select(systemDef.getSysoid() == null ? MASK : SINGLE); if (oidTypeState) { oidType.setReadOnly(true); } boolean oidValueState = oidValue.isReadOnly(); oidValue.setReadOnly(false); oidValue.setValue(systemDef.getSysoid() == null ? systemDef.getSysoidMask() : systemDef.getSysoid()); if (oidValueState) { oidValue.setReadOnly(true); } }
@Override protected Component initContent() { addStyleName("linkfield"); rootLayout.setSizeFull(); rootLayout.setSpacing(true); textField.setWidth(100, Unit.PERCENTAGE); textField.addValueChangeListener(event -> { // null value means "remove the currently selected link" T value = itemResolver.getItemByPath(event.getValue()).orElse(null); setValue(value); }); linkLayout.setSizeFull(); linkLayout.addComponent(textField); linkLayout.setExpandRatio(textField, 1); if (!textField.isReadOnly()) { selectButton.addStyleName("magnoliabutton"); linkLayout.addComponent(selectButton); linkLayout.setExpandRatio(selectButton, 0); } rootLayout.addComponent(linkLayout); addValueChangeListener(event -> updateComponents()); updateComponents(); return rootLayout; }