io.github.interacto.jfx.binding.JfxAnonMenuItemBinding Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of interacto-javafx Show documentation
Show all versions of interacto-javafx Show documentation
The JavaFX implementation of the Interacto library
The newest version!
/*
* Interacto
* Copyright (C) 2020 Arnaud Blouin
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
package io.github.interacto.jfx.binding;
import io.github.interacto.command.Command;
import io.github.interacto.jfx.binding.api.LogLevel;
import io.github.interacto.jfx.interaction.help.HelpAnimation;
import io.github.interacto.jfx.interaction.library.MenuItemInteraction;
import io.github.interacto.jfx.interaction.library.WidgetData;
import java.util.List;
import java.util.Objects;
import java.util.Set;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Predicate;
import javafx.collections.ObservableList;
import javafx.scene.control.MenuItem;
/**
* This anonymous widget binding for menus takes a function as a parameter that will be executed to initialise the command.
* The goal is to avoid the creation of a specific class when the widget binding is quite simple.
* @author Arnaud Blouin
*/
class JfxAnonMenuItemBinding, ?>> extends JfxAnonBinding> {
/**
* Creates a menu item binding. This constructor must initialise the interaction. The binding is (de-)activated if the given
* instrument is (de-)activated.
*/
JfxAnonMenuItemBinding(final boolean continuousExec, final I interaction, final BiConsumer, C> initCmdFct, final BiConsumer, C> updateCmdFct,
final Predicate> check, final BiConsumer, C> onEndFct, final Function, C> cmdFunction, final Consumer> cancel,
final Consumer> endOrCancel, final List