package Ġcom . ti qu ion op hist . ui Ċ Ċ import Ġandroidx . compose . foundation . Image Ċ import Ġandroidx . compose . foundation . layout . Arrange ment Ċ import Ġandroidx . compose . foundation . layout . Row Ċ import Ġandroidx . compose . foundation . layout . Spacer Ċ import Ġandroidx . compose . foundation . layout . fill Max Width Ċ import Ġandroidx . compose . foundation . layout . padding Ċ import Ġandroidx . compose . foundation . layout . width Ċ import Ġandroidx . compose . material . Button Ċ import Ġandroidx . compose . material . Button Defaults Ċ import Ġandroidx . compose . material . Material Theme Ċ import Ġandroidx . compose . material . Surface Ċ import Ġandroidx . compose . material . Text Ċ import Ġandroidx . compose . material . icons . Icons Ċ import Ġandroidx . compose . material . icons . filled . Refresh Ċ import Ġandroidx . compose . material . icons . filled . Share Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . getValue Ċ import Ġandroidx . compose . runtime . mutable State Of Ċ import Ġandroidx . compose . runtime . remember Ċ import Ġandroidx . compose . runtime . setValue Ċ import Ġandroidx . compose . ui . Alignment Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . graphics . Rectangle Shape Ċ import Ġandroidx . compose . ui . res . p ainter Resource Ċ import Ġandroidx . compose . ui . text . style . Text Align Ċ import Ġandroidx . compose . ui . unit . Dp Ċ import Ġandroidx . compose . ui . window . Window Ċ import Ġandroidx . compose . ui . window . Window Position Ċ import Ġandroidx . compose . ui . window . remember Window State Ċ import Ġcom . ti qu ion op hist . ui . common . Matching Width Column Ċ import Ġcom . ti qu ion op hist . ui . common . top Border Ċ Ċ /** Ċ Ġ* ĠWrap s Ġglobal Ġhandling Ġof Ġthe Ġcomputed Ġschedule Ġdialog Ġwindows . Ċ Ġ*/ Ċ object ĠSchedule Window Handler Ġ{ ĊĠĠĠ Ġ@ Composable ĊĠĠĠ Ġfun Ġcontent () Ġ{ ĊĠĠĠĠĠĠĠ ĠGlobal State . computed Schedules . forEach Ġ{ Ġcomputed Schedule Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSchedule Window ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomputed Schedule Ġ= Ġcomputed Schedule , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClose Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGlobal State . computed Schedules Ġ= ĠGlobal State . computed Schedules ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . index Ġ!= Ġcomputed Schedule . index Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠA Ġpop - up Ġwindow Ġwhich Ġdisplays Ġa Ġ[ computed Schedule ]. Ċ Ġ*/ Ċ @ Composable Ċ fun ĠSchedule Window ( ĊĠĠĠ Ġcomputed Schedule : ĠComp uted Schedule , ĊĠĠĠ ĠonClose : Ġ() Ġ-> ĠUnit Ċ ) Ġ{ ĊĠĠĠ ĠWindow ( ĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" Schedule Ġ${ computed Schedule . index Ġ+ Ġ 1 }", ĊĠĠĠĠĠĠĠ Ġicon Ġ= Ġpainter Resource (" app _ icon . png "), ĊĠĠĠĠĠĠĠ ĠonClose Request Ġ= ĠonClose , ĊĠĠĠĠĠĠĠ Ġres izable Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġstate Ġ= Ġremember Window State ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwidth Ġ= ĠD p . Unspecified , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġheight Ġ= ĠD p . Unspecified , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġposition Ġ= ĠWindow Position . Aligned ( Alignment . Center ), ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠSurface Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMatch ing Width Column Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġselected Class Index State Ġ= Ġremember Ġ{ Ġmutable State Of ( 0 ) Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRow Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrepeat ( computed Schedule . configuration . classes ) Ġ{ Ġclass Index Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġselected Ġ= Ġselected Class Index State . value Ġ== Ġclass Index ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠButton ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . fill Max Width (). weight ( 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ Ġselected Class Index State . value Ġ= Ġclass Index Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshape Ġ= ĠRectangle Shape , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolors Ġ= ĠButton Defaults . button Colors ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠbackgroundColor Ġ= Ġif Ġ( selected ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMaterial Theme . colors . primary ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMaterial Theme . colors . background ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ" Class Ġ${ class Index Ġ+ Ġ 1 }", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextAlign Ġ= ĠText Align . Center ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSchedule Table ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfiguration Ġ= Ġcomputed Schedule . configuration , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġschedule Ġ= Ġcomputed Schedule . schedule , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass Index Ġ= Ġselected Class Index State . value , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRow ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . top Border (). padding ( Dim ens . SPACING _ 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhorizontal Arrange ment Ġ= ĠArrange ment . spaced By ( Dim ens . SPACING _ 2 , ĠAlignment . End ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRun Schedule Button ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscheduler Settings Ġ= Ġcomputed Schedule . scheduler Settings , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfiguration Ġ= Ġcomputed Schedule . configuration , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrun Text Ġ= Ġ" Re generate ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrun Image Vector Ġ= ĠIcons . Default . Refresh , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġexporting Ġby Ġremember Ġ{ Ġmutable State Of ( false ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠButton ( onClick Ġ= Ġ{ Ġexporting Ġ= Ġtrue Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠImage ( image Vector Ġ= ĠIcons . Default . Share , Ġcontent Description Ġ= Ġnull ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSp acer ( Modifier . width ( Dim ens . SPACING _ 2 )) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText (" Export Ġto Ġgame Ġsave ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( export ing ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSchedule Export Dialog ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomputed Schedule Ġ= Ġcomputed Schedule , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClose Ġ= Ġ{ Ġexporting Ġ= Ġfalse Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ