// Copyright © SixtyFPS GmbH // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 Base := Rectangle { // ^warning{':=' to declare a component is deprecated. The new syntax declare components with 'component MyComponent {'. Read the documentation for more info} callback blah; } export SubElements := Rectangle { // ^warning{':=' to declare a component is deprecated. The new syntax declare components with 'component MyComponent {'. Read the documentation for more info} callback foobar; callback foobar; // ^error{Duplicated callback declaration} callback callback_with_arg(int, string); callback invalid_arg(InvalidType); // ^error{Unknown type 'InvalidType'} TouchArea { clicked => { foobar() } } TouchArea { clicked: 45; // ^error{'clicked' is a callback. Use `=>` to connect} x => {} // ^error{'x' is not a callback in TouchArea} } TouchArea { clicked => { foobar() } clicked => { foobar() } // ^error{Duplicated callback} } does_not_exist => { // ^error{'does-not-exist' is not a callback in Rectangle} root.does_not_exist(); } foobar() => { foobar() } callback_with_arg(a, b, c, d) => { } // ^error{'callback-with-arg' only has 2 arguments, but 4 were provided} Base { callback blah; // ^error{Cannot override callback 'blah'} } property pressed; callback pressed; // ^error{Cannot declare callback 'pressed' when a property with the same name exists} callback init; // ^error{Cannot override callback 'init'} callback width; // ^error{Cannot declare callback 'width' when a property with the same name exists} }