diff options
Diffstat (limited to 'examples/gtk4/simple-bar/js/src/ts/props.ts')
-rw-r--r-- | examples/gtk4/simple-bar/js/src/ts/props.ts | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/examples/gtk4/simple-bar/js/src/ts/props.ts b/examples/gtk4/simple-bar/js/src/ts/props.ts new file mode 100644 index 0000000..dfa79ee --- /dev/null +++ b/examples/gtk4/simple-bar/js/src/ts/props.ts @@ -0,0 +1,45 @@ +import GObject from "gi://GObject?version=2.0" + +export function string(name: string, defaultValue = "") { + return { + [name]: GObject.ParamSpec.string( + name, + null, + null, + GObject.ParamFlags.READWRITE, + defaultValue, + ), + } +} + +export function number( + name: string, + min = -Number.MIN_SAFE_INTEGER, + max = Number.MAX_SAFE_INTEGER, + defaultValue = 0, +) { + return { + [name]: GObject.ParamSpec.double( + name, + null, + null, + GObject.ParamFlags.READWRITE, + min, + max, + defaultValue, + ), + } +} + +export function boolean(name: string, defaultValue = false) { + return { + [name]: GObject.ParamSpec.boolean( + name, + null, + null, + GObject.ParamFlags.READWRITE, + defaultValue, + ), + } +} + |