Initialize edit form with data

This commit is contained in:
Christoph Atteneder 2018-04-16 10:41:40 +02:00
parent 2eb2ecba50
commit 0adae19423
No known key found for this signature in database
GPG key ID: CD5DC1C529CDFD3B
6 changed files with 45 additions and 17 deletions

View file

@ -552,7 +552,7 @@ public abstract class EditableOfferDataModel extends OfferDataModel implements B
}
}
void setMarketPriceMargin(double marketPriceMargin) {
protected void setMarketPriceMargin(double marketPriceMargin) {
this.marketPriceMargin = marketPriceMargin;
}
@ -588,11 +588,11 @@ public abstract class EditableOfferDataModel extends OfferDataModel implements B
return addressEntry;
}
public TradeCurrency getTradeCurrency() {
protected TradeCurrency getTradeCurrency() {
return tradeCurrency;
}
public PaymentAccount getPaymentAccount() {
protected PaymentAccount getPaymentAccount() {
return paymentAccount;
}
@ -601,7 +601,7 @@ public abstract class EditableOfferDataModel extends OfferDataModel implements B
return acceptedArbitrators != null && acceptedArbitrators.size() > 0;
}
public void setUseMarketBasedPrice(boolean useMarketBasedPrice) {
protected void setUseMarketBasedPrice(boolean useMarketBasedPrice) {
this.useMarketBasedPrice.set(useMarketBasedPrice);
preferences.setUsePercentageBasedPrice(useMarketBasedPrice);
}
@ -701,15 +701,15 @@ public abstract class EditableOfferDataModel extends OfferDataModel implements B
paymentAccounts.setAll(new HashSet<>(user.getPaymentAccounts()));
}
void setAmount(Coin amount) {
protected void setAmount(Coin amount) {
this.amount.set(amount);
}
public void setPrice(Price price) {
protected void setPrice(Price price) {
this.price.set(price);
}
public void setVolume(Volume volume) {
protected void setVolume(Volume volume) {
this.volume.set(volume);
}
@ -739,7 +739,7 @@ public abstract class EditableOfferDataModel extends OfferDataModel implements B
return volume;
}
void setMinAmount(Coin minAmount) {
protected void setMinAmount(Coin minAmount) {
this.minAmount.set(minAmount);
}

View file

@ -756,7 +756,7 @@ public abstract class EditableOfferView<M extends EditableOfferViewModel> extend
return label;
}
private void updateMarketPriceAvailable() {
protected void updateMarketPriceAvailable() {
int marketPriceAvailableValue = model.marketPriceAvailableProperty.get();
if (marketPriceAvailableValue > -1) {
boolean isMarketPriceAvailable = marketPriceAvailableValue == 1;

View file

@ -22,7 +22,6 @@ import bisq.desktop.common.model.ActivatableWithDataModel;
import bisq.desktop.main.MainView;
import bisq.desktop.main.funds.FundsView;
import bisq.desktop.main.funds.deposit.DepositView;
import bisq.desktop.main.offer.createoffer.CreateOfferDataModel;
import bisq.desktop.main.overlays.popups.Popup;
import bisq.desktop.main.settings.SettingsView;
import bisq.desktop.main.settings.preferences.PreferencesView;
@ -90,7 +89,7 @@ public abstract class EditableOfferViewModel<M extends EditableOfferDataModel> e
private final PriceFeedService priceFeedService;
private final Navigation navigation;
private final Preferences preferences;
private final BSFormatter btcFormatter;
protected final BSFormatter btcFormatter;
private final BsqFormatter bsqFormatter;
private final FiatVolumeValidator fiatVolumeValidator;
private final FiatPriceValidator fiatPriceValidator;
@ -656,7 +655,7 @@ public abstract class EditableOfferViewModel<M extends EditableOfferDataModel> e
}
void setIsCurrencyForMakerFeeBtc(boolean isCurrencyForMakerFeeBtc) {
public void setIsCurrencyForMakerFeeBtc(boolean isCurrencyForMakerFeeBtc) {
dataModel.setPreferredCurrencyForMakerFeeBtc(isCurrencyForMakerFeeBtc);
applyMakerFee();
}

View file

@ -25,6 +25,8 @@ import bisq.core.btc.wallet.BsqWalletService;
import bisq.core.btc.wallet.BtcWalletService;
import bisq.core.btc.wallet.TradeWalletService;
import bisq.core.filter.FilterManager;
import bisq.core.offer.Offer;
import bisq.core.offer.OpenOffer;
import bisq.core.offer.OpenOfferManager;
import bisq.core.payment.AccountAgeWitnessService;
import bisq.core.provider.fee.FeeService;
@ -40,8 +42,25 @@ import com.google.inject.Inject;
public class EditOpenOfferDataModel extends EditableOfferDataModel {
private OpenOffer openOffer;
@Inject
EditOpenOfferDataModel(OpenOfferManager openOfferManager, BtcWalletService btcWalletService, BsqWalletService bsqWalletService, Preferences preferences, User user, KeyRing keyRing, P2PService p2PService, PriceFeedService priceFeedService, FilterManager filterManager, AccountAgeWitnessService accountAgeWitnessService, TradeWalletService tradeWalletService, FeeService feeService, BSFormatter formatter) {
super(openOfferManager, btcWalletService, bsqWalletService, preferences, user, keyRing, p2PService, priceFeedService, filterManager, accountAgeWitnessService, tradeWalletService, feeService, formatter);
}
public void initWithData(OpenOffer openOffer) {
this.openOffer = openOffer;
}
public void populateData() {
Offer offer = openOffer.getOffer();
setAmount(offer.getAmount());
setMinAmount(offer.getMinAmount());
setPrice(offer.getPrice());
setVolume(offer.getVolume());
setUseMarketBasedPrice(offer.isUseMarketBasedPrice());
if (offer.isUseMarketBasedPrice()) setMarketPriceMargin(offer.getMarketPriceMargin());
}
}

View file

@ -39,17 +39,19 @@ public class EditOpenOfferView extends EditableOfferView<EditOpenOfferViewModel>
super(model, navigation, preferences, transitions, offerDetailsWindow, btcFormatter, bsqFormatter);
}
public void initWithData(OpenOffer openOffer) {
super.initWithData(openOffer.getOffer().getDirection(), CurrencyUtil.getTradeCurrency(openOffer.getOffer().getCurrencyCode()).get());
model.initWithData(openOffer);
}
@Override
protected void doActivate() {
super.doActivate();
hidePaymentGroup();
hideOptionsGroup();
}
public void initWithData(OpenOffer openOffer) {
super.initWithData(openOffer.getOffer().getDirection(), CurrencyUtil.getTradeCurrency(openOffer.getOffer().getCurrencyCode()).get());
model.initWithData(openOffer);
updateMarketPriceAvailable();
}
}

View file

@ -45,5 +45,13 @@ public class EditOpenOfferViewModel extends EditableOfferViewModel<EditOpenOffer
}
public void initWithData(OpenOffer openOffer) {
dataModel.initWithData(openOffer);
}
@Override
protected void activate() {
super.activate();
dataModel.populateData();
}
}