1// Copyright © SixtyFPS GmbH <info@slint.dev>
2// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0
3
4
5
6enum PaletteLevel { l1, l2, l3 }
7
8component Palette {
9 in property <PaletteLevel> palette-level;
10 in property <PaletteLevel> palette-level2;
11 out property <int> result : palette-level == PaletteLevel.l1 ? 45
12 : palette-level == PaletteLevel.l2 ? 89
13 : 32;
14 out property <int> result2 : palette-level2 == PaletteLevel.l1 ? 12
15 : palette-level2 == PaletteLevel.l2 ? 13
16 : 14;
17}
18
19
20export component TestCase inherits Window {
21 preferred-height: 300px;
22 preferred-width: 300px;
23 palette := Palette { palette-level: PaletteLevel.l2; palette-level2: PaletteLevel.l2; }
24
25 t := Text {
26 text: palette.result;
27 font-size: palette.result2 * 1px;
28 }
29 TouchArea {
30 clicked => {
31 result = t.text;
32 }
33 }
34 out property <string> result;
35}
36
37
38/*
39```rust
40let instance = TestCase::new().unwrap();
41slint_testing::send_mouse_click(&instance, 101., 101.);
42assert_eq!(instance.get_result(), "89");
43```
44*/
45