IO-Ports Dummy
This commit is contained in:
@ -0,0 +1,46 @@
|
||||
package fabrik.simulator.pic16f84;
|
||||
|
||||
import com.gluonhq.charm.glisten.control.ToggleButtonGroup;
|
||||
import javafx.collections.ListChangeListener;
|
||||
import javafx.event.EventHandler;
|
||||
import javafx.scene.control.Toggle;
|
||||
import javafx.scene.control.ToggleButton;
|
||||
import javafx.scene.input.MouseEvent;
|
||||
|
||||
public class ToggleButtonGroupExt {
|
||||
private static ToggleButtonGroupExt me;
|
||||
|
||||
private ToggleButtonGroupExt() {
|
||||
}
|
||||
|
||||
public static ToggleButtonGroupExt get() {
|
||||
if (me == null) {
|
||||
me = new ToggleButtonGroupExt();
|
||||
}
|
||||
return me;
|
||||
}
|
||||
|
||||
|
||||
public void addAlwaysOneSelectedSupport(final ToggleButtonGroup toggleGroup) {
|
||||
toggleGroup.getToggles().addListener((ListChangeListener.Change<? extends Toggle> c) -> {
|
||||
while (c.next()) {
|
||||
for (final Toggle addedToggle : c.getAddedSubList()) {
|
||||
addConsumeMouseEventfilter(addedToggle);
|
||||
}
|
||||
}
|
||||
});
|
||||
toggleGroup.getToggles().forEach(this::addConsumeMouseEventfilter);
|
||||
}
|
||||
|
||||
private void addConsumeMouseEventfilter(Toggle toggle) {
|
||||
((ToggleButton) toggle).addEventFilter(MouseEvent.MOUSE_PRESSED, consumeMouseEventfilter);
|
||||
((ToggleButton) toggle).addEventFilter(MouseEvent.MOUSE_RELEASED, consumeMouseEventfilter);
|
||||
((ToggleButton) toggle).addEventFilter(MouseEvent.MOUSE_CLICKED, consumeMouseEventfilter);
|
||||
}
|
||||
|
||||
public EventHandler<MouseEvent> consumeMouseEventfilter = (MouseEvent mouseEvent) -> {
|
||||
if (((Toggle) mouseEvent.getSource()).isSelected()) {
|
||||
mouseEvent.consume();
|
||||
}
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user