58 lines
1.1 KiB
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.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() );
|
|
}
|
|
|
|
}
|