/* Ċ Ġ* Ġ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 . w ee vil . ui Ċ Ċ import Ġcom . bu k ow ie ck i . w ee vil . search . impl . Search Input Component Ċ import Ġcom . intellij . debugger . engine . Debug Process Impl Ċ import Ġcom . intellij . debugger . engine . events . Debugger Command Impl Ċ import Ġcom . intellij . openapi . diagnostic . Logger Ċ import Ġcom . intellij . openapi . project . Project Ċ Ċ /** Ċ Ġ* Ġ@ author ĠMar cin ĠBu k ow ie ck i Ċ Ġ*/ Ċ class ĠSearch Controller ( val Ġsearch Dialog : ĠSearch Dialog , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdebug Process : ĠDebug Process Impl , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproject : ĠProject ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġlog Ġ= ĠLogger . getInstance ( Search Controller :: class . java ) ĊĊĠĠĠ Ġfun Ġsearch ( search Input Component : ĠSearch Input Component ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġsearch Input Component . provide Code () ĊĠĠĠĠĠĠĠ Ġif Ġ( code . expression . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . info (" Searching Ġcode Ġis Ġempty ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġlog . info (" Starting Ġsearch Ġfor : Ġ$ code ") ĊĊĠĠĠĠĠĠĠ Ġsearch Dialog . clear Tree () ĊĠĠĠĠĠĠĠ Ġsearch Dialog . setup Tree () ĊĊĠĠĠĠĠĠĠ Ġval Ġevaluator Ġ= Ġsearch Dialog . get Evaluator () Ġ?: Ġreturn ĊĊĠĠĠĠĠĠĠ Ġdisable Search Button () ĊĊĠĠĠĠĠĠĠ Ġsearch Input Component ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Searcher ()?. search ( this , Ġsearch Input Component , Ġevaluator ) Ġ?: ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . info (" Could Ġnot Ġfind Ġsearch er Ġfor Ġlanguage : Ġ" Ġ+ Ġsearch Input Component . language ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdispatch ( to Dispatch : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdebug Process . manager Thread . invoke ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠDebugger Command Impl () Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġaction () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Dispatch . invoke () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġenable Search Button () Ġ{ ĊĠĠĠĠĠĠĠ Ġsearch Dialog . enable Search Button () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdisable Search Button () Ġ{ ĊĠĠĠĠĠĠĠ Ġsearch Dialog . disable Search Button () ĊĠĠĠ Ġ} Ċ }