Add up, down, add item buttons to vendor editor
This commit is contained in:
@@ -10,6 +10,7 @@ import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.xml.sax.SAXException;
|
||||
import ru.trader.World;
|
||||
import ru.trader.model.ItemModel;
|
||||
import ru.trader.model.MarketModel;
|
||||
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
@@ -80,12 +81,17 @@ public class MainController {
|
||||
}
|
||||
|
||||
|
||||
public void addItem(ActionEvent actionEvent){
|
||||
public Optional<ItemModel> addItem(){
|
||||
Optional<String> res = Dialogs.create()
|
||||
.title("Добавление нового товара")
|
||||
.message("Введите название товара")
|
||||
.showTextInput();
|
||||
if (res.isPresent()) market.add(market.newItem(res.get()));
|
||||
ItemModel item = null;
|
||||
if (res.isPresent()){
|
||||
item = market.newItem(res.get());
|
||||
market.add(item);
|
||||
}
|
||||
return Optional.ofNullable(item);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -118,6 +118,10 @@ public class Screeners {
|
||||
|
||||
}
|
||||
|
||||
public static Optional<ItemModel> showAddItem(){
|
||||
return mainController.addItem();
|
||||
}
|
||||
|
||||
public static void closeAll() {
|
||||
itemDescController.close();
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package ru.trader.controllers;
|
||||
import javafx.beans.property.DoubleProperty;
|
||||
import javafx.beans.property.ReadOnlyStringProperty;
|
||||
import javafx.beans.property.SimpleDoubleProperty;
|
||||
import javafx.collections.ListChangeListener;
|
||||
import javafx.event.ActionEvent;
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.scene.Parent;
|
||||
@@ -21,6 +22,8 @@ import ru.trader.model.*;
|
||||
import ru.trader.model.support.BindingsHelper;
|
||||
import ru.trader.view.support.cells.TextFieldCell;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
|
||||
public class VendorEditorController {
|
||||
private final static Logger LOG = LoggerFactory.getLogger(VendorEditorController.class);
|
||||
@@ -55,6 +58,7 @@ public class VendorEditorController {
|
||||
items.getSelectionModel().setCellSelectionEnabled(true);
|
||||
buy.setCellFactory(TextFieldCell.forTableColumn(new DoubleStringConverter()));
|
||||
sell.setCellFactory(TextFieldCell.forTableColumn(new DoubleStringConverter()));
|
||||
fillItems();
|
||||
}
|
||||
|
||||
public Action showDialog(Parent parent, Parent content, VendorModel vendor){
|
||||
@@ -75,14 +79,13 @@ public class VendorEditorController {
|
||||
|
||||
private void fill(){
|
||||
name.setText(vendor.getName());
|
||||
fillItems();
|
||||
vendor.getSells().forEach(this::fillOffer);
|
||||
vendor.getBuys().forEach(this::fillOffer);
|
||||
}
|
||||
|
||||
private void reset(){
|
||||
name.setText("");
|
||||
fillItems();
|
||||
items.getItems().forEach(FakeOffer::reset);
|
||||
}
|
||||
|
||||
private void fillItems() {
|
||||
@@ -106,6 +109,32 @@ public class VendorEditorController {
|
||||
}
|
||||
}
|
||||
|
||||
public void up(){
|
||||
int index = items.getSelectionModel().getSelectedIndex();
|
||||
if (index>0){
|
||||
FakeOffer offer = items.getItems().remove(index);
|
||||
items.getItems().add(index-1, offer);
|
||||
items.getSelectionModel().select(index - 1, items.getColumns().get(0));
|
||||
}
|
||||
}
|
||||
|
||||
public void down(){
|
||||
int index = items.getSelectionModel().getSelectedIndex();
|
||||
if (index>=0 && index<items.getItems().size()-1){
|
||||
FakeOffer offer = items.getItems().remove(index);
|
||||
items.getItems().add(index+1, offer);
|
||||
items.getSelectionModel().select(index + 1, items.getColumns().get(0));
|
||||
}
|
||||
}
|
||||
|
||||
public void add() {
|
||||
Optional<ItemModel> item = Screeners.showAddItem();
|
||||
if (item.isPresent()){
|
||||
items.getItems().add(new FakeOffer(item.get()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void saveChanges(){
|
||||
LOG.info("Save vendor changes");
|
||||
items.getSelectionModel().clearSelection();
|
||||
@@ -242,6 +271,13 @@ public class VendorEditorController {
|
||||
bprice.set(buy.getPrice());
|
||||
}
|
||||
|
||||
public void reset(){
|
||||
sprice.setValue(0);
|
||||
bprice.setValue(0);
|
||||
this.sell = null;
|
||||
this.buy = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "FakeOffer{" +
|
||||
|
||||
Reference in New Issue
Block a user