diff options
author | Aylur <[email protected]> | 2024-10-09 21:02:24 +0200 |
---|---|---|
committer | Aylur <[email protected]> | 2024-10-09 21:02:24 +0200 |
commit | 0def6d7e9fd8b66220171ee228f0e845ed6edb57 (patch) | |
tree | 0a57f651c45ef0a6d407b2815806ba413c448b01 /core/gjs/src/gobject.ts | |
parent | eb41193d47d2c54168f6e0a7732a6307e7486338 (diff) |
core(gjs, lua): widget constructor set props before children
Diffstat (limited to 'core/gjs/src/gobject.ts')
-rw-r--r-- | core/gjs/src/gobject.ts | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/core/gjs/src/gobject.ts b/core/gjs/src/gobject.ts index 0b3551d..2658555 100644 --- a/core/gjs/src/gobject.ts +++ b/core/gjs/src/gobject.ts @@ -67,6 +67,18 @@ export function property(declaration: PropertyDeclaration = Object) { }, }) + Object.defineProperty(target, `set_${name.replace("-", "_")}`, { + value: function (v: any) { + this[prop] = v + } + }) + + Object.defineProperty(target, `get_${name.replace("-", "_")}`, { + value: function () { + return this[prop] + } + }) + target.constructor[meta].Properties[kebabify(prop)] = pspec(name, ParamFlags.READWRITE, declaration) } @@ -81,10 +93,10 @@ export function property(declaration: PropertyDeclaration = Object) { } export function signal(...params: Array<{ $gtype: GObject.GType } | typeof Object>): -(target: any, signal: any, desc?: PropertyDescriptor) => void + (target: any, signal: any, desc?: PropertyDescriptor) => void export function signal(declaration?: SignalDeclaration): -(target: any, signal: any, desc?: PropertyDescriptor) => void + (target: any, signal: any, desc?: PropertyDescriptor) => void export function signal( declaration?: SignalDeclaration | { $gtype: GObject.GType } | typeof Object, |