mirror of
https://gitlab.com/kauron/jstudy
synced 2025-09-30 21:01:10 +02:00
Table: moved buttons to context menu.
This commit is contained in:
parent
889295a0b2
commit
c608f52c61
2 changed files with 42 additions and 105 deletions
|
@ -36,8 +36,6 @@ public class TableController implements Initializable {
|
|||
private TableView<TestItem> table;
|
||||
@FXML
|
||||
private TableColumn<TestItem, String> answerCol, questionCol;
|
||||
@FXML
|
||||
private Button editButton, duplicateButton, swapButton, testSelectionButton, deleteButton, saveButton;
|
||||
|
||||
private ObservableList<TestItem> data;
|
||||
private Controller parent;
|
||||
|
@ -47,17 +45,25 @@ public class TableController implements Initializable {
|
|||
|
||||
@Override
|
||||
public void initialize(URL url, ResourceBundle resourceBundle) {
|
||||
// Add context menu to Table
|
||||
MenuItem menuEdit = new MenuItem("_Edit");
|
||||
menuEdit.setOnAction(this::onEditAction);
|
||||
MenuItem menuDelete = new MenuItem("_Delete");
|
||||
menuDelete.setOnAction(this::onDeleteAction);
|
||||
MenuItem menuDup = new MenuItem("D_uplicate");
|
||||
menuDup.setOnAction(this::onDuplicateAction);
|
||||
MenuItem menuSwap = new MenuItem("_Swap");
|
||||
menuSwap.setOnAction(this::onSwapAction);
|
||||
MenuItem menuTest = new MenuItem("_Test selected");
|
||||
menuTest.setOnAction(this::onTestSelectionAction);
|
||||
table.setContextMenu(new ContextMenu(menuEdit, menuDelete, menuDup, menuSwap, new SeparatorMenuItem(), menuTest));
|
||||
|
||||
table.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
|
||||
answerCol.setCellValueFactory(e -> e.getValue().answerProperty());
|
||||
questionCol.setCellValueFactory(e -> e.getValue().questionProperty());
|
||||
table.getSelectionModel().getSelectedIndices().addListener((ListChangeListener<? super Integer>) obs -> {
|
||||
editButton.setDisable(obs.getList().size() != 1);
|
||||
swapButton.setDisable(obs.getList().size() < 1);
|
||||
deleteButton.setDisable(obs.getList().size() < 1);
|
||||
duplicateButton.setDisable(obs.getList().size() < 1);
|
||||
testSelectionButton.setDisable(obs.getList().size() < 1);
|
||||
menuEdit.setDisable(obs.getList().size() != 1);
|
||||
});
|
||||
saveButton.disableProperty().bind(saved);
|
||||
}
|
||||
|
||||
void setData(String name, List<TestItem> list, Controller controller, File file) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue