parent
d715a6fc1e
commit
659fb26862
@ -0,0 +1,34 @@
|
||||
package fr.uca.iut.clfreville2.gui.table;
|
||||
|
||||
import fr.uca.iut.clfreville2.model.sensor.Sensor;
|
||||
import fr.uca.iut.clfreville2.model.sensor.VirtualSensor.DataSource;
|
||||
import javafx.scene.control.ContextMenu;
|
||||
import javafx.scene.control.MenuItem;
|
||||
import javafx.scene.control.TableRow;
|
||||
|
||||
import java.util.function.Consumer;
|
||||
|
||||
public class SourceTableRow extends TableRow<DataSource> {
|
||||
|
||||
private final MenuItem deleteItem;
|
||||
private final ContextMenu menu;
|
||||
private final Consumer<Sensor> deleteConsumer;
|
||||
|
||||
public SourceTableRow(Consumer<Sensor> deleteConsumer) {
|
||||
this.deleteItem = new MenuItem("Remove");
|
||||
this.menu = new ContextMenu(deleteItem);
|
||||
this.deleteConsumer = deleteConsumer;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void updateItem(DataSource item, boolean empty) {
|
||||
super.updateItem(item, empty);
|
||||
if (empty) {
|
||||
deleteItem.setOnAction(null);
|
||||
setContextMenu(null);
|
||||
} else {
|
||||
deleteItem.setOnAction((e) -> deleteConsumer.accept(item.sensor()));
|
||||
setContextMenu(menu);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in new issue