slint/internal/compiler/tests/syntax/analysis/binding_loop_layout2.60
Tobias Hunger e6b24bceec [reorg]: Set up and populate the internal directory
Move "internal" crates into the `internal` directory. This first batch
includes most of sixtyfps_runtime but leaves the rendering backends
alone for now.

pre-commit applied some cleanups to the moved files:
 - Consistent newline at end of file policy
 - trimming trailing whitespace
 - Formatting Cargo.toml files.
2022-01-31 16:00:50 +01:00

49 lines
1.8 KiB
Text

// Copyright © SixtyFPS GmbH <info@sixtyfps.io>
// SPDX-License-Identifier: (GPL-3.0-only OR LicenseRef-SixtyFPS-commercial)
Wrap := Rectangle {
property woo <=> text.wrap;
VerticalLayout {
// ^error{The binding for the property 'layout-cache' is part of a binding loop}
// ^^error{The binding for the property 'height' is part of a binding loop}
HorizontalLayout {
// ^error{The binding for the property 'layout-cache' is part of a binding loop}
// ^^error{The binding for the property 'width' is part of a binding loop}
// ^^^error{The binding for the property 'layoutinfo-v' is part of a binding loop}
text := Text {
text: "Hello World";
}
square := Rectangle {
// ^error{The binding for the property 'height' is part of a binding loop}
width: height;
// ^error{The binding for the property 'width' is part of a binding loop}
background: violet;
}
}
Rectangle {}
}
property <bool> test: square.width == square.height;
}
Test := Rectangle {
property <image> source;
GridLayout {
// ^error{The binding for the property 'layout-cache-h' is part of a binding loop}
// ^^error{The binding for the property 'width' is part of a binding loop}
// ^^^error{The binding for the property 'layout-cache-v' is part of a binding loop}
// ^^^^error{The binding for the property 'height' is part of a binding loop}
Image {
source: root.source;
}
Rectangle {
width: height;
// ^error{The binding for the property 'width' is part of a binding loop}
}
}
w := Wrap { }
callback set_wrap();
set_wrap => { w.woo = TextWrap.word-wrap; }
}