package Ġcn . yi ig ux ing . plugin . translate . action Ċ Ċ import Ġcn . yi ig ux ing . plugin . translate . message Ċ import Ġcn . yi ig ux ing . plugin . translate . util . Translate Service Ċ import Ġcom . intellij . openapi . action System .* Ċ import Ġcom . intellij . openapi . action System . ex . ComboBox Action Ċ import Ġcom . intellij . openapi . project . D umb Aware Ċ import Ġcom . intellij . openapi . ui . popup . JB Popup Ċ import Ġcom . intellij . openapi . ui . popup . JB Popup Factory Ċ import Ġcom . intellij . openapi . ui . popup . List Popup Ċ import Ġcom . intellij . openapi . util . Condition Ċ import Ġcom . intellij . openapi . wm . ex . WindowManager Ex Ċ import Ġjava . awt . Dimension Ċ import Ġjavax . swing . J Component ĊĊ Ċ /** Ċ Ġ* ĠChoose Translator Action Ċ Ġ*/ Ċ class ĠChoose Translator Action Ġ: ĠCombo Box Action (), ĠD umb Aware Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġset Popup Title ( message (" choose . translator . popup . title ")) ĊĠĠĠĠĠĠĠ Ġis Enabled In Modal Context Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate ( e : ĠAn ActionEvent ) Ġ{ ĊĠĠĠĠĠĠĠ ĠTranslate Service . translator . let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . presentation . text Ġ= Ġit . name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . presentation . icon Ġ= Ġit . icon ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠactionPerformed ( e : ĠAn ActionEvent ) Ġ{ ĊĠĠĠĠĠĠĠ ĠWindow Manager Ex . getInstance Ex () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. find Frame For ( e . project ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ? . component ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ? . let Ġ{ Ġcreate Action Popup ( message (" choose . translator . popup . title "), Ġe . data Context , Ġit ). show In Center Of ( it ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Action Popup ( ĊĠĠĠĠĠĠĠ Ġtitle : ĠString ?, ĊĠĠĠĠĠĠĠ Ġcontext : ĠData Context , ĊĠĠĠĠĠĠĠ Ġcomponent : ĠJ Component , ĊĠĠĠĠĠĠĠ Ġdispose Callback : ĠRunnable ? Ġ= Ġnull ĊĠĠĠ Ġ): ĠList Popup Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgroup Ġ= Ġcreate Popup Action Group ( component , Ġcontext ) ĊĠĠĠĠĠĠĠ Ġreturn ĠJ B Popup Factory ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. create Action Group Popup ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgroup , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshould Show Disabled Actions (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdispose Callback , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Rows , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpre select Condition ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ Ġset Minimum Size ( Dimension ( min Width , ĠminHeight )) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Pre select Condition (): ĠCondition < An Action > Ġ= ĠTrans lator Action . PRE SELECT _ CONDITION ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Popup Action Group ( button : ĠJ Component ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠDefault Action Group Ġ= ĠDefault Action Group ( Translator Action . ACTION S ) ĊĊĠĠĠ Ġoverride Ġfun Ġcreate ComboBox Button ( presentation : ĠPresentation ): ĠCombo Box Button Ġ= ĊĠĠĠĠĠĠĠ Ġobject Ġ: ĠCombo Box Button ( presentation ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate Popup ( on Dispose : ĠRunnable ?): ĠJ B Popup Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcreate Action Popup ( null , Ġdata Context , Ġthis , Ġon Dispose ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ċ }