mirror of
https://github.com/slint-ui/slint.git
synced 2025-10-01 14:21:16 +00:00

Always use a Pin<Rc> for the component. (This is required to support repeater within repeater as well anyway) Do not use the context within the binding. We can get along by simply capturing a weak pointer to the component
36 lines
947 B
Text
36 lines
947 B
Text
TestCase := Rectangle {
|
|
signal test_signal;
|
|
property<int32> signal_emission_count;
|
|
test_signal => { signal_emission_count += 1; }
|
|
}
|
|
/*
|
|
```cpp
|
|
TestCase instance;
|
|
instance.set_signal_emission_count(0);
|
|
assert(instance.get_signal_emission_count() == 0);
|
|
instance.emit_test_signal();
|
|
assert(instance.get_signal_emission_count() == 1);
|
|
```
|
|
|
|
|
|
```rust
|
|
let instance = TestCase::new();
|
|
let instance = instance.as_ref();
|
|
instance.set_signal_emission_count(0);
|
|
assert_eq!(instance.get_signal_emission_count(), 0);
|
|
instance.emit_test_signal();
|
|
assert_eq!(instance.get_signal_emission_count(), 1);
|
|
```
|
|
|
|
```js
|
|
var instance = new sixtyfps.TestCase({});
|
|
instance.signal_emission_count = 0;
|
|
assert.equal(instance.signal_emission_count, 0);
|
|
instance.test_signal();
|
|
assert.equal(instance.signal_emission_count, 1);
|
|
let x = instance.test_signal;
|
|
assert.equal(instance.signal_emission_count, 1);
|
|
x()
|
|
assert.equal(instance.signal_emission_count, 2);
|
|
```
|
|
*/
|