summaryrefslogtreecommitdiff
path: root/core/gjs/src/gobject.ts
diff options
context:
space:
mode:
authorAylur <[email protected]>2024-10-09 21:02:24 +0200
committerAylur <[email protected]>2024-10-09 21:02:24 +0200
commit0def6d7e9fd8b66220171ee228f0e845ed6edb57 (patch)
tree0a57f651c45ef0a6d407b2815806ba413c448b01 /core/gjs/src/gobject.ts
parenteb41193d47d2c54168f6e0a7732a6307e7486338 (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.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,