package de.uni_luebeck.inb.krabbenhoeft.eQTL.client; import com.google.gwt.core.client.GWT; import com.google.gwt.event.logical.shared.ValueChangeEvent; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.uibinder.client.UiHandler; import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.TextArea; import com.google.gwt.user.client.ui.Widget; import de.uni_luebeck.inb.krabbenhoeft.eQTL.api.gwt.DataSetLayerOverview; import de.uni_luebeck.inb.krabbenhoeft.eQTL.api.gwt.ProcessWithR; import de.uni_luebeck.inb.krabbenhoeft.eQTL.api.gwt.ProcessWithRAsync; public class LayerRView extends Composite { private static LayerRViewUiBinder uiBinder = GWT.create(LayerRViewUiBinder.class); interface LayerRViewUiBinder extends UiBinder<Widget, LayerRView> { } private final ProcessWithRAsync processWithR = GWT.create(ProcessWithR.class); @UiField TextArea consoleIn; @UiField TextArea consoleOut; private DataSetLayerOverview dataSetLayerOverview; public LayerRView(DataSetLayerOverview dataSetLayerOverview) { this.dataSetLayerOverview = dataSetLayerOverview; initWidget(uiBinder.createAndBindUi(this)); consoleIn.setText("head(data)"); onConsoleIn(null); } @UiHandler("consoleIn") void onConsoleIn(final ValueChangeEvent<String> e) { new AutoRetry<String>() { public void success(String result) { consoleOut.setText(result); } public void invoke(AsyncCallback<String> callback) { processWithR.callR(dataSetLayerOverview.layerKey, consoleIn.getText(), callback); } }.run(); } }