/* Ċ Ġ* ĠCopyright Ġ 2 0 2 1 ĠMar cin ĠBu k ow ie ck i . Ċ Ġ* ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ Ġ*/ Ċ Ċ package Ġcom . bu k ow ie ck i . reg debug . ui . dialog Ċ Ċ import Ġcom . bu k ow ie ck i . reg debug . backend . Debug Handler Ċ import Ġcom . bu k ow ie ck i . reg debug . bundle . Reg Debug Bundle Ċ import Ġcom . bu k ow ie ck i . reg debug . ui . Register Cell Container Ċ import Ġcom . bu k ow ie ck i . reg debug . utils . Data Keys Ċ import Ġcom . intellij . icons . All Icons Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġcom . intellij . openapi . ui . Dialog Wrapper Ċ import Ġcom . intellij . x debugger . impl . X Debugger ManagerImpl Ċ import Ġcom . jetbrains . cidr . execution . debugger . Cid r Debug Process Ċ import Ġjavax . swing . J Component Ċ Ċ /** Ċ Ġ* Ġ@ author ĠMar cin ĠBu k ow ie ck i Ċ Ġ*/ Ċ class ĠSet Register Value Dialog ( private Ġval Ġregister Cell Container : ĠRegister Cell Container , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġhandler : ĠDebug Handler , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġproject : ĠProject ) Ġ: ĠDialog Wrapper ( project ) Ġ{ ĊĊĠ Ġprivate Ġval Ġregister Name Ġ= Ġregister Cell Container . my Register Name ĊĠ Ġprivate Ġval Ġmain View Ġ= ĠSet Register Value Panel ( handler . backend Type ) ĊĊĠ Ġinit Ġ{ ĊĠĠĠ Ġset OK ButtonText ( Reg Debug Bundle . message (" reg debug . register . set ")) ĊĠĠĠ Ġtitle Ġ= ĠReg Debug Bundle . message (" reg debug . register . setValue ", Ġregister Name ) ĊĠĠĠ Ġinit () ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġdo OK Action () Ġ{ ĊĠĠĠ Ġval Ġoperator Ġ= Ġmain View . operator ComboBox . selected Item Ġas ĠString ĊĠĠĠ Ġval Ġvalue Ġ= Ġmain View . register Value TextField . text ĊĠĠĠ Ġval Ġcurrent Session Ġ= ĠX Debugger ManagerImpl . getInstance ( project ). current Session Ġ?: Ġkotlin . run Ġ{ ĊĠĠĠĠĠ Ġsuper . do OK Action () ĊĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġdebug Process Ġ= Ġcurrent Session . debug Process Ġas ? ĠC idr Debug Process Ġ?: Ġreturn ĊĠĠĠ Ġval Ġerr Ġ= Ġhandler . handle Set Command ( register Name , Ġoperator , Ġvalue ) ĊĠĠĠ Ġif Ġ( err Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠ Ġmain View . message Label . icon Ġ= ĠAll Icons . Actions . Int ention Bul b ĊĠĠĠĠĠ Ġmain View . message Label . text Ġ= Ġerr ĊĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġhex Str : ĠString ĊĠĠĠ Ġif Ġ(! value . startsWith (" 0 x ")) Ġ{ ĊĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġhex Str Ġ= Ġ" 0 x " Ġ+ ĠInteger . to HexString ( Integer . parseInt ( value )) ĊĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmain View . message Label . icon Ġ= ĠAll Icons . Actions . Int ention Bul b ĊĠĠĠĠĠĠĠ Ġmain View . message Label . text Ġ= Ġ" Unable Ġto Ġparse Ġint " ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠ Ġhex Str Ġ= Ġvalue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġregister Cell Container . my Cell . hex TextField . text Ġ= Ġregister Cell Container . presentation . getText ( hex Str ) ĊĠĠĠ Ġdebug Process . getUser Data ( Data Keys . session Tab )?. views ?. forEach Ġ{ Ġit . refresh View () Ġ} ĊĠĠĠ Ġsuper . do OK Action () ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġcreate Center Panel (): ĠJ Component Ġ{ ĊĠĠĠ Ġreturn Ġmain View . main Panel ĊĠ Ġ} Ċ } Ċ