package org.hwo.ui.servicelink.register; import javax.swing.JComponent; import org.hwo.bitfields.BitField; import org.hwo.servicelink.ng.ServiceLink; import org.hwo.bitfields.ui.BitFieldEditor; import org.w3c.dom.Element; public class BitFieldServiceRegister extends ServiceRegister { BitField bitField; BitFieldEditor editor; public BitFieldServiceRegister(ServiceLink serviceLink) { super(serviceLink,false); editor = new BitFieldEditor(); } @Override public void setRegisterNode(Element registerNode) { super.setRegisterNode(registerNode); Element fieldsNode = (Element)registerNode.getElementsByTagName("Fields").item(0); bitField = new BitField(fieldsNode); editor.setBitField(bitField); } @Override public String getTextRepresentation() { if (bitField == null) return "-"; return bitField.toText(readIntegerValue()); } @Override public JComponent getEditorComponent() { return editor; } @Override public void acceptEditorValue() { writeIntegerValue( editor.getIntValue() ); } @Override public void updateEditorValue() { editor.setIntValue( readIntegerValue() ); } }