package Ġgather . ui Ċ Ċ import Ġcom . intellij . openapi . ui . ComboBox Ċ import Ġcom . intellij . openapi . ui . Dialog Builder Ċ import Ġcom . intellij . ui . components . JB Panel With Empty Text Ċ import Ġcom . intellij . ui . layout . panel Ċ import Ġcom . intellij . ui . tree Structure . Tree Ċ import Ġsettings . Solution Language Ċ import Ġjava . awt . Border Layout Ċ Ċ /** Ċ Ġ* Ġcreates Ġa Ġdialog Ġview Ġand Ġwire s Ġit Ġwith Ġits ĠviewModel Ġclass Ġ[ Generate Solutions Dialog Model ] Ċ Ġ*/ Ċ fun Ġcreate Generate Solutions Dialog ( model : ĠGenerate Solutions Dialog Model ): ĠDialog Builder Ġ{ ĊĊĠĠĠ Ġval Ġdialog Ġ= ĠDialog Builder ( model . project ) ĊĊĠĠĠ Ġdialog . apply Ġ{ ĊĠĠĠĠĠĠĠ Ġtitle (" Generate ĠSolution ĠFiles ") ĊĠĠĠĠĠĠĠ Ġres izable ( false ) ĊĊĠĠĠĠĠĠĠ Ġcenter Panel ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJ B Panel With Empty Text ( Border Layout ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Preferred Width ( 3 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Minimum Height ( 1 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Empty Text (" Add Ġat Ġleast Ġone Ġsolution Ġlanguage Ġin Ġsettings "). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( model . isValid ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcombo Box Component Ġ= ĠCombo Box ( model . lang Model ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrenderer Ġ= ĠSolution Language . cell Renderer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġui Ġ= Ġpanel Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblock Row Ġ{ ĠTree ( model . tree Model )() Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrow (" Language :") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcombo Box Component () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( ui ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcombo Box Component . addActionListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . set Ok Action Enabled ( model . lang Model . selected Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdialog . set Ok Action Enabled ( model . isValid Ġ&& Ġmodel . lang Model . selected Ġ!= Ġnull ) ĊĊĠĠĠ Ġreturn Ġdialog Ċ }