package Ġdev . bin club . bing ait . plugin Ċ Ċ import Ġdev . bin club . bing ait . api . B ing ait Plugin Ċ import Ġdev . bin club . bing ait . api . util . text Component Ċ import Ġdev . bin club . bing ait . gui . swing . MainWindow Ċ import Ġjava . awt .* Ċ import Ġjavax . swing .* ĊĊ Ċ /** Ċ Ġ* Ġ@ author Ġcook Ġ 0 5 / Oct / 2 0 2 0 Ċ Ġ*/ Ċ class ĠPlugins Panel : ĠJPanel () Ġ{ Ċ ĉ private Ġval Ġplugins List Panel Ġ= ĠJPanel () Ċ ĉ private Ġval Ġplugins Scroll List Ġ= ĠJ ScrollPane ( plugins List Panel ) ĊĉĊ ĉ init Ġ{ Ċĉ ĉ val Ġplugins Ġ= ĠPlugin Manager . plugins Ċĉ ĉ plugins List Panel . layout Ġ= ĠBox Layout ( plugins List Panel , ĠBox Layout . Y _ AXIS ) ĊĉĉĊĉ ĉ plugins Scroll List . vertical ScrollBar Policy Ġ= ĠJ ScrollPane . VERTICAL _ SCROLL BAR _ ALWAYS Ċĉ ĉ plugins . forEach Ġ{ Ġplugin Ġ-> Ċĉĉ ĉ plugins List Panel . add ( Plugin Panel ( plugin )) Ċĉ ĉ } Ċĉ ĉ this . add ( plugins Scroll List ) Ċ ĉ } ĊĉĊĉĊ ĉ comp anion Ġobject Ġ{ Ċĉ ĉ fun Ġpopup () Ġ{ Ċĉĉ ĉ val Ġframe Ġ= ĠJ Dialog ( MainWindow , Ġ" Plugins ", Ġtrue ) Ċĉĉ ĉ frame . minimum Size Ġ= ĠDimension ( 6 0 0 , Ġ 3 0 0 ) Ċĉĉ ĉ frame . content Pane . add ( Plugins Panel ()) Ċĉĉ ĉ frame . isVisible Ġ= Ġtrue Ċĉ ĉ } Ċ ĉ } Ċ } Ċ Ċ class ĠPlugin Panel ( val Ġplugin : ĠB ing ait Plugin ): ĠJPanel () Ġ{ Ċ ĉ init Ġ{ Ċĉ ĉ layout Ġ= ĠBorderLayout () Ċĉ ĉ add ( J CheckBox (). also Ġ{ Ġcheckbox Ġ-> Ċĉĉ ĉ checkbox . isSelected Ġ= Ġplugin . enabled Ċĉĉ ĉ checkbox . addItem Listener Ġ{ Ġevent Ġ-> Ċĉĉĉ ĉ if Ġ( event . source Ġ== Ġcheckbox ) Ġ{ Ċĉĉĉĉ ĉ plugin . enabled Ġ= Ġevent . state Change Ġ== Ġ 1 Ċĉĉĉ ĉ } Ċĉĉ ĉ } Ċĉ ĉ }, ĠBorderLayout . WEST ) Ċĉ ĉ add ( text Component ( plugin . name ), ĠBorderLayout . CENTER ) Ċ ĉ } Ċ } Ċ