mirror of
https://github.com/slint-ui/slint.git
synced 2025-10-01 14:21:16 +00:00
Node: Add setHandler features on signals
This commit is contained in:
parent
c50b9d73d3
commit
ac6d4007ab
4 changed files with 73 additions and 23 deletions
|
@ -49,6 +49,14 @@ class Component {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @hidden
|
||||
*/
|
||||
interface Signal {
|
||||
(): any;
|
||||
setHandler(cb: any): void;
|
||||
}
|
||||
|
||||
require.extensions['.60'] =
|
||||
function (module, filename) {
|
||||
var c = native.load(filename);
|
||||
|
@ -64,7 +72,11 @@ require.extensions['.60'] =
|
|||
});
|
||||
c.signals().forEach((x: string) => {
|
||||
Object.defineProperty(ret, x, {
|
||||
get() { return function () { comp.emit_signal(x, [...arguments]); } },
|
||||
get() {
|
||||
let signal = function () { comp.emit_signal(x, [...arguments]); } as Signal;
|
||||
signal.setHandler = function (callback) { comp.connect_signal(x, callback) };
|
||||
return signal;
|
||||
},
|
||||
enumerable: true,
|
||||
})
|
||||
});
|
||||
|
@ -187,8 +199,8 @@ class ArrayModel<T> implements Model<T> {
|
|||
* the model, starting at the specified index. This is equivalent to calling
|
||||
* Array.slice() on the array and notifying the run-time about the removed
|
||||
* rows.
|
||||
* @param index
|
||||
* @param size
|
||||
* @param index
|
||||
* @param size
|
||||
*/
|
||||
remove(index: number, size: number) {
|
||||
let r = this.a.splice(index, size);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue