fix system editor
This commit is contained in:
@@ -19,6 +19,7 @@ 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.Localization;
|
||||||
|
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;
|
||||||
@@ -85,12 +86,12 @@ public class SystemsEditorController {
|
|||||||
clnS4.setCellFactory(TextFieldCell.forTableColumn(new DoubleStringConverter()));
|
clnS4.setCellFactory(TextFieldCell.forTableColumn(new DoubleStringConverter()));
|
||||||
clnS5.setCellFactory(TextFieldCell.forTableColumn(new DoubleStringConverter()));
|
clnS5.setCellFactory(TextFieldCell.forTableColumn(new DoubleStringConverter()));
|
||||||
clnS6.setCellFactory(TextFieldCell.forTableColumn(new DoubleStringConverter()));
|
clnS6.setCellFactory(TextFieldCell.forTableColumn(new DoubleStringConverter()));
|
||||||
clnName.setOnEditCommit(e -> copySys1());
|
ViewUtils.addOnEditCommit(clnName, e -> copySys1());
|
||||||
clnS1.setOnEditCommit(e -> copySys2());
|
ViewUtils.addOnEditCommit(clnS1, e -> copySys2());
|
||||||
clnS2.setOnEditCommit(e -> copySys3());
|
ViewUtils.addOnEditCommit(clnS2, e -> copySys3());
|
||||||
clnS3.setOnEditCommit(e -> copySys4());
|
ViewUtils.addOnEditCommit(clnS3, e -> copySys4());
|
||||||
clnS4.setOnEditCommit(e -> copySys5());
|
ViewUtils.addOnEditCommit(clnS4, e -> copySys5());
|
||||||
clnS5.setOnEditCommit(e -> copySys6());
|
ViewUtils.addOnEditCommit(clnS5, e -> copySys6());
|
||||||
tblSystems.setItems(FXCollections.observableArrayList());
|
tblSystems.setItems(FXCollections.observableArrayList());
|
||||||
tblSystems.getSelectionModel().setCellSelectionEnabled(true);
|
tblSystems.getSelectionModel().setCellSelectionEnabled(true);
|
||||||
tblSystems.setSortPolicy(t -> true);
|
tblSystems.setSortPolicy(t -> true);
|
||||||
|
|||||||
@@ -4,6 +4,9 @@ import com.sun.javafx.scene.control.skin.TableViewSkin;
|
|||||||
import com.sun.javafx.scene.control.skin.VirtualFlow;
|
import com.sun.javafx.scene.control.skin.VirtualFlow;
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
import javafx.collections.ObservableList;
|
import javafx.collections.ObservableList;
|
||||||
|
import javafx.event.Event;
|
||||||
|
import javafx.event.EventHandler;
|
||||||
|
import javafx.scene.control.TableColumn;
|
||||||
import javafx.scene.control.TablePosition;
|
import javafx.scene.control.TablePosition;
|
||||||
import javafx.scene.control.TableView;
|
import javafx.scene.control.TableView;
|
||||||
|
|
||||||
@@ -34,6 +37,18 @@ public class ViewUtils {
|
|||||||
editNext(tableView);
|
editNext(tableView);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static <T extends Event> EventHandler<T> joinHandlers(EventHandler<T> first, EventHandler<T> second){
|
||||||
|
return (e -> {
|
||||||
|
first.handle(e);
|
||||||
|
second.handle(e);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <S,T> void addOnEditCommit(TableColumn<S, T> column, EventHandler<TableColumn.CellEditEvent<S, T>> eventHandler){
|
||||||
|
final EventHandler<TableColumn.CellEditEvent<S, T>> oldHandler = column.getOnEditCommit();
|
||||||
|
column.setOnEditCommit(joinHandlers(oldHandler, eventHandler));
|
||||||
|
}
|
||||||
|
|
||||||
public static void doFX(Runnable runnable){
|
public static void doFX(Runnable runnable){
|
||||||
if (Platform.isFxApplicationThread()){
|
if (Platform.isFxApplicationThread()){
|
||||||
runnable.run();
|
runnable.run();
|
||||||
|
|||||||
Reference in New Issue
Block a user