Archived
0

fix system editor

This commit is contained in:
Mo
2015-11-07 16:30:49 +03:00
parent 80a6504300
commit 199468eaad
2 changed files with 22 additions and 6 deletions

View File

@@ -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);

View File

@@ -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();