// ĠCopyright Ġ 2 0 0 0 - 2 0 2 0 ĠJetBrains Ġs . r . o . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ package Ġcom . intellij . java . ift . lesson . run Ċ Ċ import Ġcom . intellij . execution . Execution Bundle Ċ import Ġcom . intellij . icons . All Icons Ċ import Ġcom . intellij . java . ift . Java Less ons Bundle Ċ import Ġcom . intellij . openapi . action System . Common Data Keys Ċ import Ġcom . intellij . openapi . action System . DataProvider Ċ import Ġcom . intellij . openapi . editor . ex . Editor G utter Component Ex Ċ import Ġtraining . dsl . Lesson Context Ċ import Ġtraining . dsl . Lesson Sample Ċ import Ġtraining . dsl . check Tool Window State Ċ import Ġtraining . dsl . drop Mnemonic Ċ import Ġtraining . learn . lesson . general . run . Common Run Configuration Lesson Ċ import Ġjava . awt . Rectangle Ċ Ċ class ĠJava Run Configuration Lesson Ġ: ĠCommon Run Configuration Lesson (" java . run . configuration ") Ġ{ ĊĠ Ġoverride Ġval Ġsample : ĠLess on Sample Ġ= ĠJava Run Less ons Utils . demo Sample ĊĠ Ġoverride Ġval Ġdemo Configuration Name : ĠString Ġ= ĠJava Run Less ons Utils . demo ClassName ĊĊĠ Ġoverride Ġfun ĠLess on Context . run Task () Ġ{ ĊĠĠĠ Ġtask Ġ{ ĊĠĠĠĠĠ Ġtrigger By Part Of Component < Editor G utter Component Ex > Ġl @{ Ġui Ġ-> ĊĠĠĠĠĠĠĠ Ġif Ġ( Common Data Keys . EDITOR . getData ( ui Ġas ĠData Provider ) Ġ!= Ġeditor ) Ġreturn @ l Ġnull ĊĠĠĠĠĠĠĠ Ġval Ġy Ġ= Ġeditor . visual Line To Y ( 0 ) ĊĠĠĠĠĠĠĠ Ġreturn @ l ĠRectangle ( 2 5 , Ġy , Ġui . width Ġ- Ġ 4 0 , Ġeditor . line Height Ġ* Ġ 2 ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtask (" Run Class ") Ġ{ ĊĠĠĠĠĠ Ġtext ( Java Less ons Bundle . message (" java . run . configuration . lets . run ", Ġicon ( All Icons . Actions . Execute ), Ġaction ( it ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstrong ( Execution Bundle . message (" default . runner . start . action . text "). drop Mnemonic ()))) ĊĠĠĠĠĠ Ġ// Wait Ġtool window ĊĠĠĠĠĠ Ġcheck Tool Window State (" Run ", Ġtrue ) ĊĠĠĠĠĠ Ġstate Check Ġ{ ĊĠĠĠĠĠĠĠ Ġconfigurations (). isNotEmpty () ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġtest Ġ{ ĊĠĠĠĠĠĠĠ Ġactions ( it ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġval ĠfileName : ĠString Ġ= Ġ"${ Java Run Less ons Utils . demo ClassName }. java " Ċ } Ċ