Files
inkopslista/gui/ui/state.slint
T

47 lines
1.1 KiB
Plaintext

export struct SItem {
name: string,
checked: bool,
amount: int,
/// Whether the item was just added by the user.
/// Determines whether the add-animation plays.
just_added: bool,
}
export struct SButtonItem{
name: string,
category: string,
}
export enum ConnectionStatus {
Idle,
Syncing,
Error,
}
export global State {
in-out property <[SItem]> list: [
{ name: "Test 1", checked: true },
{ name: "Test 2", checked: false },
{ name: "Test 3", checked: false },
];
callback refresh-list();
callback add-to-list(string);
callback check-item(string);
callback delete-checked();
callback inc-amount(string);
callback dec-amount(string);
callback set-cat(string, string);
in-out property <string> server-address;
in property <[SButtonItem]> favorites: [
{ name: "mjölk", category: "kyl" },
{ name: "ost", category: "kyl" },
];
callback set-server-address(string);
set-server-address(address) => {
server-address = address;
}
in-out property <ConnectionStatus> connection-status: ConnectionStatus.Syncing;
}