slint/sixtyfps_compiler/tests/syntax/basic/signal.60
2020-09-07 18:49:38 +02:00

46 lines
1.2 KiB
Text

/* LICENSE BEGIN
This file is part of the SixtyFPS Project -- https://sixtyfps.io
Copyright (c) 2020 Olivier Goffart <olivier.goffart@sixtyfps.io>
Copyright (c) 2020 Simon Hausmann <simon.hausmann@sixtyfps.io>
SPDX-License-Identifier: GPL-3.0-only
This file is also available under commercial licensing terms.
Please contact info@sixtyfps.io for more information.
LICENSE END */
SubElements := Rectangle {
signal foobar;
signal signal_with_arg(int, string);
signal invalid_arg(InvalidType);
// ^error{Unknown type 'InvalidType'}
TouchArea {
clicked => { foobar() }
}
TouchArea {
clicked: 45;
// ^error{'clicked' is a signal. Use `=>` to connect}
x => {}
// ^error{'x' is not a signal in TouchArea}
}
TouchArea {
clicked => { foobar() }
clicked => { foobar() }
// ^error{Duplicated signal}
}
does_not_exist => {
// ^error{'does_not_exist' is not a signal in Rectangle}
root.does_not_exist();
}
foobar() => { foobar() }
signal_with_arg(a, b, c, d) => { }
// ^error{'signal_with_arg' only has 2 arguments, but 4 were provided}
}