version 1.13, 2000/01/31 18:34:13
|
version 1.18, 2000/07/12 15:57:08
|
Line 1
|
Line 1
|
|
# 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 - |
# quizzer.tcl - |
# Copyright Guy Albertelli II 1996 |
# Created Guy Albertelli II 1996 |
########################################################### |
########################################################### |
set gTclVer 4.0 |
set gTclVer 4.0 |
|
|
Line 287 proc createInfoWindow {} {
|
Line 310 proc createInfoWindow {} {
|
label $about.l1 -font 12x24 -text "Quizzer $gVer" -pady 20 |
label $about.l1 -font 12x24 -text "Quizzer $gVer" -pady 20 |
label $about.l4 -font 8x13 -text "Quizzer.tcl version $gTclVer" -pady 20 |
label $about.l4 -font 8x13 -text "Quizzer.tcl version $gTclVer" -pady 20 |
label $about.l6 -font 8x13 -text "$gCompileDate" |
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 |
-pady 20 -aspect 300 |
label $about.l3 -font 8x13 -textvariable gDate |
label $about.l3 -font 8x13 -textvariable gDate |
label $about.l5 -font 8x13 -textvariable gCmd |
label $about.l5 -font 8x13 -textvariable gCmd |
Line 1014 proc createDateDialog { toplevel makedef
|
Line 1037 proc createDateDialog { toplevel makedef
|
button $buttonFrame.cancel -text "Cancel" -command "set gPrompt2(ok) 0" |
button $buttonFrame.cancel -text "Cancel" -command "set gPrompt2(ok) 0" |
set gDates(optBut) [ button $buttonFrame.options -text "More Options" \ |
set gDates(optBut) [ button $buttonFrame.options -text "More Options" \ |
-command "addDateOptions"] |
-command "addDateOptions"] |
pack $buttonFrame.help $buttonFrame.set $buttonFrame.cancel $buttonFrame.options \ |
pack $buttonFrame.set $buttonFrame.cancel $buttonFrame.options -side left |
-side left |
|
bind $toplevel <Destroy> "set gPrompt2(ok) 0" |
bind $toplevel <Destroy> "set gPrompt2(ok) 0" |
bind $toplevel <KeyPress> "getday open;getday due;getday answer" |
bind $toplevel <KeyPress> "getday open;getday due;getday answer" |
bind $toplevel <Return> {tkTabToWindow [tk_focusNext %W]} |
bind $toplevel <Return> {tkTabToWindow [tk_focusNext %W]} |
Line 1145 proc changeDate { listbox } {
|
Line 1167 proc changeDate { listbox } {
|
} |
} |
} |
} |
capaGrab release $changeDate |
capaGrab release $changeDate |
bind $changeDate <Destroy> "" |
catch {bind $changeDate <Destroy> ""} |
destroy $changeDate |
destroy $changeDate |
if {$gPrompt2(ok) == 1 } { |
if {$gPrompt2(ok) == 1 } { |
addCurrentDates $listbox $makedefault $which |
addCurrentDates $listbox $makedefault $which |
Line 1196 proc addDate { listbox } {
|
Line 1218 proc addDate { listbox } {
|
} |
} |
} |
} |
capaGrab release $addDate |
capaGrab release $addDate |
bind $addDate <Destroy> "" |
catch {bind $addDate <Destroy> ""} |
destroy $addDate |
destroy $addDate |
if {$gPrompt2(ok) == 1 } { |
if {$gPrompt2(ok) == 1 } { |
addCurrentDates $listbox $makedefault |
addCurrentDates $listbox $makedefault |
Line 2029 proc checkHeader { numberParsed } {
|
Line 2051 proc checkHeader { numberParsed } {
|
# if { $gFirstTime } { set gFirstTime 0; return } |
# if { $gFirstTime } { set gFirstTime 0; return } |
set gLoadHeaderSet $gSetNumberText |
set gLoadHeaderSet $gSetNumberText |
set error [catch {getHeaderInfo}] |
set error [catch {getHeaderInfo}] |
if { [llength $gControlDates] > 2 } { |
catch { |
set gControlDates [linsert [lreverse [lrange $gControlDates 1 end]] 0 [lindex $gControlDates 0]] |
if { [llength $gControlDates] > 2 } { |
} |
set gControlDates [linsert [lreverse [lrange $gControlDates 1 end]] 0 [lindex $gControlDates 0]] |
|
} |
|
} |
if { $error == 1 } { |
if { $error == 1 } { |
set gHeaderQCount "0" |
set gHeaderQCount "0" |
set gControlDates "" |
set gControlDates "" |
Line 3638 proc printWindow {} {
|
Line 3662 proc printWindow {} {
|
pack $print.msg $oneSetFrame $moreSetFrame $buttonFrame -side top |
pack $print.msg $oneSetFrame $moreSetFrame $buttonFrame -side top |
pack configure $oneSetFrame $moreSetFrame -anchor w -fill x |
pack configure $oneSetFrame $moreSetFrame -anchor w -fill x |
|
|
|
set msg2Frame [frame $moreSetFrame.msg2 -relief solid -borderwidth 2] |
set infoFrame [frame $moreSetFrame.frame1] |
set infoFrame [frame $moreSetFrame.frame1] |
set setFrame [frame $moreSetFrame.frame2 -relief solid -borderwidth 1] |
set msg3Frame [frame $moreSetFrame.msg3 -relief solid -borderwidth 2] |
pack $infoFrame $setFrame |
set setFrame [frame $moreSetFrame.frame2] |
pack configure $infoFrame $setFrame -anchor w |
pack $msg2Frame $setFrame $msg3Frame $infoFrame -anchor w |
|
|
if {[catch {set gPrintSelection(sets)}]} {set gPrintSelection(sets) printCur} |
if {[catch {set gPrintSelection(sets)}]} {set gPrintSelection(sets) printCur} |
if {[catch {set gPrintSelection(type)}]} {set gPrintSelection(type) printSpecific} |
if {[catch {set gPrintSelection(type)}]} {set gPrintSelection(type) printSpecific} |
Line 3673 proc printWindow {} {
|
Line 3698 proc printWindow {} {
|
bind $print <Destroy> "removeWindowEntry Print" |
bind $print <Destroy> "removeWindowEntry Print" |
pack $buttonFrame.ok $buttonFrame.cancel -side left |
pack $buttonFrame.ok $buttonFrame.cancel -side left |
|
|
|
set msgFrame [frame $oneSetFrame.msg -relief solid -borderwidth 2] |
set currentDviFrame [frame $oneSetFrame.currentDvi] |
set currentDviFrame [frame $oneSetFrame.currentDvi] |
set currentPreviewFrame [frame $oneSetFrame.currentPreview] |
set currentPreviewFrame [frame $oneSetFrame.currentPreview] |
set randomFrame [frame $oneSetFrame.random] |
set randomFrame [frame $oneSetFrame.random] |
Line 3680 proc printWindow {} {
|
Line 3706 proc printWindow {} {
|
set sectionFrame [frame $infoFrame.section] |
set sectionFrame [frame $infoFrame.section] |
set multSectionFrame [frame $infoFrame.multsection] |
set multSectionFrame [frame $infoFrame.multsection] |
set wholeClassFrame [frame $infoFrame.wholeClass] |
set wholeClassFrame [frame $infoFrame.wholeClass] |
pack $currentDviFrame $currentPreviewFrame $randomFrame $specificFrame \ |
pack $msgFrame $currentDviFrame $currentPreviewFrame $randomFrame $specificFrame \ |
$sectionFrame $multSectionFrame $wholeClassFrame -anchor w \ |
$sectionFrame $multSectionFrame $wholeClassFrame -anchor w \ |
-side top |
-side top |
pack configure $specificFrame -expand true -fill both |
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" \ |
radiobutton $currentDviFrame.currentDvi -text "Print current .dvi" \ |
-value "printCurrentDvi" -variable gPrintSelection(type) |
-value "printCurrentDvi" -variable gPrintSelection(type) |
pack $currentDviFrame.currentDvi -side left |
pack $currentDviFrame.currentDvi -side left |
Line 3863 proc printBody { lprCommand { showComple
|
Line 3896 proc printBody { lprCommand { showComple
|
global gCapaConfig gStopPrinting gDonePrinting |
global gCapaConfig gStopPrinting gDonePrinting |
|
|
set errorMsg "" |
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 ] |
-o quiztemp.ps >& /dev/null} errorMsg ] |
if { $error } { |
if { $error } { |
displayError \ |
displayError \ |