// ĠCopyright Ġ 2 0 0 0 - 2 0 1 9 ĠJetBrains Ġs . r . o . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ package Ġcom . intellij . code Insight . hints . settings . language Ċ Ċ import Ġcom . intellij . code Insight . hints .* Ċ import Ġcom . intellij . code Insight . hints . settings . In lay Provider Settings Model Ċ import Ġcom . intellij . code Insight . hints . settings . In lay Settings Provider Ċ import Ġcom . intellij . lang . Language Ċ import Ġcom . intellij . openapi . options . Configurable Ċ import Ġcom . intellij . openapi . options . Search able Configurable Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġjavax . swing . J Component ĊĊ Ċ class ĠSingle Language In lay Hints Configurable ( project : ĠProject , Ġval Ġlanguage : ĠLanguage ) Ġ: ĠConfigur able , ĠSearch able Configurable Ġ{ ĊĠ Ġprivate Ġval Ġpanel Ġby Ġlazy Ġ{ ĊĠĠĠ ĠSingle Language In lay Hints Settings Panel ( getIn lay Provider Settings Models ( project , Ġlanguage ), Ġlanguage , Ġproject ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġis Modified (): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġpanel . is Modified () ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġget DisplayName (): ĠString Ġ{ ĊĠĠĠ Ġreturn Ġlanguage . displayName ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġcreate Component (): ĠJ Component ? Ġ{ ĊĠĠĠ Ġreturn Ġpanel ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġapply () Ġ{ ĊĠĠĠ Ġpanel . apply () ĊĠĠĠ ĠParameter Hints Pass Factory . force Hints Update On Next Pass () ĊĠĠĠ ĠIn lay Hints Pass Factory . force Hints Update On Next Pass () ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun ĠgetId (): ĠString Ġ{ ĊĠĠĠ Ġreturn ĠgetId ( language ) ĊĠ Ġ} ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġfun Ġget In lay Provider Settings Models ( project : ĠProject , Ġlanguage : ĠLanguage ) Ġ: ĠArray < In lay Provider Settings Model > Ġ{ ĊĠĠĠĠĠ Ġval Ġmodels Ġ= ĠIn lay Settings Provider . EP . get Extensions (). flatMap Ġ{ Ġit . create Models ( project , Ġlanguage ) Ġ} ĊĠĠĠĠĠ Ġif Ġ( models . isEmpty ()) Ġthrow ĠIllegalStateException (" Language Ġpanel Ġmust Ġhave Ġat Ġleast Ġone Ġconfig Ġmodel ") ĊĠĠĠĠĠ Ġreturn Ġmodels . to Typed Array () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun ĠgetId ( language : ĠLanguage ): ĠString Ġ{ ĊĠĠĠĠĠ Ġreturn Ġ" in lay . hints ." Ġ+ Ġlanguage . id ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġreset () Ġ{ ĊĠĠĠ Ġpanel . reset () ĊĠ Ġ} Ċ } ĊĊĊĊ