slint/tests/cases/layout/issue_149_nested_for.60
2021-08-17 22:38:16 +02:00

79 lines
2.3 KiB
Text

/* LICENSE BEGIN
This file is part of the SixtyFPS Project -- https://sixtyfps.io
Copyright (c) 2021 Olivier Goffart <olivier.goffart@sixtyfps.io>
Copyright (c) 2021 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 */
TestCase := Window {
width: 300phx;
height: 300phx;
property<[int]> xs: [1, 2, 3];
property<[int]> ys: [10, 20, 30];
VerticalLayout {
padding: 0px;
spacing: 0px;
for x_[i] in xs: HorizontalLayout {
padding: 0px;
spacing: 0px;
for y_[j] in ys: Rectangle {
TouchArea {
clicked => {
last_clicked = x_ + y_;
}
}
Text { text: (x_ + y_); }
}
}
}
property<int> last_clicked;
}
/*
```cpp
auto handle = TestCase::create();
const TestCase &instance = *handle;
sixtyfps::testing::send_mouse_click(&instance, 5., 95.);
assert_eq(instance.get_last_clicked(), 11);
sixtyfps::testing::send_mouse_click(&instance, 105., 205.);
assert_eq(instance.get_last_clicked(), 23);
sixtyfps::testing::send_mouse_click(&instance, 95., 195.);
assert_eq(instance.get_last_clicked(), 12);
sixtyfps::testing::send_mouse_click(&instance, 295., 56.);
assert_eq(instance.get_last_clicked(), 31);
```
```rust
let instance = TestCase::new();
sixtyfps::testing::send_mouse_click(&instance, 5., 95.);
assert_eq!(instance.get_last_clicked(), 11);
sixtyfps::testing::send_mouse_click(&instance, 105., 205.);
assert_eq!(instance.get_last_clicked(), 23);
sixtyfps::testing::send_mouse_click(&instance, 95., 195.);
assert_eq!(instance.get_last_clicked(), 12);
sixtyfps::testing::send_mouse_click(&instance, 295., 56.);
assert_eq!(instance.get_last_clicked(), 31);
```
```js
var instance = new sixtyfps.TestCase();
instance.send_mouse_click(5., 95.);
assert.equal(instance.last_clicked, 11);
instance.send_mouse_click(105., 205.);
assert.equal(instance.last_clicked, 23);
instance.send_mouse_click(95., 195.);
assert.equal(instance.last_clicked, 12);
instance.send_mouse_click(295., 56.);
assert.equal(instance.last_clicked, 31);
```
*/