package com.yoghurt.crypto.transactions.client.widget; import com.google.gwt.dom.client.Style.Unit; import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.Widget; import com.googlecode.gwt.crypto.bouncycastle.util.encoders.Hex; import com.yoghurt.crypto.transactions.client.widget.ContextFieldSet.FieldContextFactory; import com.yoghurt.crypto.transactions.shared.domain.Operation; import com.yoghurt.crypto.transactions.shared.domain.ScriptPart; public class SimpleScriptContextFactory implements FieldContextFactory<ScriptPart> { @Override public Widget getContextWidget(final ScriptPart value) { final Label label = new Label(getFieldText(value)); label.getElement().getStyle().setPadding(10, Unit.PX); return label; } public String getFieldText(final ScriptPart value) { if (value.getOperation() == null || value.getOperation() == Operation.OP_PUSHDATA) { return new String(Hex.encode(value.getBytes())).toUpperCase(); } else { return value.getOperation().name(); } } }