--- capa/capa51/GUITools/quizzer.tcl 2000/01/31 18:34:13 1.13 +++ capa/capa51/GUITools/quizzer.tcl 2000/07/12 15:57:08 1.18 @@ -1,6 +1,29 @@ +# student quiz editor and assembly tool +# Copyright (C) 1992-2000 Michigan State University +# +# The CAPA system is free software; you can redistribute it and/or +# modify it under the terms of the GNU Library General Public License as +# published by the Free Software Foundation; either version 2 of the +# License, or (at your option) any later version. +# +# The CAPA system is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Library General Public License for more details. +# +# You should have received a copy of the GNU Library General Public +# License along with the CAPA system; see the file COPYING. If not, +# write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. +# +# As a special exception, you have permission to link this program +# with the TtH/TtM library and distribute executables, as long as you +# follow the requirements of the GNU GPL in regard to all of the +# software in the executable aside from TtH/TtM. + ########################################################### # quizzer.tcl - -# Copyright Guy Albertelli II 1996 +# Created Guy Albertelli II 1996 ########################################################### set gTclVer 4.0 @@ -287,7 +310,7 @@ proc createInfoWindow {} { label $about.l1 -font 12x24 -text "Quizzer $gVer" -pady 20 label $about.l4 -font 8x13 -text "Quizzer.tcl version $gTclVer" -pady 20 label $about.l6 -font 8x13 -text "$gCompileDate" - message $about.l2 -font 8x13 -text "Code by: Y. Tsai, G. Albertelli II Copyright Michigan State University Board of Trustees, 1992-1999, No Unauthorized Commercial Use" \ + message $about.l2 -font 8x13 -text "Code by: Y. Tsai, G. Albertelli II Copyright Michigan State University Board of Trustees, 1992-2000, CAPA is released under to GNU GPL v2, and comes WITHOUT ANY WARRENTY, see COPYING for details" \ -pady 20 -aspect 300 label $about.l3 -font 8x13 -textvariable gDate label $about.l5 -font 8x13 -textvariable gCmd @@ -1014,8 +1037,7 @@ proc createDateDialog { toplevel makedef button $buttonFrame.cancel -text "Cancel" -command "set gPrompt2(ok) 0" set gDates(optBut) [ button $buttonFrame.options -text "More Options" \ -command "addDateOptions"] - pack $buttonFrame.help $buttonFrame.set $buttonFrame.cancel $buttonFrame.options \ - -side left + pack $buttonFrame.set $buttonFrame.cancel $buttonFrame.options -side left bind $toplevel "set gPrompt2(ok) 0" bind $toplevel "getday open;getday due;getday answer" bind $toplevel {tkTabToWindow [tk_focusNext %W]} @@ -1145,7 +1167,7 @@ proc changeDate { listbox } { } } capaGrab release $changeDate - bind $changeDate "" + catch {bind $changeDate ""} destroy $changeDate if {$gPrompt2(ok) == 1 } { addCurrentDates $listbox $makedefault $which @@ -1196,7 +1218,7 @@ proc addDate { listbox } { } } capaGrab release $addDate - bind $addDate "" + catch {bind $addDate ""} destroy $addDate if {$gPrompt2(ok) == 1 } { addCurrentDates $listbox $makedefault @@ -2029,9 +2051,11 @@ proc checkHeader { numberParsed } { # if { $gFirstTime } { set gFirstTime 0; return } set gLoadHeaderSet $gSetNumberText set error [catch {getHeaderInfo}] - if { [llength $gControlDates] > 2 } { - set gControlDates [linsert [lreverse [lrange $gControlDates 1 end]] 0 [lindex $gControlDates 0]] - } + catch { + if { [llength $gControlDates] > 2 } { + set gControlDates [linsert [lreverse [lrange $gControlDates 1 end]] 0 [lindex $gControlDates 0]] + } + } if { $error == 1 } { set gHeaderQCount "0" set gControlDates "" @@ -3638,10 +3662,11 @@ proc printWindow {} { pack $print.msg $oneSetFrame $moreSetFrame $buttonFrame -side top pack configure $oneSetFrame $moreSetFrame -anchor w -fill x + set msg2Frame [frame $moreSetFrame.msg2 -relief solid -borderwidth 2] set infoFrame [frame $moreSetFrame.frame1] - set setFrame [frame $moreSetFrame.frame2 -relief solid -borderwidth 1] - pack $infoFrame $setFrame - pack configure $infoFrame $setFrame -anchor w + set msg3Frame [frame $moreSetFrame.msg3 -relief solid -borderwidth 2] + set setFrame [frame $moreSetFrame.frame2] + pack $msg2Frame $setFrame $msg3Frame $infoFrame -anchor w if {[catch {set gPrintSelection(sets)}]} {set gPrintSelection(sets) printCur} if {[catch {set gPrintSelection(type)}]} {set gPrintSelection(type) printSpecific} @@ -3673,6 +3698,7 @@ proc printWindow {} { bind $print "removeWindowEntry Print" pack $buttonFrame.ok $buttonFrame.cancel -side left + set msgFrame [frame $oneSetFrame.msg -relief solid -borderwidth 2] set currentDviFrame [frame $oneSetFrame.currentDvi] set currentPreviewFrame [frame $oneSetFrame.currentPreview] set randomFrame [frame $oneSetFrame.random] @@ -3680,11 +3706,18 @@ proc printWindow {} { set sectionFrame [frame $infoFrame.section] set multSectionFrame [frame $infoFrame.multsection] set wholeClassFrame [frame $infoFrame.wholeClass] - pack $currentDviFrame $currentPreviewFrame $randomFrame $specificFrame \ + pack $msgFrame $currentDviFrame $currentPreviewFrame $randomFrame $specificFrame \ $sectionFrame $multSectionFrame $wholeClassFrame -anchor w \ -side top pack configure $specificFrame -expand true -fill both + label $msgFrame.msg -text "Select:" + pack $msgFrame.msg -anchor w + label $msg2Frame.msg -text "Or Select:" + pack $msg2Frame.msg -anchor w + label $msg3Frame.msg -text "For:" + pack $msg3Frame.msg -anchor w + radiobutton $currentDviFrame.currentDvi -text "Print current .dvi" \ -value "printCurrentDvi" -variable gPrintSelection(type) pack $currentDviFrame.currentDvi -side left @@ -3863,7 +3896,7 @@ proc printBody { lprCommand { showComple global gCapaConfig gStopPrinting gDonePrinting set errorMsg "" - set error [ catch {exec $gCapaConfig(dvips_command) quiztemp.dvi \ + set error [ catch {eval exec $gCapaConfig(dvips_command) quiztemp.dvi \ -o quiztemp.ps >& /dev/null} errorMsg ] if { $error } { displayError \