java-org.hwo.servicelink/src/org/hwo/ui/servicelink/register/BitFieldServiceRegister.java

58 lines
1.1 KiB
Java

package org.hwo.ui.servicelink.register;
import javax.swing.JComponent;
import org.hwo.bitfields.BitField;
import org.hwo.servicelink.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() );
}
}