summaryrefslogtreecommitdiff
path: root/core/gjs/src/gobject.ts
diff options
context:
space:
mode:
Diffstat (limited to 'core/gjs/src/gobject.ts')
-rw-r--r--core/gjs/src/gobject.ts16
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,