/* Ċ Ġ* ĠCopyright Ġ 2 0 1 7 - 2 0 2 0 ĠAl jos cha ĠG re be Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠ Ġhttps :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . alm ight y alp aca . jetbrains . plugins . discord . plugin . actions Ċ Ċ import Ġcom . alm ight y alp aca . jetbrains . plugins . discord . plugin . settings . options . types . Selection Value Ċ import Ġcom . alm ight y alp aca . jetbrains . plugins . discord . plugin . settings . options . types . Ui ValueType Ċ import Ġcom . alm ight y alp aca . jetbrains . plugins . discord . plugin . settings . settings Ċ import Ġcom . alm ight y alp aca . jetbrains . plugins . discord . plugin . settings . values . Project Show Ċ import Ġcom . intellij . openapi . action System . An ActionEvent Ċ import Ġcom . intellij . openapi . action System . Default Action Group Ċ import Ġcom . intellij . openapi . project . D umb Aware Ċ import Ġcom . intellij . openapi . project . D umb Aware Toggle Action Ċ import Ġcom . intellij . openapi . project . Project Ċ Ċ class ĠProject Show Action Ġ: ĠAbstract Selection Action < Project Show >( enum Values (), Ġ{ Ġit . settings . show Ġ}) Ċ Ċ abstract Ġclass ĠAbstract Selection Action < T >( ĊĠĠĠ Ġvalues : ĠArray < T >, ĊĠĠĠ Ġval Ġcurrent Value : Ġ( Project ) Ġ-> ĠSelection Value < T > Ċ ) Ġ: ĊĠĠĠ ĠDefault Action Group (), ĠD umb Aware Ġwhere ĠT Ġ: ĠEnum < T >, ĠT Ġ: ĠUi ValueType Ġ{ ĊĊĠĠĠ Ġconstructor ( values : ĠArray < T >, Ġvalue : ĠSelection Value < T >) Ġ: Ġthis ( values , Ġ{ Ġvalue Ġ}) ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġis Popup Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( value Ġin Ġvalues ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( Toggle Action ( value , Ġcurrent Value )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate ( e : ĠAn ActionEvent ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . update ( e ) ĊĊĠĠĠĠĠĠĠ Ġval Ġpresentation Ġ= Ġe . presentation ĊĊĠĠĠĠĠĠĠ Ġval Ġproject Ġ= Ġe . project ĊĠĠĠĠĠĠĠ Ġif Ġ( project Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresentation . isEnabled And Visible Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresentation . isEnabled And Visible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresentation . text Ġ= Ġcurrent Value ( project ). text ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠToggle Action < T >( val Ġvalue : ĠT , Ġval Ġcurrent Value : Ġ( Project ) Ġ-> ĠSelection Value < T >) Ġ: ĊĠĠĠĠĠĠĠ ĠD umb Aware Toggle Action ( value . text , Ġvalue . description , Ġnull ) Ġwhere ĠT Ġ: ĠEnum < T >, ĠT Ġ: ĠUi ValueType Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġis Selected ( e : ĠAn ActionEvent ) Ġ= Ġvalue Ġ== Ġe . project ?. let Ġ{ Ġcurrent Value ( it ). get Stored Value () Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠsetSelected ( e : ĠAn ActionEvent , Ġstate : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( state ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . project ?. let Ġ{ Ġcurrent Value ( it ). set Stored Value ( value ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġupdate ( e : ĠAn ActionEvent ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . update ( e ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpresentation Ġ= Ġe . presentation ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproject Ġ= Ġe . project ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( project Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpresentation . isEnabled And Visible Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġselection Value Ġ= Ġcurrent Value ( project ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( value Ġin Ġselection Value . selectable Values ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpresentation . isEnabled And Visible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpresentation . isVisible Ġ= Ġvalue Ġ== Ġselection Value . get Stored Value () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpresentation . isEnabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ