aliveline/ui/app-window.slint

54 lines
1.7 KiB
Text

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 new-day-started <=> record.new-day-started;
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)
}
}
}
}
}