diff options
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, |