add skipped fields to system editor
This commit is contained in:
@@ -1,25 +1,26 @@
|
|||||||
package ru.trader.controllers;
|
package ru.trader.controllers;
|
||||||
|
|
||||||
import javafx.beans.property.DoubleProperty;
|
import javafx.beans.property.*;
|
||||||
import javafx.beans.property.SimpleDoubleProperty;
|
|
||||||
import javafx.beans.property.SimpleStringProperty;
|
|
||||||
import javafx.beans.property.StringProperty;
|
|
||||||
import javafx.collections.FXCollections;
|
import javafx.collections.FXCollections;
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
import javafx.scene.Parent;
|
import javafx.scene.Parent;
|
||||||
import javafx.scene.control.*;
|
import javafx.scene.control.*;
|
||||||
|
import javafx.scene.control.cell.ComboBoxTableCell;
|
||||||
import javafx.util.converter.DefaultStringConverter;
|
import javafx.util.converter.DefaultStringConverter;
|
||||||
import javafx.util.converter.DoubleStringConverter;
|
import javafx.util.converter.DoubleStringConverter;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import ru.trader.Main;
|
import ru.trader.Main;
|
||||||
|
import ru.trader.core.FACTION;
|
||||||
|
import ru.trader.core.GOVERNMENT;
|
||||||
|
import ru.trader.core.POWER;
|
||||||
|
import ru.trader.core.POWER_STATE;
|
||||||
import ru.trader.model.MarketModel;
|
import ru.trader.model.MarketModel;
|
||||||
import ru.trader.model.ModelFabric;
|
import ru.trader.model.ModelFabric;
|
||||||
import ru.trader.model.ProfileModel;
|
import ru.trader.model.ProfileModel;
|
||||||
import ru.trader.model.SystemModel;
|
import ru.trader.model.SystemModel;
|
||||||
import ru.trader.model.support.PositionComputer;
|
import ru.trader.model.support.PositionComputer;
|
||||||
import ru.trader.view.support.Localization;
|
import ru.trader.view.support.*;
|
||||||
import ru.trader.view.support.ViewUtils;
|
|
||||||
import ru.trader.view.support.autocomplete.AutoCompletion;
|
import ru.trader.view.support.autocomplete.AutoCompletion;
|
||||||
import ru.trader.view.support.autocomplete.CachedSuggestionProvider;
|
import ru.trader.view.support.autocomplete.CachedSuggestionProvider;
|
||||||
import ru.trader.view.support.autocomplete.SystemsProvider;
|
import ru.trader.view.support.autocomplete.SystemsProvider;
|
||||||
@@ -34,6 +35,14 @@ public class SystemsEditorController {
|
|||||||
@FXML
|
@FXML
|
||||||
private TableColumn<SystemData, String> clnName;
|
private TableColumn<SystemData, String> clnName;
|
||||||
@FXML
|
@FXML
|
||||||
|
private TableColumn<SystemData, FACTION> clnFaction;
|
||||||
|
@FXML
|
||||||
|
private TableColumn<SystemData, GOVERNMENT> clnGovernment;
|
||||||
|
@FXML
|
||||||
|
private TableColumn<SystemData, POWER> clnPower;
|
||||||
|
@FXML
|
||||||
|
private TableColumn<SystemData, POWER_STATE> clnPowerState;
|
||||||
|
@FXML
|
||||||
private TableColumn<SystemData, Double> clnX;
|
private TableColumn<SystemData, Double> clnX;
|
||||||
@FXML
|
@FXML
|
||||||
private TableColumn<SystemData, Double> clnY;
|
private TableColumn<SystemData, Double> clnY;
|
||||||
@@ -77,6 +86,10 @@ public class SystemsEditorController {
|
|||||||
private void initialize() {
|
private void initialize() {
|
||||||
init();
|
init();
|
||||||
clnName.setCellFactory(TextFieldCell.forTableColumn(new DefaultStringConverter()));
|
clnName.setCellFactory(TextFieldCell.forTableColumn(new DefaultStringConverter()));
|
||||||
|
clnFaction.setCellFactory(ComboBoxTableCell.forTableColumn(new FactionStringConverter(), FXCollections.observableArrayList(FACTION.values())));
|
||||||
|
clnGovernment.setCellFactory(ComboBoxTableCell.forTableColumn(new GovernmentStringConverter(), FXCollections.observableArrayList(GOVERNMENT.values())));
|
||||||
|
clnPower.setCellFactory(ComboBoxTableCell.forTableColumn(new PowerStringConverter(), FXCollections.observableArrayList(POWER.values())));
|
||||||
|
clnPowerState.setCellFactory(ComboBoxTableCell.forTableColumn(new PowerStateStringConverter(), FXCollections.observableArrayList(POWER_STATE.values())));
|
||||||
clnX.setCellFactory(TextFieldCell.forTableColumn(new DoubleStringConverter()));
|
clnX.setCellFactory(TextFieldCell.forTableColumn(new DoubleStringConverter()));
|
||||||
clnY.setCellFactory(TextFieldCell.forTableColumn(new DoubleStringConverter()));
|
clnY.setCellFactory(TextFieldCell.forTableColumn(new DoubleStringConverter()));
|
||||||
clnZ.setCellFactory(TextFieldCell.forTableColumn(new DoubleStringConverter()));
|
clnZ.setCellFactory(TextFieldCell.forTableColumn(new DoubleStringConverter()));
|
||||||
@@ -272,6 +285,10 @@ public class SystemsEditorController {
|
|||||||
private final DoubleProperty x;
|
private final DoubleProperty x;
|
||||||
private final DoubleProperty y;
|
private final DoubleProperty y;
|
||||||
private final DoubleProperty z;
|
private final DoubleProperty z;
|
||||||
|
private final ObjectProperty<FACTION> faction;
|
||||||
|
private final ObjectProperty<GOVERNMENT> government;
|
||||||
|
private final ObjectProperty<POWER> power;
|
||||||
|
private final ObjectProperty<POWER_STATE> powerState;
|
||||||
|
|
||||||
private final DoubleProperty s1 = new SimpleDoubleProperty();
|
private final DoubleProperty s1 = new SimpleDoubleProperty();
|
||||||
private final DoubleProperty s2 = new SimpleDoubleProperty();
|
private final DoubleProperty s2 = new SimpleDoubleProperty();
|
||||||
@@ -287,6 +304,10 @@ public class SystemsEditorController {
|
|||||||
x = new SimpleDoubleProperty(Double.NaN);
|
x = new SimpleDoubleProperty(Double.NaN);
|
||||||
y = new SimpleDoubleProperty(Double.NaN);
|
y = new SimpleDoubleProperty(Double.NaN);
|
||||||
z = new SimpleDoubleProperty(Double.NaN);
|
z = new SimpleDoubleProperty(Double.NaN);
|
||||||
|
faction = new SimpleObjectProperty<>(FACTION.NONE);
|
||||||
|
government = new SimpleObjectProperty<>(GOVERNMENT.NONE);
|
||||||
|
power = new SimpleObjectProperty<>(POWER.NONE);
|
||||||
|
powerState = new SimpleObjectProperty<>(POWER_STATE.NONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
private SystemData(SystemModel system) {
|
private SystemData(SystemModel system) {
|
||||||
@@ -295,6 +316,10 @@ public class SystemsEditorController {
|
|||||||
x = new SimpleDoubleProperty(system.getX());
|
x = new SimpleDoubleProperty(system.getX());
|
||||||
y = new SimpleDoubleProperty(system.getY());
|
y = new SimpleDoubleProperty(system.getY());
|
||||||
z = new SimpleDoubleProperty(system.getZ());
|
z = new SimpleDoubleProperty(system.getZ());
|
||||||
|
faction = new SimpleObjectProperty<>(system.getFaction());
|
||||||
|
government = new SimpleObjectProperty<>(system.getGovernment());
|
||||||
|
power = new SimpleObjectProperty<>(system.getPower());
|
||||||
|
powerState = new SimpleObjectProperty<>(system.getPowerState());
|
||||||
}
|
}
|
||||||
|
|
||||||
public StringProperty nameProperty() {
|
public StringProperty nameProperty() {
|
||||||
@@ -337,6 +362,22 @@ public class SystemsEditorController {
|
|||||||
return s6;
|
return s6;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ObjectProperty<FACTION> factionProperty() {
|
||||||
|
return faction;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ObjectProperty<GOVERNMENT> governmentProperty() {
|
||||||
|
return government;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ObjectProperty<POWER> powerProperty() {
|
||||||
|
return power;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ObjectProperty<POWER_STATE> powerStateProperty() {
|
||||||
|
return powerState;
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isEmpty(){
|
public boolean isEmpty(){
|
||||||
return name.get().isEmpty() || Double.isNaN(x.get()) || Double.isNaN(y.get()) || Double.isNaN(z.get());
|
return name.get().isEmpty() || Double.isNaN(x.get()) || Double.isNaN(y.get()) || Double.isNaN(z.get());
|
||||||
}
|
}
|
||||||
@@ -346,8 +387,16 @@ public class SystemsEditorController {
|
|||||||
if (system != null){
|
if (system != null){
|
||||||
system.setName(name.get());
|
system.setName(name.get());
|
||||||
system.setPosition(x.get(), y.get(), z.get());
|
system.setPosition(x.get(), y.get(), z.get());
|
||||||
|
system.setFaction(faction.get());
|
||||||
|
system.setGovernment(government.get());
|
||||||
|
system.setPower(power.get());
|
||||||
|
system.setPowerState(powerState.get());
|
||||||
} else {
|
} else {
|
||||||
market.add(name.get(), x.get(), y.get(), z.get());
|
SystemModel system = market.add(name.get(), x.get(), y.get(), z.get());
|
||||||
|
system.setFaction(faction.get());
|
||||||
|
system.setGovernment(government.get());
|
||||||
|
system.setPower(power.get());
|
||||||
|
system.setPowerState(powerState.get());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,16 +1,9 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
<?import javafx.geometry.*?>
|
|
||||||
<?import javafx.scene.control.*?>
|
<?import javafx.scene.control.*?>
|
||||||
|
<?import javafx.scene.control.cell.*?>
|
||||||
<?import javafx.scene.layout.*?>
|
<?import javafx.scene.layout.*?>
|
||||||
|
<?import org.controlsfx.glyphfont.*?>
|
||||||
<?import javafx.scene.control.cell.PropertyValueFactory?>
|
|
||||||
<?import ru.trader.view.support.cells.PriceCellImpl?>
|
|
||||||
<?import ru.trader.view.support.cells.OfferCellValueImpl?>
|
|
||||||
|
|
||||||
<?import ru.trader.view.support.cells.DoubleCell?>
|
|
||||||
<?import org.controlsfx.glyphfont.Glyph?>
|
|
||||||
<?import org.controlsfx.control.SegmentedButton?>
|
|
||||||
<GridPane xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"
|
<GridPane xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"
|
||||||
fx:controller="ru.trader.controllers.SystemsEditorController" styleClass="dialog"
|
fx:controller="ru.trader.controllers.SystemsEditorController" styleClass="dialog"
|
||||||
hgap="10" vgap="5" prefHeight="400">
|
hgap="10" vgap="5" prefHeight="400">
|
||||||
@@ -57,11 +50,23 @@
|
|||||||
</Button>
|
</Button>
|
||||||
</HBox>
|
</HBox>
|
||||||
|
|
||||||
<TableView fx:id="tblSystems" editable="true" prefWidth="725.0" GridPane.rowIndex="3" GridPane.columnSpan="4">
|
<TableView fx:id="tblSystems" editable="true" prefWidth="800" GridPane.rowIndex="3" GridPane.columnSpan="4">
|
||||||
<columns>
|
<columns>
|
||||||
<TableColumn fx:id="clnName" minWidth="180.0" text="%market.systems">
|
<TableColumn fx:id="clnName" minWidth="180.0" text="%market.systems">
|
||||||
<cellValueFactory><PropertyValueFactory property="name"/></cellValueFactory>
|
<cellValueFactory><PropertyValueFactory property="name"/></cellValueFactory>
|
||||||
</TableColumn>
|
</TableColumn>
|
||||||
|
<TableColumn fx:id="clnFaction" minWidth="100" text="%market.allegiance">
|
||||||
|
<cellValueFactory><PropertyValueFactory property="faction"/></cellValueFactory>
|
||||||
|
</TableColumn>
|
||||||
|
<TableColumn fx:id="clnGovernment" minWidth="100" text="%market.government">
|
||||||
|
<cellValueFactory><PropertyValueFactory property="government"/></cellValueFactory>
|
||||||
|
</TableColumn>
|
||||||
|
<TableColumn fx:id="clnPower" minWidth="100" text="Сила">
|
||||||
|
<cellValueFactory><PropertyValueFactory property="power"/></cellValueFactory>
|
||||||
|
</TableColumn>
|
||||||
|
<TableColumn fx:id="clnPowerState" minWidth="100" text="Статус">
|
||||||
|
<cellValueFactory><PropertyValueFactory property="powerState"/></cellValueFactory>
|
||||||
|
</TableColumn>
|
||||||
<TableColumn fx:id="clnX" minWidth="60.0" text="x">
|
<TableColumn fx:id="clnX" minWidth="60.0" text="x">
|
||||||
<cellValueFactory><PropertyValueFactory property="x"/></cellValueFactory>
|
<cellValueFactory><PropertyValueFactory property="x"/></cellValueFactory>
|
||||||
</TableColumn>
|
</TableColumn>
|
||||||
|
|||||||
Reference in New Issue
Block a user