package com.yoghurt.crypto.transactions.client.ui; 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.HTML; import com.google.gwt.user.client.ui.Widget; import com.yoghurt.crypto.transactions.client.i18n.M; import com.yoghurt.crypto.transactions.client.widget.HeadingWidget; import com.yoghurt.crypto.transactions.client.widget.QRCodeWidget; import com.yoghurt.crypto.transactions.shared.domain.BlockchainSource; import com.yoghurt.crypto.transactions.shared.domain.config.UserApplicationConfig; public class ContributeViewImpl extends Composite implements ContributeView { interface ContributeViewImplUiBinder extends UiBinder<Widget, ContributeViewImpl> {} private static final ContributeViewImplUiBinder UI_BINDER = GWT.create(ContributeViewImplUiBinder.class); @UiField HTML contributeProjectText; @UiField QRCodeWidget contributeProjectQRCode; @UiField HeadingWidget contributeNodeTitle; @UiField HTML contributeNodeText; @UiField QRCodeWidget contributeNodeQRCode; private UserApplicationConfig appConfig; public ContributeViewImpl() { initWidget(UI_BINDER.createAndBindUi(this)); } @Override protected void onLoad() { if (appConfig != null) { setConfig(appConfig); } } @Override public void setConfig(final UserApplicationConfig appConfig) { this.appConfig = appConfig; contributeProjectText.setHTML(M.messages().contributePlaceText(appConfig.getProjectDonationAddress())); if (contributeProjectQRCode.isAttached()) { contributeProjectQRCode.setValue(appConfig.getProjectDonationAddress()); } if (appConfig.getBlockchainSource() == BlockchainSource.NODE && appConfig.getHostDonationAddress() != null && !appConfig.getHostDonationAddress().isEmpty()) { contributeNodeText.setHTML(M.messages().contributePlaceNodeText(appConfig.getHostDonationAddress())); if (contributeNodeQRCode.isAttached()) { contributeNodeQRCode.setValue(appConfig.getHostDonationAddress()); } } else { contributeNodeTitle.removeFromParent(); contributeNodeText.removeFromParent(); contributeNodeQRCode.removeFromParent(); } } }