package Ġcom . cl y ze . intellij plugin . ui Ċ Ċ import Ġcom . intellij . ui . table . JB Table Ċ import Ġjavax . swing . event . TableModel Event Ċ import Ġjavax . swing . event . TableModel Listener Ċ import Ġjavax . swing . table . TableModel Ċ Ċ /** Ċ Ġ* ĠThe Ġmodel Ġresponsible Ġfor Ġdisplaying Ġthe Ġanalysis Ġresults Ġof Ċ Ġ* Ġa Ġgiven Ġsource Ġline Ġas Ġa Ġtable . Ċ Ġ*/ Ċ class ĠLine Results TableModel ( ĊĠĠĠ Ġprivate Ġval Ġline Results Data Ġ: ĠMutable List < Line Result >, ĊĠĠĠ Ġprivate Ġval Ġlisteners Ġ: ĠMutable List < TableModel Listener > Ġ= ĠArrayList ()) Ġ: ĠTable Model Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġget RowCount (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġline Results Data . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Column Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ 3 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget ColumnName ( p 0 : ĠInt ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( p 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> Ġreturn Ġ" Symbol " ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġreturn Ġ" Type " ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> Ġreturn Ġ" Description " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġ"" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Column Class ( p 0 : ĠInt ): ĠClass < *> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠString :: class . java ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġis Cell Editable ( p 0 : ĠInt , Ġp 1 : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetValue At ( p 0 : ĠInt , Ġp 1 : ĠInt ): ĠAny Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġline Result Ġ= Ġline Results Data [ p 0 ] ĊĠĠĠĠĠĠĠ Ġwhen Ġ( p 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> Ġreturn Ġline Result . symbol Id ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġreturn Ġline Result . type ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> Ġreturn Ġline Result . description ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġ"" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠsetValue At ( p 0 : ĠAny ?, Ġp 1 : ĠInt , Ġp 2 : ĠInt ) Ġ{ Ċ // ĠĠĠĠĠĠĠ ĠTODO (" Not Ġyet Ġimplemented ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġadd TableModel Listener ( p 0 : ĠTable Model Listener ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( p 0 Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlisteners . add ( p 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġremove TableModel Listener ( p 0 : ĠTable Model Listener ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( p 0 Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlisteners . remove ( p 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate ( table Ġ: ĠJ B Table , Ġnew Line Results Ġ: ĠCollection < Line Result >) Ġ{ ĊĠĠĠĠĠĠĠ Ġline Results Data . clear () ĊĠĠĠĠĠĠĠ Ġline Results Data . addAll ( new Line Results ) ĊĠĠĠĠĠĠĠ Ġtable . rep aint () ĊĠĠĠĠĠĠĠ Ġlisteners . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . table Changed ( TableModel Event ( this )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }