diff options
author | Aylur <[email protected]> | 2024-09-11 22:39:15 +0000 |
---|---|---|
committer | Aylur <[email protected]> | 2024-09-11 22:39:15 +0000 |
commit | d203255ec20bb6e3b2917dd4aee53dee3a090137 (patch) | |
tree | 40d8211a238629a99d3588c0d06215d53135fc3d /core/gjs/src | |
parent | 137345755c1c02d4766f1788198096013df9080c (diff) |
add: stack widget
Diffstat (limited to 'core/gjs/src')
-rw-r--r-- | core/gjs/src/astalify.ts | 6 | ||||
-rw-r--r-- | core/gjs/src/jsx/jsx-runtime.ts | 2 | ||||
-rw-r--r-- | core/gjs/src/widgets.ts | 5 |
3 files changed, 10 insertions, 3 deletions
diff --git a/core/gjs/src/astalify.ts b/core/gjs/src/astalify.ts index be395ee..612239e 100644 --- a/core/gjs/src/astalify.ts +++ b/core/gjs/src/astalify.ts @@ -20,11 +20,15 @@ function setChildren(parent: Gtk.Widget, children: Gtk.Widget[]) { parent.remove(ch) } - // FIXME: add rest of the edge cases like Stack + // TODO: add more container types if (parent instanceof Astal.Box) { parent.set_children(children) } + else if (parent instanceof Astal.Stack) { + parent.set_children(children) + } + else if (parent instanceof Astal.CenterBox) { parent.startWidget = children[0] parent.centerWidget = children[1] diff --git a/core/gjs/src/jsx/jsx-runtime.ts b/core/gjs/src/jsx/jsx-runtime.ts index 02fd39d..73aaf63 100644 --- a/core/gjs/src/jsx/jsx-runtime.ts +++ b/core/gjs/src/jsx/jsx-runtime.ts @@ -49,7 +49,7 @@ const ctors = { revealer: Widget.Revealer, scrollable: Widget.Scrollable, slider: Widget.Slider, - // TODO: stack + stack: Widget.Stack, switch: Widget.Switch, window: Widget.Window, } diff --git a/core/gjs/src/widgets.ts b/core/gjs/src/widgets.ts index 0a71d8b..82d3b8f 100644 --- a/core/gjs/src/widgets.ts +++ b/core/gjs/src/widgets.ts @@ -100,7 +100,10 @@ export type SliderProps = ConstructProps<Astal.Slider, Astal.Slider.ConstructorP onDragged: [] }> -// TODO: Stack +// Stack +export type Stack = Widget<Astal.Stack> +export const Stack = astalify<typeof Astal.Stack, StackProps, "Stack">(Astal.Stack) +export type StackProps = ConstructProps<Astal.Stack, Astal.Stack.ConstructorProps> // Switch export type Switch = Widget<Gtk.Switch> |