package Ġcom . jetbrains . ty po fix er . settings Ċ Ċ import Ġcom . intellij . openapi . application . Application Manager Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġjavax . swing . J Formatted TextField Ċ import Ġjavax . swing . JLabel Ċ import Ġjavax . swing . JPanel Ċ import Ġjavax . swing . JTextField Ċ Ċ class ĠTy po Fixer Settings Panel Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġmain Panel : ĠJPanel ĊĠĠĠ Ġ// Ġtodo : Ġhardcoded Ġlabels Ġ( ok ? Ġlocalization ?) ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġmax Resolve Delay Field : ĠJ Formatted TextField ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġmax Freeze Time Field : ĠJ Formatted TextField ĊĊĠĠĠ Ġprivate Ġfun ĠJTextField . getText Value () Ġ= Ġtext . to Long () ĊĠĠĠ Ġprivate Ġfun ĠJTextField . setText Value ( value : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtext Ġ= Ġvalue . toString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġdeleg ates ? ĊĠĠĠ Ġprivate Ġvar Ġmax Resolve Delay ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġmax Resolve Delay Field . getText Value () ĊĠĠĠĠĠĠĠ Ġset ( v ) Ġ= Ġmax Resolve Delay Field . setText Value ( v ) ĊĊĠĠĠ Ġprivate Ġvar Ġmax Freeze Time ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġmax Freeze Time Field . getText Value () ĊĠĠĠĠĠĠĠ Ġset ( v ) Ġ= Ġmax Freeze Time Field . setText Value ( v ) ĊĊĠĠĠ Ġprivate Ġval Ġsettings Ġget () Ġ= ĠTy po Fixer Settings . getInstance () ĊĊĠĠĠ Ġ// Ġtodo : Ġresolve Ġfor ĠJTextField Ġroll s Ġback ĊĠĠĠ Ġprivate Ġfun Ġupdate Statistic Field ( field : ĠJTextField , Ġstat : ĠInt , Ġinternal Only : ĠBoolean Ġ= Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( internal Only Ġ&& Ġ! Application Manager . getApplication (). is Internal ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield . isVisible Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield . text Ġ= Ġstat . toString () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupdate Text Visibility ( field : ĠJLabel ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! Application Manager . getApplication (). is Internal ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield . isVisible Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġapply () Ġ{ ĊĠĠĠĠĠĠĠ Ġsettings . max Millis For Resolve Ġ= Ġmax Resolve Delay ĊĠĠĠĠĠĠĠ Ġsettings . max Millis For Find Ġ= Ġmax Freeze Time ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġis Modified () Ġ= Ġmax Resolve Delay Ġ!= Ġsettings . max Millis For Resolve Ġ|| Ġmax Freeze Time Ġ!= Ġsettings . max Millis For Find ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtimes Resolver Created Field : ĠJTextField ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtimes Find OutOf Time Field : ĠJTextField ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtimes Resolve OutOf Time Field : ĠJTextField ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġsuccessful Res olves Field : ĠJTextField ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtimes Resolver Created Text : ĠJLabel ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtimes Find OutOf Time Text : ĠJLabel ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtimes Resolve OutOf Time Text : ĠJLabel ĊĊĠĠĠ Ġprivate Ġval Ġinternal Fields Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtimes Resolver Created Field Ġto ĠTy po Fixer Statistics :: times Resolver Created , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtimes Find OutOf Time Field Ġto ĠTy po Fixer Statistics :: times Find Abort ed Because Of Time Limits , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtimes Resolve OutOf Time Field Ġto ĠTy po Fixer Statistics :: times Resolve Abort ed Because Of Time Limits ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġval Ġinternal Text Fields Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtimes Resolver Created Text , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtimes Find OutOf Time Text , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtimes Resolve OutOf Time Text ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġfun Ġrefresh () Ġ{ ĊĠĠĠĠĠĠĠ Ġmax Resolve Delay Ġ= Ġsettings . max Millis For Resolve ĊĠĠĠĠĠĠĠ Ġmax Freeze Time Ġ= Ġsettings . max Millis For Find ĊĊĠĠĠĠĠĠĠ Ġinternal Fields . forEach Ġ{ Ġupdate Statistic Field ( it . key , Ġit . value . get ()) Ġ} ĊĠĠĠĠĠĠĠ Ġinternal Text Fields . forEach Ġ{ Ġupdate Text Visibility ( it ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġupdate Statistic Field ( successful Res olves Field , ĠTy po Fixer Statistics . times Word Re placed , Ġfalse ) ĊĠĠĠ Ġ} Ċ } Ċ