package Ġcom . github . sy uch an 1 0 0 5 . git prefix . git . commit Ċ Ċ import Ġcom . github . sy uch an 1 0 0 5 . git prefix . grammar . psi . Prefix Resource Property Ċ import Ġcom . github . sy uch an 1 0 0 5 . git prefix . util . Prefix Resource File Util Ċ import Ġcom . intellij . openapi . action System .* Ċ import Ġcom . intellij . openapi . action System . ex . ComboBox Action Ċ import Ġcom . intellij . psi . Smart Pointer Manager Ċ import Ġcom . intellij . psi . Smart Psi Element Pointer Ċ import Ġjava . awt . Dimension Ċ import Ġjavax . swing . J Component Ċ Ċ class ĠGit Commit ComboBox Action Ġ: ĠCombo Box Action () Ġ{ ĊĠĠĠ Ġfun ĠsetCurrent ( property : ĠSmart Psi Element Pointer < Prefix Resource Property > ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġcurrent Ġ= Ġproperty ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate ( e : ĠAn ActionEvent ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( current Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . presentation . icon Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . presentation . text Ġ= Ġ" NO ĠPREFIX " ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġp Ġ= Ġcurrent !!. element Ġ?: Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġemoji Ġ= Ġp . emoji ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( emoji Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . presentation . icon Ġ= Ġemoji . icon ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . presentation . text Ġ= Ġp . value Text ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . presentation . icon Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . presentation . text Ġ= Ġ"| ${ p . key }| Ġ${ p . value Text }" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Popup Action Group ( button : ĠJ Component ): ĠDefault Action Group Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠINFO : ĠNot Ġuse Ġthis ĊĠĠĠĠĠĠĠ Ġreturn ĠDefault Action Group () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Popup Action Group ( button : ĠJ Component , Ġdata Context : ĠData Context ): ĠDefault Action Group Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġproject Ġ= Ġdata Context . getData ( Platform Data Keys . PROJECT ) ĊĠĠĠĠĠĠĠ Ġval Ġgroup : ĠDefault Action Group ĊĠĠĠĠĠĠĠ Ġgroup Ġ= Ġif Ġ( project Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresource File Ġ= ĠPrefix Resource File Util . get From Setting ( project ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPrefix Resource File Util . BlockType . COMMIT . create Action Group ( resource File ) Ġ{ Ġproperty : ĠPrefix Resource Property Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsetCurrent ( Smart Pointer Manager . getInstance ( project ). create Smart Psi Element Pointer ( property )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Action Group () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġgroup . add ( object Ġ: ĠAn Action (" NO ĠPREFIX ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠactionPerformed ( e : ĠAn ActionEvent ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsetCurrent ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġreturn Ġgroup ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Custom Component ( presentation : ĠPresentation , Ġplace : ĠString ): ĠJ Component Ġ{ ĊĠĠĠĠĠĠĠ Ġpresentation . text Ġ= Ġ" NO ĠPREFIX " ĊĠĠĠĠĠĠĠ Ġval Ġbox Button Ġ= ĠCombo Box Button ( presentation ) ĊĠĠĠĠĠĠĠ Ġbox Button . preferred Size Ġ= ĠDimension ( 6 5 , Ġbox Button . height ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġbox Button ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġcurrent : ĠSmart Psi Element Pointer < Prefix Resource Property >? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġval Ġcurrent Property : ĠPrefix Resource Property ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġif Ġ( current Ġ== Ġnull ) Ġnull Ġelse Ġcurrent !!. element ĊĠĠĠ Ġ} Ċ } Ċ