package Ġcom . github . xe on k rypt os . integration . gitlab . ui . general Ċ Ċ import Ġcom . intellij . openapi . ui . Component Validator Ċ import Ġcom . intellij . openapi . ui . Dialog Wrapper Ċ import Ġcom . intellij . openapi . ui . MessageType Ċ import Ġcom . intellij . openapi . ui . Validation Info Ċ import Ġcom . intellij . ui . Color Util Ċ import Ġcom . intellij . ui . components . JB Label Ċ import Ġcom . intellij . util . ui . JB Empty Border Ċ import Ġcom . intellij . util . ui . JB Insets Ċ import Ġcom . intellij . util . ui . UI Util Ċ import Ġjava . awt . Color Ċ import Ġjava . awt . Insets Ċ import Ġjavax . swing . Swing Constants Ċ import Ġjavax . swing . border . Border Ċ import Ġjavax . swing . border . Empty Border Ċ import Ġorg . jetbrains . annotations . NotNull Ċ Ċ /** Ċ Ġ* ĠExtract ed Ġout Ġof Ġ[ Dialog Wrapper ] Ġas Ġthere Ġare Ġcases Ġwe Ġneed Ġan Ġerror Ġtext Ġtriggered Ġby Ġ[ Component Validator ], Ġbut Ġaren 't Ġin Ġa ĠDialog Wrapper Ġthat Ġis Ġprovided Ġit Ġimplicitly Ċ Ġ*/ Ċ class ĠError Text Ġ: ĠJ B Label () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġerrors : ĠMutable List < Validation Info > Ġ= Ġmutable ListOf () ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġborder Ġ= Ġcreate Error Text Border () ĊĠĠĠĠĠĠĠ Ġhorizontal Alignment Ġ= ĠSw ing Constants . LEADING ĊĠĠĠĠĠĠĠ Ġset Allow Auto Wr apping ( true ) ĊĠĠĠĠĠĠĠ Ġis Visible Ġ= Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Error Text Border (): ĠBorder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġborder : ĠBorder Ġ= ĠJ B Empty Border ( UI Util . get Regular Panel Insets ()) ĊĠĠĠĠĠĠĠ Ġval Ġcontent Insets : ĠIn sets Ġ= Ġborder . get Border Insets ( null ) ĊĠĠĠĠĠĠĠ Ġval Ġbase Insets : ĠIn sets Ġ= ĠJ B Insets . create ( 1 6 , Ġ 1 3 ) ĊĠĠĠĠĠĠĠ Ġreturn ĠEmpty Border ( base Insets . top , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( base Insets . left Ġ> Ġcontent Insets . left ) Ġbase Insets . left Ġ- Ġcontent Insets . left Ġelse Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( base Insets . bottom Ġ> Ġcontent Insets . bottom ) Ġbase Insets . bottom Ġ- Ġcontent Insets . bottom Ġelse Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( base Insets . right Ġ> Ġcontent Insets . right ) Ġbase Insets . right Ġ- Ġcontent Insets . right Ġelse Ġ 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġappend Error (@ NotNull Ġinfo : ĠValidation Info ) Ġ{ ĊĠĠĠĠĠĠĠ Ġerrors . add ( info ) ĊĠĠĠĠĠĠĠ Ġval Ġsb Ġ= ĠStringBuilder ("< html >") ĊĠĠĠĠĠĠĠ Ġerrors . forEach Ġ{ Ġvi Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcolor : ĠColor Ġ= Ġif Ġ( vi . warning ) ĠMessageType . WARNING . title Foreground Ġelse ĠDialog Wrapper . ERROR _ FO REG ROUND _ COLOR ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append ("< font Ġcolor ='# "). append ( Color Util . to Hex ( color )). append (" '> "). append ("< left > "). append ( vi . message ). append ("</ left ></ font >< br /> ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsb . append ("</ html >") ĊĠĠĠĠĠĠĠ Ġtext Ġ= Ġsb . toString () ĊĠĠĠĠĠĠĠ Ġis Visible Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclear Error ( full : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġerrors . clear () ĊĠĠĠĠĠĠĠ Ġif Ġ( full ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Bounds ( 0 , Ġ 0 , Ġ 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Visible Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġis Text Set (@ NotNull Ġinfo : ĠList < Validation Info >): ĠBoolean Ġ= Ġerrors Ġ== Ġinfo Ċ }