import { Date, Time } from "std-widgets.slint"; import { CalendarDay } from "../components/Calendar.slint"; export struct Source { id: int, name: string, selected: bool, path: string } export struct TaskData { sourceId: int, eventId: int, id: int, title: string, date: Date, checked: bool, } export struct Event { sourceId: int, id: int, title: string, startsAt: Time, endsAt: Time, tasks: [TaskData], } export struct Day { sourceId: int, id: int, date: Date, events: [Event], tasks: [TaskData], isLate: bool, isToday: bool, relativeDaysDiff: int } export global AppModels { in-out property<[Source]> sources-selected; in-out property default-source-index; in-out property<[string]> sources; in-out property no-source-selected; in-out property<[Day]> days; in-out property<[CalendarDay]> calendar; in-out property<[TaskData]> unscheduled-tasks; callback get-source-id-from-name(string) -> int; pure callback get-source-name-from-id(int) -> string; pure callback get-source-path-from-id(int) -> string; }