package Ġch . compile . bl itz remote . components Ċ Ċ import Ġch . compile . bl itz remote . Blit z Remote Ċ import Ġjavax . swing . J Dialog Ċ import Ġjavax . swing . J Table Ċ import Ġjavax . swing . event . TableModel Listener Ċ import Ġjavax . swing . table . TableModel Ċ Ċ class ĠSsh Tunnel Editor ( bl itz Terminal : ĠB lit z Terminal ) Ġ: ĠJ Dialog ( Blit z Remote . instance ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġlist Ġ= ĠJ Table ( Port forwarding TableModel ( bl itz Terminal . session ?. port Forwarding L Ġ?: Ġempty Array ())) ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . setSize ( 6 4 0 , Ġ 4 8 0 ) ĊĠĠĠĠĠĠĠ Ġthis . add ( list ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠPort forwarding TableModel ( val Ġforward ings : Array < String >): ĠTable Model Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtable Model Listeners Ġ= ĠArrayList < TableModel Listener >() ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġadd TableModel Listener ( l : ĠTable Model Listener ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtable Model Listeners . add ( l ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget RowCount (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġforward ings . size ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget ColumnName ( column Index : ĠInt ): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( column Index ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> Ġ" Port Ġforwarding " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ" unknown " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġis Cell Editable ( rowIndex : ĠInt , ĠcolumnIndex : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Column Class ( column Index : ĠInt ): ĠClass < *> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠString :: class . java ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠsetValue At ( a Value : ĠAny , ĠrowIndex : ĠInt , ĠcolumnIndex : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġforward ings [ rowIndex ] Ġ= Ġa Value . toString () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Column Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetValue At ( rowIndex : ĠInt , ĠcolumnIndex : ĠInt ): ĠAny Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġforward ings [ rowIndex ] ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġremove TableModel Listener ( l : ĠTable Model Listener ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtable Model Listeners . remove ( l ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ }