Class new title: SystemPane subclassof: ListPane fields: 'mySysOrgVersion classPane' declare: 'sysmenu ' classInit [sysmenu _ Menu new string: 'filout print'] classes [selection = 1  [user classNames] selection  2  [Vector new: 0] SystemOrganization category: list  selection] compile: t1 | t2 t3 t4 [selection = 2  [SystemOrganization fromParagraph: t1. self update] t3 _ [selection  1  [false] list  selection]. t2 _ nil  t1. t2 Is: Class  [t4 _ t2 title unique. [t3  [SystemOrganization classify: t4 under: t3]]. mySysOrgVersion  user classNames  [selection > 0  [classPane of: [t3  [SystemOrganization category: t3] user classNames]]] self update]] deselected [classPane of: (Vector new: 0)] dirty [classPane dirty] enter [mySysOrgVersion  user classNames  [super enter] window outline. self update. super enter] forget: t1 | t2 [user notify: 'Class ' + t1 + ' will disappear if you proceed...'. t2 _ Smalltalk  t1. t2 noChanges. t2 obsolete. Smalltalk delete: t1. SystemOrganization delete: t1. AllClassNames _ AllClassNames delete: t1. classPane revise: self classes with: t1] leave [mySysOrgVersion _ user classNames. super leave] noCode [selection = 0  [''] selection = 2  [SystemOrganization] 'Class new title: ''NameOfClass'' subclassof: Object fields: ''names of fields'' declare: ''names of class variables''' copy] selected [classPane of: self classes] to: t1 [classPane _ t1] update [self of: ((AllClasses SystemOrganization ) concat: SystemOrganization categories). mySysOrgVersion _ user classNames] yellowbug | t1 [selection < 3  [window flash] scrollBar hidewhile [t1 _ sysmenu bug. [t1 = 1  [SystemOrganization filoutCategory: list  selection] t1 = 2  [SystemOrganization printCategory: list  selection] nil]]]