i-slint-compiler 1.18.0

Internal Slint Compiler Library
Documentation
// Copyright © SixtyFPS GmbH <info@slint.dev>
// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0

Wrap := Rectangle {
//   ><warning{':=' to declare a component is deprecated. The new syntax declare components with 'component MyComponent {'. Read the documentation for more info}
    property woo <=> text.wrap;

    VerticalLayout {
//  >             <error{The binding for the property 'layout-cache' is part of a binding loop (square.width -> layout-cache -> text.width -> layoutinfo-v -> layout-cache -> height -> square.height -> square.width)}
//  >             <^error{The binding for the property 'height' is part of a binding loop (square.width -> layout-cache -> text.width -> layoutinfo-v -> layout-cache -> height -> square.height -> square.width)}
        HorizontalLayout {
//      >               <error{The binding for the property 'layout-cache' is part of a binding loop (square.width -> layout-cache -> text.width -> layoutinfo-v -> layout-cache -> height -> square.height -> square.width)}
//      >               <^error{The binding for the property 'width' is part of a binding loop (square.width -> layout-cache -> text.width -> layoutinfo-v -> layout-cache -> height -> square.height -> square.width)}
//      >               <^^error{The binding for the property 'layoutinfo-v' is part of a binding loop (square.width -> layout-cache -> text.width -> layoutinfo-v -> layout-cache -> height -> square.height -> square.width)}
            text := Text {
                text: "Hello World";
            }
            square := Rectangle {
//                    >        <error{The binding for the property 'height' is part of a binding loop (square.width -> layout-cache -> text.width -> layoutinfo-v -> layout-cache -> height -> square.height -> square.width)}
                width: height;
//                     >     <error{The binding for the property 'width' is part of a binding loop (square.width -> layout-cache -> text.width -> layoutinfo-v -> layout-cache -> height -> square.height -> square.width)}
                background: violet;
            }
        }
        Rectangle {}
    }
    property <bool> test: square.width == square.height;
}

export Test := Window {
//          ><warning{':=' to declare a component is deprecated. The new syntax declare components with 'component MyComponent {'. Read the documentation for more info}
//             >     <^warning{The binding for the property 'layoutinfo-v' is part of a binding loop (root.layoutinfo-h -> width -> layout-cache-h -> width -> layoutinfo-v -> root.layoutinfo-v -> height -> layout-cache-v -> height -> width -> layoutinfo-h -> root.layoutinfo-h).↵This was allowed in previous version of Slint, but is deprecated and may cause panic at runtime}
//             >     <^^warning{The binding for the property 'layoutinfo-h' is part of a binding loop (root.layoutinfo-h -> width -> layout-cache-h -> width -> layoutinfo-v -> root.layoutinfo-v -> height -> layout-cache-v -> height -> width -> layoutinfo-h -> root.layoutinfo-h).↵This was allowed in previous version of Slint, but is deprecated and may cause panic at runtime}

    property <image> source;
    GridLayout {
//  >         <warning{The binding for the property 'width' is part of a binding loop (root.layoutinfo-h -> width -> layout-cache-h -> width -> layoutinfo-v -> root.layoutinfo-v -> height -> layout-cache-v -> height -> width -> layoutinfo-h -> root.layoutinfo-h).↵This was allowed in previous version of Slint, but is deprecated and may cause panic at runtime}
//  >         <^warning{The binding for the property 'layout-cache-h' is part of a binding loop (root.layoutinfo-h -> width -> layout-cache-h -> width -> layoutinfo-v -> root.layoutinfo-v -> height -> layout-cache-v -> height -> width -> layoutinfo-h -> root.layoutinfo-h).↵This was allowed in previous version of Slint, but is deprecated and may cause panic at runtime}
//  >         <^^warning{The binding for the property 'width' is part of a binding loop (root.layoutinfo-h -> width -> layout-cache-h -> width -> layoutinfo-v -> root.layoutinfo-v -> height -> layout-cache-v -> height -> width -> layoutinfo-h -> root.layoutinfo-h).↵This was allowed in previous version of Slint, but is deprecated and may cause panic at runtime}
//  >         <^^^warning{The binding for the property 'layoutinfo-v' is part of a binding loop (root.layoutinfo-h -> width -> layout-cache-h -> width -> layoutinfo-v -> root.layoutinfo-v -> height -> layout-cache-v -> height -> width -> layoutinfo-h -> root.layoutinfo-h).↵This was allowed in previous version of Slint, but is deprecated and may cause panic at runtime}
//  >         <^^^^warning{The binding for the property 'height' is part of a binding loop (root.layoutinfo-h -> width -> layout-cache-h -> width -> layoutinfo-v -> root.layoutinfo-v -> height -> layout-cache-v -> height -> width -> layoutinfo-h -> root.layoutinfo-h).↵This was allowed in previous version of Slint, but is deprecated and may cause panic at runtime}
//  >         <^^^^^warning{The binding for the property 'layout-cache-v' is part of a binding loop (root.layoutinfo-h -> width -> layout-cache-h -> width -> layoutinfo-v -> root.layoutinfo-v -> height -> layout-cache-v -> height -> width -> layoutinfo-h -> root.layoutinfo-h).↵This was allowed in previous version of Slint, but is deprecated and may cause panic at runtime}
//  >         <^^^^^^warning{The binding for the property 'height' is part of a binding loop (root.layoutinfo-h -> width -> layout-cache-h -> width -> layoutinfo-v -> root.layoutinfo-v -> height -> layout-cache-v -> height -> width -> layoutinfo-h -> root.layoutinfo-h).↵This was allowed in previous version of Slint, but is deprecated and may cause panic at runtime}
//  >         <^^^^^^^warning{The binding for the property 'layoutinfo-h' is part of a binding loop (root.layoutinfo-h -> width -> layout-cache-h -> width -> layoutinfo-v -> root.layoutinfo-v -> height -> layout-cache-v -> height -> width -> layoutinfo-h -> root.layoutinfo-h).↵This was allowed in previous version of Slint, but is deprecated and may cause panic at runtime}


        Image {
            source: root.source;
        }
        Rectangle {
            width: height;
//                 >     <warning{The binding for the property 'width' is part of a binding loop (root.layoutinfo-h -> width -> layout-cache-h -> width -> layoutinfo-v -> root.layoutinfo-v -> height -> layout-cache-v -> height -> width -> layoutinfo-h -> root.layoutinfo-h).↵This was allowed in previous version of Slint, but is deprecated and may cause panic at runtime}
        }
    }

    w := Wrap { }
    callback set_wrap();
    set_wrap => { w.woo = TextWrap.word-wrap; }

}