From 56a70543ff8268fa05c74163f403530fcdb74f31 Mon Sep 17 00:00:00 2001 From: iMoHax Date: Sat, 21 Feb 2015 14:33:22 +0300 Subject: [PATCH] add offer type to search page --- .../trader/controllers/SearchController.java | 14 ++++++++++++- .../java/ru/trader/model/MarketModel.java | 4 ++-- client/src/main/resources/view/search.fxml | 20 +++++++++++-------- core/src/main/java/ru/trader/core/Market.java | 4 ++++ .../java/ru/trader/core/MarketAnalyzer.java | 4 ++-- 5 files changed, 33 insertions(+), 13 deletions(-) diff --git a/client/src/main/java/ru/trader/controllers/SearchController.java b/client/src/main/java/ru/trader/controllers/SearchController.java index bd5b548..21cce18 100644 --- a/client/src/main/java/ru/trader/controllers/SearchController.java +++ b/client/src/main/java/ru/trader/controllers/SearchController.java @@ -9,6 +9,7 @@ import javafx.util.StringConverter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import ru.trader.core.MarketFilter; +import ru.trader.core.OFFER_TYPE; import ru.trader.core.SERVICE_TYPE; import ru.trader.model.*; import ru.trader.model.support.BindingsHelper; @@ -26,6 +27,10 @@ public class SearchController { @FXML private ComboBox source; @FXML + private RadioButton rbSeller; + @FXML + private RadioButton rbBuyer; + @FXML private ComboBox items; @FXML private NumberField distance; @@ -50,11 +55,17 @@ public class SearchController { private final List results = FXCollections.observableArrayList(); private final ObservableList itemsList = FXCollections.observableArrayList(); + private final ToggleGroup offerType = new ToggleGroup(); private MarketModel market; @FXML private void initialize() { + rbBuyer.setToggleGroup(offerType); + rbBuyer.setUserData(OFFER_TYPE.BUY); + rbSeller.setToggleGroup(offerType); + rbSeller.setUserData(OFFER_TYPE.SELL); + rbSeller.setSelected(true); items.setCellFactory(new CustomListCell<>(ItemModel::getName)); items.setConverter(new StringConverter() { @Override @@ -108,7 +119,8 @@ public class SearchController { Collection stations = market.getStations(filter); fill(stations); } else { - Collection offers = market.getOffers(item, filter); + OFFER_TYPE oType = (OFFER_TYPE) offerType.getSelectedToggle().getUserData(); + Collection offers = market.getOffers(oType, item, filter); fill(offers); } } diff --git a/client/src/main/java/ru/trader/model/MarketModel.java b/client/src/main/java/ru/trader/model/MarketModel.java index c212b54..e477421 100644 --- a/client/src/main/java/ru/trader/model/MarketModel.java +++ b/client/src/main/java/ru/trader/model/MarketModel.java @@ -123,8 +123,8 @@ public class MarketModel { return market.getStat(type, item); } - public ObservableList getOffers(ItemModel item, MarketFilter filter){ - return BindingsHelper.observableList(analyzer.getOffers(item.getItem(), filter), modeler::get); + public ObservableList getOffers(OFFER_TYPE offerType, ItemModel item, MarketFilter filter){ + return BindingsHelper.observableList(analyzer.getOffers(offerType, item.getItem(), filter), modeler::get); } public Collection getStations(MarketFilter filter){ diff --git a/client/src/main/resources/view/search.fxml b/client/src/main/resources/view/search.fxml index a906c87..2f3bae1 100644 --- a/client/src/main/resources/view/search.fxml +++ b/client/src/main/resources/view/search.fxml @@ -26,12 +26,16 @@