mirror of
https://github.com/slint-ui/slint.git
synced 2025-09-27 12:29:41 +00:00

This improve the code coverage of syntax_text, so some adjustment had to be made. This may add more error in the main file, but this make it the same behavior as for imported files and lsp who were already running these passes all the time
139 lines
4.3 KiB
Text
139 lines
4.3 KiB
Text
// Copyright © SixtyFPS GmbH <info@slint.dev>
|
|
// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-1.1 OR LicenseRef-Slint-commercial
|
|
|
|
export TestCase := Rectangle {
|
|
property<bool> checked;
|
|
property <int> border;
|
|
states [
|
|
checked when checked: {
|
|
color: blue; // same as root.color
|
|
text.color: red;
|
|
border: 42;
|
|
}
|
|
pressed when touch.pressed: {
|
|
color: green;
|
|
border: 88;
|
|
text.foo.bar: 0;
|
|
/// ^error{'text.foo.bar' is not a valid property}
|
|
colour: yellow;
|
|
/// ^error{'colour' is not a valid property}
|
|
/// ^^error{Unknown unqualified identifier 'yellow'}
|
|
fox.color: yellow;
|
|
/// ^error{'fox' is not a valid element id}
|
|
text.fox: yellow;
|
|
/// ^error{'fox' not found in 'text'}
|
|
/// ^^error{Unknown unqualified identifier 'yellow'}
|
|
}
|
|
]
|
|
|
|
transitions [
|
|
in pressed: {
|
|
animate * { duration: 88ms; }
|
|
animate color { duration: 88ms; }
|
|
}
|
|
out pressed: {
|
|
animate color, foo.x { duration: 300ms; }
|
|
/// ^error{'foo' is not a valid element id}
|
|
//pause: 20ms;
|
|
animate border { duration: 120ms; }
|
|
animate color, text.text { duration: 300ms; }
|
|
/// ^error{'text.text' is not a property that can be animated}
|
|
|
|
}
|
|
]
|
|
|
|
text := Text {}
|
|
touch := TouchArea {}
|
|
|
|
}
|
|
|
|
|
|
export component NewSyntax {
|
|
property<bool> checked;
|
|
property <int> border;
|
|
property <color> color;
|
|
states [
|
|
checked when checked: {
|
|
color: blue; // same as root.color
|
|
text.color: red;
|
|
border: 42;
|
|
}
|
|
pressed when touch.pressed: {
|
|
color: green;
|
|
border: 88;
|
|
text.foo.bar: 0;
|
|
/// ^error{'text.foo.bar' is not a valid property}
|
|
colour: yellow;
|
|
/// ^error{'colour' is not a valid property}
|
|
/// ^^error{Unknown unqualified identifier 'yellow'}
|
|
fox.color: yellow;
|
|
/// ^error{'fox' is not a valid element id}
|
|
text.fox: yellow;
|
|
/// ^error{'fox' not found in 'text'}
|
|
/// ^^error{Unknown unqualified identifier 'yellow'}
|
|
|
|
in {
|
|
animate * { duration: 88ms; }
|
|
animate color { duration: 88ms; }
|
|
}
|
|
out {
|
|
animate color, foo.x { duration: 300ms; }
|
|
/// ^error{'foo' is not a valid element id}
|
|
animate border { duration: 120ms; }
|
|
animate color, text.text { duration: 300ms; }
|
|
/// ^error{'text.text' is not a property that can be animated}
|
|
}
|
|
}
|
|
]
|
|
|
|
text := Text {}
|
|
touch := TouchArea {}
|
|
|
|
}
|
|
|
|
export component OldInNewSyntax {
|
|
property<bool> checked;
|
|
property <int> border;
|
|
property <color> color;
|
|
states [
|
|
checked when checked: {
|
|
color: blue; // same as root.color
|
|
text.color: red;
|
|
border: 42;
|
|
}
|
|
pressed when touch.pressed: {
|
|
color: green;
|
|
border: 88;
|
|
text.foo.bar: 0;
|
|
/// ^error{'text.foo.bar' is not a valid property}
|
|
colour: yellow;
|
|
/// ^error{'colour' is not a valid property}
|
|
/// ^^error{Unknown unqualified identifier 'yellow'}
|
|
fox.color: yellow;
|
|
/// ^error{'fox' is not a valid element id}
|
|
text.fox: yellow;
|
|
/// ^error{'fox' not found in 'text'}
|
|
/// ^^error{Unknown unqualified identifier 'yellow'}
|
|
}
|
|
]
|
|
|
|
transitions [
|
|
/// ^error{'transitions' block are no longer supported. Use 'in \{...\}' and 'out \{...\}' directly in the state definition}
|
|
in pressed: {
|
|
animate * { duration: 88ms; }
|
|
animate color { duration: 88ms; }
|
|
}
|
|
out pressed: {
|
|
animate color, foo.x { duration: 300ms; }
|
|
/// ^error{'foo' is not a valid element id}
|
|
animate border { duration: 120ms; }
|
|
animate color, text.text { duration: 300ms; }
|
|
/// ^error{'text.text' is not a property that can be animated}
|
|
|
|
}
|
|
]
|
|
|
|
text := Text {}
|
|
touch := TouchArea {}
|
|
|
|
}
|