/* Ċ Ġ* Ġ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 Ġorg . jetbrains . r . console . jobs Ċ Ċ import Ġcom . intellij . openapi . application . run In Ed t Ċ import Ġcom . intellij . openapi . project . D umb Aware Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġcom . intellij . openapi . wm . Tool Window Ċ import Ġcom . intellij . openapi . wm . Tool Window Factory Ċ import Ġcom . intellij . openapi . wm . Tool WindowManager Ċ import Ġcom . intellij . openapi . wm . impl . content . Tool Window Content Ui Ċ import Ġcom . intellij . ui . content . Content Factory Ċ import Ġorg . jetbrains . r . R Bundle Ċ Ċ class ĠR Jobs Tool Window Factory Ġ: ĠTool Window Factory , ĠD umb Aware Ġ{ ĊĊĠ Ġoverride Ġfun Ġcreate Tool Window Content ( project : ĠProject , Ġtool Window : ĠTool Window ) Ġ{ ĊĠĠĠ Ġtool Window . component . put Client Property ( Tool Window Content Ui . HIDE _ ID _ LABEL , Ġ" true ") ĊĠĠĠ Ġval Ġr Jobs Panel Ġ= ĠR Job Panel ( project ) ĊĠĠĠ Ġval Ġcontent Ġ= ĠContent Factory . SERVICE . getInstance (). create Content ( r Jobs Panel , ĠR Bundle . message (" jobs . panel . title "), Ġfalse ) ĊĠĠĠ Ġr Jobs Panel . jobs Status Callback Ġ= Ġ{ Ġongoing : ĠInt , Ġfinished : ĠInt , Ġfailed : ĠInt Ġ-> ĊĠĠĠĠĠ Ġcontent . displayName Ġ= Ġbuild DisplayName ( ongo ing , Ġfinished , Ġfailed ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġrun In Ed t Ġ{ ĊĠĠĠĠĠ Ġtool Window . content Manager . add Content ( content ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġbuild DisplayName ( ongo ing : ĠInt , Ġfinished : ĠInt , Ġfailed : ĠInt ): ĠString Ġ{ ĊĠĠĠ Ġval Ġbuilder Ġ= ĠStringBuilder () ĊĠĠĠ Ġbuilder . append ( R Bundle . message (" jobs . panel . title ")) ĊĠĠĠ Ġif Ġ( ongo ing Ġ+ Ġfinished Ġ+ Ġfailed Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠ Ġbuilder . append (": Ġ") ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ( ongo ing Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠ Ġbuilder . append ( R Bundle . message (" jobs . panel . title . ongo ing ", Ġongoing )) ĊĠĠĠĠĠ Ġif Ġ( finished Ġ+ Ġfailed Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbuilder . append (", Ġ") ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ( finished Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠ Ġbuilder . append ( R Bundle . message (" jobs . panel . title . finished ", Ġfinished )) ĊĠĠĠĠĠ Ġif Ġ( failed Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbuilder . append (", Ġ") ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ( failed Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠ Ġbuilder . append ( R Bundle . message (" jobs . panel . title . failed ", Ġfailed )) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġbuilder . toString () ĊĠ Ġ} ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġinternal Ġconst Ġval ĠID Ġ= Ġ" R ĠJobs " ĊĊĠĠĠ Ġfun Ġfocus On Jobs ( project : ĠProject ) Ġ{ ĊĠĠĠĠĠ Ġget R Jobs Tool Windows ( project )?. show ( null ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget R Jobs Tool Windows ( project : ĠProject ): ĠTool Window ? Ġ{ ĊĠĠĠĠĠ Ġreturn ĠTool WindowManager . getInstance ( project ). get Tool Window ( ID ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Jobs Panel ( project : ĠProject ): ĠR Job Panel ? Ġ= ĊĠĠĠĠĠ Ġget R Jobs Tool Windows ( project )?. content Manager ?. contents ?. first OrNull ()?. component Ġas ? ĠR Job Panel ĊĠ Ġ} Ċ } Ċ