diff --git a/client/src/main/java/ru/trader/controllers/PathsController.java b/client/src/main/java/ru/trader/controllers/PathsController.java index 0f1bb7e..86b0eaf 100644 --- a/client/src/main/java/ru/trader/controllers/PathsController.java +++ b/client/src/main/java/ru/trader/controllers/PathsController.java @@ -9,6 +9,7 @@ import javafx.scene.control.ButtonType; import javafx.scene.control.Dialog; import javafx.scene.control.TableView; import ru.trader.Main; +import ru.trader.model.OrderModel; import ru.trader.model.RouteModel; import ru.trader.model.support.BindingsHelper; import ru.trader.view.support.Localization; @@ -19,7 +20,11 @@ import java.util.Optional; public class PathsController { @FXML private TableView tblPaths; + @FXML + private TableView tblOrders; + private final List paths = FXCollections.observableArrayList(); + private final ObservableList orders = FXCollections.observableArrayList(); private final ListChangeListener PATHS_CHANGE_LISTENER = l -> { while (l.next()) { if (l.wasAdded()) { @@ -35,8 +40,19 @@ public class PathsController { @FXML private void initialize() { BindingsHelper.setTableViewItems(tblPaths, paths); + tblOrders.setItems(orders); + tblPaths.getSelectionModel().selectedItemProperty().addListener((ov, o, n) ->{ + if (n != null){ + fillOrders(n); + } else { + orders.clear(); + } + }); } + private void fillOrders(RouteModel route) { + orders.setAll(route.getOrders()); + } private void createDialog(Parent owner, Parent content){ dlg = new Dialog<>(); diff --git a/client/src/main/java/ru/trader/view/support/cells/OrderDecoratedRow.java b/client/src/main/java/ru/trader/view/support/cells/OrderDecoratedRow.java new file mode 100644 index 0000000..b0267ab --- /dev/null +++ b/client/src/main/java/ru/trader/view/support/cells/OrderDecoratedRow.java @@ -0,0 +1,27 @@ +package ru.trader.view.support.cells; + +import javafx.collections.ObservableList; +import javafx.scene.control.TableRow; +import javafx.scene.control.TableView; +import javafx.util.Callback; +import ru.trader.model.OrderModel; +import ru.trader.view.support.ViewUtils; + +public class OrderDecoratedRow extends DecoratedRowFactory { + public OrderDecoratedRow() { + super(); + } + + public OrderDecoratedRow(Callback, TableRow> decorated) { + super(decorated); + } + + @Override + protected void doStyle(TableRow row, OrderModel entry) { + ObservableList styles = row.getStyleClass(); + styles.remove(ViewUtils.ILLEGAL_ITEM_STYLE); + if (entry != null && entry.isIllegal()){ + styles.add(ViewUtils.ILLEGAL_ITEM_STYLE); + } + } +} diff --git a/client/src/main/resources/view/paths.fxml b/client/src/main/resources/view/paths.fxml index 926ddc7..d47f47b 100644 --- a/client/src/main/resources/view/paths.fxml +++ b/client/src/main/resources/view/paths.fxml @@ -8,7 +8,10 @@ - + + + @@ -55,4 +58,41 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +