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

View file

@ -756,7 +756,7 @@ public abstract class EditableOfferView<M extends EditableOfferViewModel> extend
return label; return label;
} }
private void updateMarketPriceAvailable() { protected void updateMarketPriceAvailable() {
int marketPriceAvailableValue = model.marketPriceAvailableProperty.get(); int marketPriceAvailableValue = model.marketPriceAvailableProperty.get();
if (marketPriceAvailableValue > -1) { if (marketPriceAvailableValue > -1) {
boolean isMarketPriceAvailable = 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.MainView;
import bisq.desktop.main.funds.FundsView; import bisq.desktop.main.funds.FundsView;
import bisq.desktop.main.funds.deposit.DepositView; 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.overlays.popups.Popup;
import bisq.desktop.main.settings.SettingsView; import bisq.desktop.main.settings.SettingsView;
import bisq.desktop.main.settings.preferences.PreferencesView; 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 PriceFeedService priceFeedService;
private final Navigation navigation; private final Navigation navigation;
private final Preferences preferences; private final Preferences preferences;
private final BSFormatter btcFormatter; protected final BSFormatter btcFormatter;
private final BsqFormatter bsqFormatter; private final BsqFormatter bsqFormatter;
private final FiatVolumeValidator fiatVolumeValidator; private final FiatVolumeValidator fiatVolumeValidator;
private final FiatPriceValidator fiatPriceValidator; 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); dataModel.setPreferredCurrencyForMakerFeeBtc(isCurrencyForMakerFeeBtc);
applyMakerFee(); applyMakerFee();
} }

View file

@ -25,6 +25,8 @@ import bisq.core.btc.wallet.BsqWalletService;
import bisq.core.btc.wallet.BtcWalletService; import bisq.core.btc.wallet.BtcWalletService;
import bisq.core.btc.wallet.TradeWalletService; import bisq.core.btc.wallet.TradeWalletService;
import bisq.core.filter.FilterManager; import bisq.core.filter.FilterManager;
import bisq.core.offer.Offer;
import bisq.core.offer.OpenOffer;
import bisq.core.offer.OpenOfferManager; import bisq.core.offer.OpenOfferManager;
import bisq.core.payment.AccountAgeWitnessService; import bisq.core.payment.AccountAgeWitnessService;
import bisq.core.provider.fee.FeeService; import bisq.core.provider.fee.FeeService;
@ -40,8 +42,25 @@ import com.google.inject.Inject;
public class EditOpenOfferDataModel extends EditableOfferDataModel { public class EditOpenOfferDataModel extends EditableOfferDataModel {
private OpenOffer openOffer;
@Inject @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) { 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); 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); 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 @Override
protected void doActivate() { protected void doActivate() {
super.doActivate(); super.doActivate();
hidePaymentGroup(); hidePaymentGroup();
hideOptionsGroup(); hideOptionsGroup();
}
public void initWithData(OpenOffer openOffer) { updateMarketPriceAvailable();
super.initWithData(openOffer.getOffer().getDirection(), CurrencyUtil.getTradeCurrency(openOffer.getOffer().getCurrencyCode()).get());
model.initWithData(openOffer);
} }
} }

View file

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