package Ġio . sn yk . plugin . ui . tool window Ċ Ċ import Ġcom . intellij . ui . ScrollPane Factory Ċ import Ġcom . intellij . ui Designer . core . Grid Constraints Ċ import Ġcom . intellij . ui Designer . core . Grid LayoutManager Ċ import Ġcom . intellij . ui Designer . core . Spacer Ċ import Ġcom . intellij . util . ui . UI Util Ċ import Ġio . sn yk . plugin . Severity Ċ import Ġio . sn yk . plugin . ui . build Bold Title Label Ċ import Ġs ny k . common . S ny k Error Ċ import Ġjava . awt . Color Ċ import Ġjava . awt . Font Ċ import Ġjava . awt . Insets Ċ import Ġjavax . swing . JLabel Ċ import Ġjavax . swing . JPanel Ċ import Ġjavax . swing . J TextArea Ċ Ċ class ĠS ny k Error Panel ( sn yk Error : ĠS ny k Error ) Ġ: ĠJPanel () Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . layout Ġ= ĠGrid LayoutManager ( 1 1 , Ġ 1 , ĠIn sets ( 2 0 , Ġ 0 , Ġ 0 , Ġ 0 ), Ġ- 1 , Ġ 1 0 ) ĊĊĠĠĠĠĠĠĠ Ġthis . add ( Spacer (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . AN CH OR _ CENTER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . FILL _ VERTICAL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . SIZE POLICY _ W ANT _ GRO W , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , Ġfalse )) ĊĊĠĠĠĠĠĠĠ Ġval Ġpath Panel Ġ= ĠJPanel () ĊĠĠĠĠĠĠĠ Ġpath Panel . layout Ġ= ĠGrid LayoutManager ( 4 , Ġ 2 , ĠIn sets ( 0 , Ġ 0 , Ġ 0 , Ġ 0 ), Ġ- 1 , Ġ- 1 ) ĊĠĠĠĠĠĠĠ Ġthis . add ( path Panel , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 7 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . AN CH OR _ CENTER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . FILL _ BOTH , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . SIZE POLICY _ CAN _ SH R INK Ġor ĠGrid Constraints . SIZE POLICY _ CAN _ GRO W , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . SIZE POLICY _ CAN _ SH R INK Ġor ĠGrid Constraints . SIZE POLICY _ CAN _ GRO W , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse )) ĊĊĊĠĠĠĠĠĠĠ Ġpath Panel . add ( build Bold Title Label (" Path "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . AN CH OR _ WEST , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . FILL _ NONE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . SIZE POLICY _ FIXED , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . SIZE POLICY _ FIXED , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse )) ĊĊĠĠĠĠĠĠĠ Ġval Ġpath TextArea Ġ= ĠJ TextArea ( sn yk Error . path ) ĊĠĠĠĠĠĠĠ Ġpath TextArea . line Wrap Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġpath TextArea . wrap Style Word Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġpath TextArea . is Opaque Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġpath TextArea . is Editable Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġpath TextArea . background Ġ= ĠUI Util . get Panel Background () ĊĊĠĠĠĠĠĠĠ Ġpath Panel . add ( ScrollPane Factory . create ScrollPane ( path TextArea , Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . AN CH OR _ WEST , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . FILL _ BOTH , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . SIZE POLICY _ CAN _ GRO W Ġor ĠGrid Constraints . SIZE POLICY _ CAN _ SH R INK , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . SIZE POLICY _ CAN _ GRO W Ġor ĠGrid Constraints . SIZE POLICY _ CAN _ SH R INK , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse )) ĊĊĠĠĠĠĠĠĠ Ġval Ġmessage Panel Ġ= ĠJPanel () ĊĠĠĠĠĠĠĠ Ġmessage Panel . layout Ġ= ĠGrid LayoutManager ( 2 , Ġ 1 , ĠIn sets ( 0 , Ġ 0 , Ġ 0 , Ġ 0 ), Ġ- 1 , Ġ- 1 ) ĊĊĠĠĠĠĠĠĠ Ġthis . add ( message Panel , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 8 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . AN CH OR _ CENTER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . FILL _ BOTH , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . SIZE POLICY _ CAN _ SH R INK Ġor ĠGrid Constraints . SIZE POLICY _ CAN _ GRO W , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . SIZE POLICY _ CAN _ SH R INK Ġor ĠGrid Constraints . SIZE POLICY _ CAN _ GRO W , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse )) ĊĊĠĠĠĠĠĠĠ Ġmessage Panel . add ( build Bold Title Label (" Message "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . AN CH OR _ WEST , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . FILL _ NONE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . SIZE POLICY _ FIXED , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . SIZE POLICY _ FIXED , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse )) ĊĊĠĠĠĠĠĠĠ Ġval ĠerrorMessage TextArea Ġ= ĠJ TextArea ( sn yk Error . message ) ĊĠĠĠĠĠĠĠ ĠerrorMessage TextArea . line Wrap Ġ= Ġtrue ĊĠĠĠĠĠĠĠ ĠerrorMessage TextArea . wrap Style Word Ġ= Ġtrue ĊĠĠĠĠĠĠĠ ĠerrorMessage TextArea . is Opaque Ġ= Ġfalse ĊĠĠĠĠĠĠĠ ĠerrorMessage TextArea . is Editable Ġ= Ġfalse ĊĠĠĠĠĠĠĠ ĠerrorMessage TextArea . background Ġ= ĠUI Util . get Panel Background () ĊĊĠĠĠĠĠĠĠ Ġmessage Panel . add ( ScrollPane Factory . create ScrollPane ( errorMessage TextArea , Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . AN CH OR _ CENTER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . FILL _ BOTH , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . SIZE POLICY _ CAN _ GRO W Ġor ĠGrid Constraints . SIZE POLICY _ CAN _ SH R INK , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . SIZE POLICY _ CAN _ GRO W Ġor ĠGrid Constraints . SIZE POLICY _ CAN _ SH R INK , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse )) ĊĊĠĠĠĠĠĠĠ Ġval Ġerror Label Panel Ġ= ĠSeverity Color Panel ( Severity . HIGH ) ĊĠĠĠĠĠĠĠ Ġerror Label Panel . layout Ġ= ĠGrid LayoutManager ( 2 , Ġ 2 , ĠIn sets ( 1 0 , Ġ 1 0 , Ġ 1 0 , Ġ 1 0 ), Ġ- 1 , Ġ- 1 ) ĊĊĠĠĠĠĠĠĠ Ġthis . add ( error Label Panel , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . AN CH OR _ CENTER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . FILL _ BOTH , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . SIZE POLICY _ CAN _ SH R INK Ġor ĠGrid Constraints . SIZE POLICY _ CAN _ GRO W , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . SIZE POLICY _ CAN _ SH R INK Ġor ĠGrid Constraints . SIZE POLICY _ CAN _ GRO W , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse )) ĊĊĠĠĠĠĠĠĠ Ġval Ġerror Label Ġ= ĠJLabel () ĊĊĠĠĠĠĠĠĠ Ġval Ġseverity Label Font : ĠFont ? Ġ= Ġio . sn yk . plugin . ui . getFont (- 1 , Ġ 1 4 , Ġerror Label . font ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( severity Label Font Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerror Label . font Ġ= Ġseverity Label Font ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġerror Label . text Ġ= Ġ" Error " ĊĊĠĠĠĠĠĠĠ Ġerror Label . foreground Ġ= ĠColor (- 1 ) ĊĊĠĠĠĠĠĠĠ Ġerror Label Panel . add ( error Label , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . AN CH OR _ WEST , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . FILL _ NONE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . SIZE POLICY _ FIXED , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . SIZE POLICY _ FIXED , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse )) ĊĊĠĠĠĠĠĠĠ Ġerror Label Panel . add ( Spacer (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . AN CH OR _ CENTER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . FILL _ HORIZONTAL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . SIZE POLICY _ W ANT _ GRO W , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse )) ĊĊĠĠĠĠĠĠĠ Ġerror Label Panel . add ( Spacer (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . AN CH OR _ CENTER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . FILL _ VERTICAL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGrid Constraints . SIZE POLICY _ W ANT _ GRO W , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse )) ĊĠĠĠ Ġ} Ċ } Ċ