slint/tests/cases/signal_handler.60
Olivier Goffart ab7ae9f3e2 Some refactoring of the rust generated code
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
2020-07-13 16:37:54 +02:00

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);
```
*/