parent
8bd0b732e7
commit
557e4c7a52
32 changed files with 281 additions and 12 deletions
modules/ags/gtk4/widgets/subclasses
23
modules/ags/gtk4/widgets/subclasses/button.ts
Normal file
23
modules/ags/gtk4/widgets/subclasses/button.ts
Normal file
|
@ -0,0 +1,23 @@
|
|||
import { register } from 'astal';
|
||||
import { Gtk } from 'astal/gtk4';
|
||||
|
||||
import astalify, { type AstalifyProps, type ConstructProps } from '../astalify';
|
||||
|
||||
|
||||
type ButtonSignals = Record<`on${string}`, unknown[]> & {
|
||||
onClicked: []
|
||||
};
|
||||
export type ButtonProps = ConstructProps<
|
||||
ButtonClass,
|
||||
Gtk.Button.ConstructorProps & AstalifyProps,
|
||||
ButtonSignals
|
||||
>;
|
||||
|
||||
@register({ GTypeName: 'Button' })
|
||||
export class ButtonClass extends astalify(Gtk.Button) {
|
||||
constructor({ cssName = 'button', ...props }: ButtonProps = {}) {
|
||||
super({ cssName, ...props });
|
||||
}
|
||||
}
|
||||
|
||||
export const Button = (props?: ButtonProps) => new ButtonClass(props);
|
Loading…
Add table
Add a link
Reference in a new issue