package com.yoghurt.crypto.transactions.client.widget; import com.google.gwt.core.client.GWT; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.Widget; import com.yoghurt.crypto.transactions.client.i18n.M; import com.yoghurt.crypto.transactions.client.util.script.ExecutionStep; public class ScriptStateViewer extends Composite { interface ScriptStateViewerImplUiBinder extends UiBinder<Widget, ScriptStateViewer> {} private static final ScriptStateViewerImplUiBinder UI_BINDER = GWT.create(ScriptStateViewerImplUiBinder.class); @UiField HeadingWidget scriptStepTitle; @UiField ScriptExecutionViewer operationViewer; @UiField Label description; @UiField ScriptExecutionViewer scriptExecutionViewer; @UiField StackViewer stackViewer; @UiField Label executionError; public ScriptStateViewer(final ExecutionStep state, final int idx) { initWidget(UI_BINDER.createAndBindUi(this)); scriptStepTitle.setText(M.messages().scriptExecutionStep(idx)); operationViewer.clear(); operationViewer.addField(state.getInstruction()); description.setText(M.messages().scriptOperationDescription(state.getInstruction().getOperation())); scriptExecutionViewer.setScript(state.getScript()); stackViewer.setStack(state.getStack()); executionError.setVisible(state.hasExecutionError()); } }