Class new title: PanedWindow subclassof: Window fields: 'panes templates title' declare: '' close | t1 [for t1 from: panes do [t1 close]] eachtime | t1 [[frame has: user mp  [user bluebug  [self bluebug] for t1 from: panes do [t1 startup]]]. self outside  [] user anybug  [frame has: user mp  [] false] user kbck  [user kbd. frame flash]] enter | t1 [super show. for t1 from: panes do [t1 windowenter]] erase [self titlerect clear. super erase] fixframe: t1 [Rectangle new origin: t1 origin extent: (t1 extent max: 160  80)] frame: t1 | t2 t3 t4 t5 t6 [frame _ t1. t2 _ templates asStream. t5 _ frame origin - 1. t6 _ frame extent + 2. for t4 from: panes do [t3 _ t2 next. t4 frame_ t3 * t6 / 36 + t5 inset: 1]] hardcopy | t1 [user displayoffwhile [t1 _ dp0 pressfile: (self title + '.press') asFileName. self hardcopy: t1. t1 close. t1 toPrinter]] hardcopy: t1 | t2 [self showtitle. titleframe hardcopy: t1. for t2 from: panes do [t2 hardcopy: t1]] kbd | t1 [t1 _ self pickedpane. t1  [t1 kbd]] keyset | t1 [t1 _ self pickedpane. t1  [t1 keyset]] leave | t1 [for t1 from: panes do [t1 windowleave]] pickedpane | t1 [for t1 from: panes do [t1 picked  [t1]]. frame flash. false] redbug | t1 [t1 _ self pickedpane. t1  [t1 redbug]] show | t1 [super show. for t1 from: panes do [t1 outline]] takeCursor [(panes  1) takeCursor] title [title] title: t1 with: t2 at: t3 | t4 [title _ t1. panes _ t2. templates _ t3. self reset. for t4 from: panes do [t4 init]] titlerect [frame origin - (2  (DefaultTextStyle lineheight + 4)) rect: frame corner x  frame origin y + (2  0)] vanish [self close. self erase. user unschedule: self] yellowbug | t1 [t1 _ self pickedpane. t1  [t1 yellowbug]]