package com.yoghurt.crypto.transactions.client.ui;
import gwt.material.design.client.ui.MaterialTextBox;
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.Widget;
import com.yoghurt.crypto.transactions.shared.domain.config.BitcoinCoreNodeConfig;
public class NodeConfigEditor extends Composite implements ConfigEditor<BitcoinCoreNodeConfig> {
interface NodeConfigEditorUiBinder extends UiBinder<Widget, NodeConfigEditor> {}
private static final NodeConfigEditorUiBinder UI_BINDER = GWT.create(NodeConfigEditorUiBinder.class);
@UiField MaterialTextBox hostField;
@UiField MaterialTextBox portField;
@UiField MaterialTextBox rpcUserField;
@UiField MaterialTextBox rpcPassField;
public NodeConfigEditor() {
initWidget(UI_BINDER.createAndBindUi(this));
}
@Override
public void setValue(final BitcoinCoreNodeConfig value) {
hostField.setText(value.getHost());
portField.setText(value.getPort());
rpcUserField.setText(value.getRpcUser());
rpcPassField.setText(value.getRpcPass());
}
@Override
public BitcoinCoreNodeConfig getValue() {
final BitcoinCoreNodeConfig config = new BitcoinCoreNodeConfig();
config.setHost(hostField.getValue());
config.setPort(portField.getValue());
config.setRpcUser(rpcUserField.getValue());
config.setRpcPass(rpcPassField.getValue());
return config;
}
}