/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 0 ĠJim ĠSch ub ert Ċ Ġ* Ċ Ġ* Ġ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 Ċ Ġ* Ċ Ġ* Ġhttp :// 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 Ġus . j im sch ub ert . intellij . open ap it ools . ui Ċ Ċ import Ġcom . intellij . util . ui . Valid ating Table Editor Ċ import Ġus . j im sch ub ert . intellij . open ap it ools . Message Ċ import Ġjava . awt . Border Layout Ċ import Ġjavax . swing . JPanel Ċ Ċ internal Ġclass ĠValue Properties Panel ( header : ĠString Ġ= Ġ" Value ") Ġ: ĠJPanel ( Border Layout ()) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġ_ items : ĠMutable List < Simple Value Item > Ġ= Ġmutable ListOf () ĊĠĠĠ Ġprivate Ġval Ġ_ editor : ĠValid ating Table Editor < Simple Value Item > ĊĊĠĠĠ Ġval Ġitems : ĠList < Simple Value Item > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ items . toList () ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ editor Ġ= Ġobject Ġ: ĠValid ating Table Editor < Simple Value Item >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate Item (): ĠSimple Value Item ? Ġ= ĠSimple Value Item ("") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġclone Of ( item : ĠSimple Value Item ?): ĠSimple Value Item ? Ġ= ĠSimple Value Item ( item ?. value Ġ?: Ġ"") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġvalidate ( item : ĠSimple Value Item ?): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Ġ== Ġnull Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠMessage Ġof Ġ" panel . value - properties . invalid - empty " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . value Ġ== Ġ"" Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠMessage Ġof Ġ" panel . value - properties . invalid - value " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ_ editor . setModel ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠValid ating Value Column Info < Simple Value Item >( header , ĠPlain Text Cell Editor ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ items ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġadd (_ editor . content Pane , ĠBorderLayout . CENTER ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Empty Message ( value : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ editor . empty Text . text Ġ= Ġvalue ĊĠĠĠ Ġ} Ċ }