slint/internal/compiler/tests/syntax/lookup/global.slint
Simon Hausmann 68083243b2
Add an in-out boolean color-scheme property to Palette (#4701)
This allows applications to force dark/light mode, as well as determine
which mode is active.
2024-03-26 15:44:22 +01:00

41 lines
1.2 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
global MyGlobal := {
property<length> custom_prop;
property<color> color_prop;
color_prop: red;
}
export SomeComp := Rectangle {
property<length> foo;
}
global my_lowercase := {
property <int> glob;
}
export X := Rectangle {
x: MyGlobal.custom_prop;
background: MyGlobal.blue;
// ^error{'MyGlobal' does not have a property 'blue'}
y: SomeComp.foo;
// ^error{Cannot access id 'SomeComp'}
my_lowercase := Rectangle {
clip: NativeStyleMetrics.color-scheme == ColorScheme.dark;
// ^error{Cannot access id 'NativeStyleMetrics'}
visible: SlintInternal.color-scheme;
// ^error{Cannot access id 'SlintInternal'}
}
property <int> my_lowercase: 45;
property<brush> xxx: my_lowercase.background;
property<int> yyy: my_lowercase.glob; // error because this is not the global, but the local element
// ^error{Element 'Rectangle' does not have a property 'glob'}
property<int> zzz: self.my_lowercase;
}