
io.qt.core.QDeclarableSignals Maven / Gradle / Ivy
/****************************************************************************
**
** Copyright (C) 2009-2024 Dr. Peter Droste, Omix Visualization GmbH & Co. KG. All rights reserved.
**
** This file is part of Qt Jambi.
**
** $BEGIN_LICENSE$
** GNU Lesser General Public License Usage
** This file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met: http://www.gnu.org/copyleft/gpl.html.
** $END_LICENSE$
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
****************************************************************************/
package io.qt.core;
import java.util.Arrays;
import java.util.function.Consumer;
import java.util.function.Supplier;
import io.qt.*;
import io.qt.core.QMetaObject.*;
/**
* QDeclarableSignals is a namespace containing signal types to be used in any other contexts than member signals.
* Declarable signals are never realized as Qt's meta object signals but have a lightweight Java implementation.
*/
public final class QDeclarableSignals {
private QDeclarableSignals() {}
private final static String DEFAULT_NAME = "anonymous_signal";
/**
* Use this signal class to declare a local signal.
*/
public static final class Signal0 extends QMetaObject.AbstractPublicSignal0 {
public Signal0() {
this(DEFAULT_NAME);
}
public Signal0(String signalName) {
super(signalName);
}
}
/**
* Use this signal class to declare a local signal.
*
* @param The type of the single parameter of the signal.
*/
public static final class Signal1 extends QMetaObject.AbstractPublicSignal1 {
public Signal1(@StrictNonNull Class typeA) {
this(DEFAULT_NAME, typeA);
}
public Signal1(@StrictNonNull String signalName, @StrictNonNull Class typeA) {
super(signalName, typeA);
}
}
/**
* Use this signal class to declare a local signal.
*
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
*/
public static final class Signal2 extends QMetaObject.AbstractPublicSignal2 {
public Signal2(@StrictNonNull Class typeA, @StrictNonNull Class typeB) {
this(DEFAULT_NAME, typeA, typeB);
}
public Signal2(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB) {
super(signalName, typeA, typeB);
}
}
/**
* Use this signal class to declare a local signal.
*
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
*/
public static final class Signal3 extends QMetaObject.AbstractPublicSignal3 {
public Signal3(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC) {
this(DEFAULT_NAME, typeA, typeB, typeC);
}
public Signal3(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC) {
super(signalName, typeA, typeB, typeC);
}
}
/**
* Use this signal class to declare a local signal.
*
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
*/
public static final class Signal4 extends QMetaObject.AbstractPublicSignal4 {
public Signal4(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD) {
this(DEFAULT_NAME, typeA, typeB, typeC, typeD);
}
public Signal4(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD) {
super(signalName, typeA, typeB, typeC, typeD);
}
}
/**
* Use this signal class to declare a local signal.
*
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
*/
public static final class Signal5 extends QMetaObject.AbstractPublicSignal5 {
public Signal5(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE) {
this(DEFAULT_NAME, typeA, typeB, typeC, typeD, typeE);
}
public Signal5(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE) {
super(signalName, typeA, typeB, typeC, typeD, typeE);
}
}
/**
* Use this signal class to declare a local signal.
*
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
*/
public static final class Signal6 extends QMetaObject.AbstractPublicSignal6 {
public Signal6(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF) {
this(DEFAULT_NAME, typeA, typeB, typeC, typeD, typeE, typeF);
}
public Signal6(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF) {
super(signalName, typeA, typeB, typeC, typeD, typeE, typeF);
}
}
/**
* Use this signal class to declare a local signal.
*
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
*/
public static final class Signal7 extends QMetaObject.AbstractPublicSignal7 {
public Signal7(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG) {
this(DEFAULT_NAME, typeA, typeB, typeC, typeD, typeE, typeF, typeG);
}
public Signal7(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG) {
super(signalName, typeA, typeB, typeC, typeD, typeE, typeF, typeG);
}
}
/**
* Use this signal class to declare a local signal.
*
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
*/
public static final class Signal8 extends QMetaObject.AbstractPublicSignal8 {
public Signal8(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH) {
this(DEFAULT_NAME, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH);
}
public Signal8(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH) {
super(signalName, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH);
}
}
/**
* Use this signal class to declare a local signal.
*
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
* @param The type of the single parameter of the signal.
*/
public static final class Signal9 extends QMetaObject.AbstractPublicSignal9 {
public Signal9(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Class typeI) {
this(DEFAULT_NAME, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH, typeI);
}
public Signal9(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Class typeE, @StrictNonNull Class typeF, @StrictNonNull Class typeG, @StrictNonNull Class typeH, @StrictNonNull Class typeI) {
super(signalName, typeA, typeB, typeC, typeD, typeE, typeF, typeG, typeH, typeI);
}
}
/**
* Equivalent to {@link Signal1} with default value for the parameter.
*
* @param The type of the first parameter of the signal.
*/
public static final class Signal1Default1 extends QMetaObject.AbstractSignal1Default1{
public Signal1Default1(@StrictNonNull Class typeA, @StrictNonNull Supplier arg1Default){
this(DEFAULT_NAME, typeA, arg1Default);
}
public Signal1Default1(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Supplier arg1Default){
super(signalName, typeA, arg1Default);
}
}
/**
* Equivalent to {@link Signal2} with default value for parameter no. 2.
*
* @param The type of the first parameter of the signal.
* @param The type of the second parameter of the signal.
*/
public static final class Signal2Default1 extends QMetaObject.AbstractSignal2Default1{
public Signal2Default1(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Supplier arg2Default) {
this(DEFAULT_NAME, typeA, typeB, arg2Default);
}
public Signal2Default1(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Supplier arg2Default) {
super(signalName, typeA, typeB, arg2Default);
}
}
/**
* Equivalent to {@link Signal2} with default values for parameters 1 and 2.
*
* @param The type of the first parameter of the signal.
* @param The type of the second parameter of the signal.
*/
public static final class Signal2Default2 extends QMetaObject.AbstractSignal2Default2{
public Signal2Default2(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default){
this(DEFAULT_NAME, typeA, typeB, arg1Default, arg2Default);
}
public Signal2Default2(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default){
super(signalName, typeA, typeB, arg1Default, arg2Default);
}
}
/**
* Equivalent to {@link Signal3} with default value for parameter no. 3.
*
* @param The type of the first parameter of the signal.
* @param The type of the second parameter of the signal.
* @param The type of the third parameter of the signal.
*/
public static final class Signal3Default1 extends QMetaObject.AbstractSignal3Default1 {
public Signal3Default1(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Supplier arg3Default) {
super(signalName, typeA, typeB, typeC, arg3Default);
}
public Signal3Default1(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Supplier arg3Default) {
this(DEFAULT_NAME, typeA, typeB, typeC, arg3Default);
}
}
/**
* Equivalent to {@link Signal3} with default values for parameters 2 and 3.
*
* @param The type of the first parameter of the signal.
* @param The type of the second parameter of the signal.
* @param The type of the third parameter of the signal.
*/
public static final class Signal3Default2 extends QMetaObject.AbstractSignal3Default2 {
public Signal3Default2(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default){
super(signalName, typeA, typeB, typeC, arg2Default, arg3Default);
}
public Signal3Default2(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default){
this(DEFAULT_NAME, typeA, typeB, typeC, arg2Default, arg3Default);
}
}
/**
* Equivalent to {@link Signal3} with default values for parameters 1 to 3.
*
* @param The type of the first parameter of the signal.
* @param The type of the second parameter of the signal.
* @param The type of the third parameter of the signal.
*/
public static final class Signal3Default3 extends QMetaObject.AbstractSignal3Default3{
public Signal3Default3(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default){
super(signalName, typeA, typeB, typeC, arg1Default, arg2Default, arg3Default);
}
public Signal3Default3(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default){
this(DEFAULT_NAME, typeA, typeB, typeC, arg1Default, arg2Default, arg3Default);
}
}
/**
* Equivalent to {@link Signal4} with default value for parameter no. 4.
*
* @param The type of the first parameter of the signal.
* @param The type of the second parameter of the signal.
* @param The type of the third parameter of the signal.
* @param The type of the fourth parameter of the signal.
*/
public static final class Signal4Default1 extends QMetaObject.AbstractSignal4Default1{
public Signal4Default1(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Supplier arg4Default){
super(signalName, typeA, typeB, typeC, typeD, arg4Default);
}
public Signal4Default1(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Supplier arg4Default){
this(DEFAULT_NAME, typeA, typeB, typeC, typeD, arg4Default);
}
}
/**
* Equivalent to {@link Signal4} with default values for parameters 3 and 4.
*
* @param The type of the first parameter of the signal.
* @param The type of the second parameter of the signal.
* @param The type of the third parameter of the signal.
* @param The type of the fourth parameter of the signal.
*/
public static final class Signal4Default2 extends QMetaObject.AbstractSignal4Default2{
public Signal4Default2(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default){
super(signalName, typeA, typeB, typeC, typeD, arg3Default, arg4Default);
}
public Signal4Default2(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default){
this(DEFAULT_NAME, typeA, typeB, typeC, typeD, arg3Default, arg4Default);
}
}
/**
* Equivalent to {@link Signal4} with default values for parameters 2 to 4.
*
* @param The type of the first parameter of the signal.
* @param The type of the second parameter of the signal.
* @param The type of the third parameter of the signal.
* @param The type of the fourth parameter of the signal.
*/
public static final class Signal4Default3 extends QMetaObject.AbstractSignal4Default3{
public Signal4Default3(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default){
super(signalName, typeA, typeB, typeC, typeD, arg2Default, arg3Default, arg4Default);
}
public Signal4Default3(@StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD, @StrictNonNull Supplier arg2Default, @StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default){
this(DEFAULT_NAME, typeA, typeB, typeC, typeD, arg2Default, arg3Default, arg4Default);
}
}
/**
* Equivalent to {@link Signal4} with default values for parameters 1 to 4.
*
* @param The type of the first parameter of the signal.
* @param The type of the second parameter of the signal.
* @param The type of the third parameter of the signal.
* @param The type of the fourth parameter of the signal.
*/
public static final class Signal4Default4 extends QMetaObject.AbstractSignal4Default4{
public Signal4Default4(@StrictNonNull String signalName, @StrictNonNull Class typeA, @StrictNonNull Class typeB, @StrictNonNull Class typeC, @StrictNonNull Class typeD,
@StrictNonNull Supplier arg1Default, @StrictNonNull Supplier arg2Default,
@StrictNonNull Supplier arg3Default, @StrictNonNull Supplier arg4Default){
super(signalName, typeA, typeB, typeC, typeD, arg1Default, arg2Default, arg3Default, arg4Default);
}
public Signal4Default4(@StrictNonNull Class typeA, @StrictNonNull Class