#!/usr/bin/wish # dims {width height}. array set cfg { dims {800 600} mask {new %dx%d window for '-into': %ld} } proc buildUI {} { global cfg rt wm protocol . WM_DELETE_WINDOW [list destroy .] wm resizable . 0 0 wm title . {POVr frame test} lassign $cfg(dims) x y ; incr x 10 ; incr y 10 set rt(w) [frame .frm -bg gray85 -height $y -width $x -relief flat] set w [frame .fctl -borderwidth 2 -padx 1 -relief groove] button $w.btnExit -text exit -command [list destroy .] button $w.btnNew -text {new window} -command cmdNew pack $w.btnNew $w.btnExit -side left -expand true -fill x pack .frm -side top pack .fctl -expand true -fill x return } proc cmdNew {} { global cfg rt if {[winfo exists .pwin]} { tk_dialog .dlg oops {window still in use.} error 0 dismiss return } lassign $cfg(dims) x y frame .pwin -class POVWindow -container true -height $y -width $x puts [format $cfg(mask) $x $y [winfo id .pwin]] pack .pwin -in $rt(w) -padx 5 -pady 5 return } buildUI