/* Ċ Ġ* ĠCopyright Ġ 2 0 0 0 - 2 0 1 7 ĠJetBrains Ġs . r . o . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġcom . intellij . test Gui Framework . recorder . components Ċ Ċ import Ġcom . intellij . openapi . Disposable Ċ import Ġcom . intellij . openapi . components . Application Component Ċ import Ġcom . intellij . test Gui Framework . recorder . ui . Gui Script Editor Frame Ċ import Ġjava . util . concurrent . Future Ċ Ċ /** Ċ Ġ* Ġ@ author ĠSer ge y ĠKar as he v ich Ċ Ġ*/ Ċ object ĠGui Recorder Component Ġ: ĠApplication Component , ĠDis posable Ġ{ ĊĊĠ Ġenum Ġclass ĠStates Ġ{ IDLE , ĠCOMPI LING , ĠCOMPI L ATION _ ERROR , ĠCOMPI L ATION _ DONE , ĠRUN NING , ĠRUN NING _ ERROR , ĠTEST _ INIT Ġ} ĊĊĠ Ġvar Ġmy State : ĠStates Ġ= ĠStates . IDLE ; ĊĊĠ Ġoverride Ġfun Ġdispose () Ġ{ ĊĠ Ġ} ĊĊĠ Ġprivate Ġvar Ġmy Frame : ĠGui Script Editor Frame ? Ġ= Ġnull ĊĊĠ Ġprivate Ġvar Ġcurrent Task : ĠFuture < *> ? Ġ= Ġnull ĊĊĠ Ġoverride Ġfun Ġget Component Name () Ġ= Ġ" Gui Recorder Component " ĊĊĠ Ġfun ĠsetCurrent Task ( task : ĠFuture <* >) Ġ{ Ġcurrent Task Ġ= Ġtask Ġ} ĊĊĠ Ġfun Ġcancel Current Task () Ġ{ ĊĠĠĠ Ġif Ġ( current Task Ġ!= Ġnull Ġ&& Ġ! current Task !!. is Done ) Ġcurrent Task !!. cancel ( true ) ĊĠ Ġ} ĊĊĠ Ġfun ĠgetState () Ġ= Ġmy State ĊĊĠ Ġfun ĠsetState ( ya State : ĠStates ) Ġ{ ĊĠĠĠ Ġmy State Ġ= Ġya State ĊĠ Ġ} ĊĊĠ Ġfun Ġget Frame () Ġ= Ġmy Frame ĊĊĠ Ġfun Ġget Editor () Ġ= Ġmy Frame !!. get Gui Script Editor Panel (). editor ĊĊĠ Ġfun Ġregister Frame ( frame : ĠGui Script Editor Frame ) Ġ{ ĊĠĠĠ Ġmy Frame Ġ= Ġframe ĊĠ Ġ} ĊĊĠ Ġfun Ġunregister Frame () Ġ{ ĊĠĠĠ Ġif Ġ( my Frame Ġ!= Ġnull ) ĊĠĠĠĠĠ Ġmy Frame !!. dispose () ĊĠ Ġ} ĊĊĠ Ġfun Ġdispose Frame () Ġ{ ĊĠĠĠ Ġmy Frame Ġ= Ġnull ĊĠ Ġ} Ċ Ċ }