import { TabWidget } from "std-widgets.slint"; import { RecordWidget } from "record.slint"; import { ReviewWidget } from "review.slint"; import { TimelineEvent } from "timeline.slint"; export component AppWindow inherits Window { callback start-new-event <=> record.start-new-event; callback stop-event <=> record.stop-event; callback chain-event <=> record.chain-event; callback update-record-offset(int); callback save-log; callback fetch-log <=> review.fetch-log; callback update-visible-time(bool, string); update-record-offset(new-offset) => { record.offset = new-offset; } in-out property record-events <=> record.events; in-out property record-offset <=> record.offset; in-out property record-visible-time <=> record.visible-time; in-out property in-progress <=> record.in-progress; in-out property review-events <=> review.events; in-out property review-offset <=> review.offset; in-out property review-visible-time <=> review.visible-time; property<[string]> combo-spans: ["1 Hour", "4 Hours", "8 Hours", "24 Hours"]; title: "Aliveline"; TabWidget { Tab { title: "Record"; record := RecordWidget { combo-spans: combo-spans; update-visible-time(time) => { root.update-visible-time(true, time); } } } Tab { title: "Review"; review := ReviewWidget { combo-spans: combo-spans; update-visible-time(time) => { root.update-visible-time(false, time) } } } } }