package Ġcom . circleci . ui . list Ċ Ċ import Ġcom . circleci . api . model . Build Ċ import Ġcom . circleci . ui . Circle CI Icons Ċ import Ġcom . intellij . icons . All Icons Ċ import Ġcom . intellij . util . ui . J BU I Ċ import Ġcom . intellij . util . ui . UI Util Ċ import Ġnet . mig info com . layout . CC Ċ import Ġnet . mig info com . layout . LC Ċ import Ġnet . mig info com . swing . M ig Layout Ċ import Ġjava . awt . Component Ċ import Ġjavax . swing .* Ċ Ċ internal Ġclass ĠBuild List Cell Renderer Ġ: ĠList Cell Renderer < Build >, ĠJPanel () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġstatus Icon Ġ= ĠJLabel () ĊĠĠĠ Ġprivate Ġval Ġbuild Number Ġ= ĠJLabel () ĊĠĠĠ Ġprivate Ġval Ġmessage Ġ= ĠJLabel () ĊĠĠĠ Ġprivate Ġval Ġbranch Ġ= ĠJLabel () ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġborder Ġ= ĠJ BU I . B orders . empty ( 5 , Ġ 6 ) ĊĊĠĠĠĠĠĠĠ Ġlayout Ġ= ĠM ig Layout ( LC () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. grid Gap (" 0 ", Ġ" 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. in sets (" 0 ", Ġ" 0 ", Ġ" 0 ", Ġ" 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill X ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġgap After Ġ= Ġ"${ J BU I . scale ( 5 )} px " ĊĊĠĠĠĠĠĠĠ Ġstatus Icon . vertical Alignment Ġ= ĠSw ing Constants . CENTER ĊĠĠĠĠĠĠĠ Ġadd ( status Icon , ĠCC () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. span Y ( 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. gap After ("${ J BU I . scale ( 6 )} px ")) ĊĠĠĠĠĠĠĠ Ġadd ( build Number , ĠCC () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. min Width (" pref / 2 px ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. grow X () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. push X () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. gap After ( gap After ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. wrap ()) ĊĠĠĠĠĠĠĠ Ġadd ( message , ĠCC () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. min Width (" pref / 2 px ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. wrap () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. gap After ( gap After )) ĊĠĠĠĠĠĠĠ Ġadd ( branch , ĠCC () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. min Width (" 0 px ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. span X ( 2 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetList Cell Renderer Component ( list : ĠJ List < out ĠBuild >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue : ĠBuild , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġindex : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Selected : ĠBoolean , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcell Has Focus : ĠBoolean ): ĠComponent Ġ{ ĊĠĠĠĠĠĠĠ ĠUI Util . setBackground Re cursively ( this , ĠBuild List Colors . background ( list , Ġis Selected , Ġlist . has Focus ())) ĊĠĠĠĠĠĠĠ Ġval Ġprimary TextColor Ġ= ĠBuild List Colors . foreground ( isSelected , Ġlist . has Focus ()) ĊĠĠĠĠĠĠĠ Ġval Ġsecondary TextColor Ġ= ĠBuild List Colors . secondary Foreground ( list , Ġis Selected ) ĊĊĠĠĠĠĠĠĠ Ġstatus Icon . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġicon Ġ= Ġwhen Ġ( value . status ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" success " Ġ-> ĠCircle CI Icons . SUCCESS _ BUILD ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" fixed " Ġ-> ĠCircle CI Icons . SUCCESS _ BUILD ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" failed " Ġ-> ĠAll Icons . General . Error ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" running " Ġ-> ĠCircle CI Icons . RUNNING _ BUILD ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" c anceled " Ġ-> ĠCircle CI Icons . C ANCE LED _ BUILD ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" not _ run " Ġ-> ĠCircle CI Icons . C ANCE LED _ BUILD ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" queued " Ġ-> ĠCircle CI Icons . ON _ H OLD ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠCircle CI Icons . RUNNING _ BUILD ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbuild Number . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ"# ${ value . build Number } Ġ${ if Ġ( value . workflows Ġ!= Ġnull ) Ġvalue . workflows . job Name Ġelse Ġ"" }" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġforeground Ġ= Ġprimary TextColor ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġmessage . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġif Ġ( value . subject Ġ!= Ġnull ) Ġvalue . subject Ġelse Ġ" Ġ" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġforeground Ġ= Ġsecondary TextColor ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbranch . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ"${ value . branch } Ġby Ġ${ value . user . login }" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġforeground Ġ= Ġsecondary TextColor ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} Ċ Ċ }