--- capa/capa51/GUITools/quizzer.tcl 2000/01/12 21:00:25 1.12 +++ capa/capa51/GUITools/quizzer.tcl 2000/01/31 18:34:13 1.13 @@ -641,6 +641,7 @@ proc getProbValTryVal {} { ########################################################### # updateDateBox ########################################################### +# sticks the date information from gControlDates into the date listbox ########################################################### ########################################################### proc updateDateBox { listbox } { @@ -665,7 +666,11 @@ proc loadDates { listbox } { global gControlDates if { [catch {getHeaderInfo}]} { displayError "That set.db does not exist" - } + } else { + if { [llength $gControlDates] > 2 } { + set gControlDates [linsert [lreverse [lrange $gControlDates 1 end]] 0 [lindex $gControlDates 0]] + } + } updateDateBox $listbox } @@ -819,6 +824,50 @@ proc getday { kind } { } ########################################################### +# moveUpDate +########################################################### +########################################################### +########################################################### +proc moveUpDate { listbox } { + global gControlDates gDates + if { ![winfo exists $listbox] } { return } + if { [set which [$listbox curselection]] == "" } { + displayMessage "Please select a date to move." + return + } + if { $which > 1 } { + set element [lindex $gControlDates $which] + set gControlDates [lreplace $gControlDates $which $which] + set gControlDates [linsert $gControlDates [expr $which - 1] $element] + updateDateBox $listbox + $listbox selection set [expr {$which - 1}] + $listbox see [expr {$which -1}] + } +} + +########################################################### +# moveDownDate +########################################################### +########################################################### +########################################################### +proc moveDownDate { listbox } { + global gControlDates gDates + if { ![winfo exists $listbox] } { return } + if { [set which [$listbox curselection]] == "" } { + displayMessage "Please select a date to move." + return + } + if { ($which > 0) && ($which < ([llength $gControlDates]-1)) } { + set element [lindex $gControlDates $which] + set gControlDates [lreplace $gControlDates $which $which] + set gControlDates [linsert $gControlDates [expr $which + 1] $element] + updateDateBox $listbox + $listbox selection set [expr {$which + 1}] + $listbox see [expr {$which + 1}] + } +} + +########################################################### # enableDateValidation ########################################################### ########################################################### @@ -1182,9 +1231,11 @@ proc createDBHeader {} { message $dialog.msg -text "Header Information" -aspect 1000 set loadFrame [frame $dialog.loadFrame -borderwidth 4 -relief sunken] set infoFrame [frame $dialog.infoFrame -borderwidth 4 -relief sunken] + label $dialog.message -text "Later entries will override earlier entries" set optionFrame [frame $dialog.options] set buttonFrame [frame $dialog.buttons -bd 10] - pack $dialog.msg $loadFrame $infoFrame $optionFrame $buttonFrame -side top -fill x + pack $dialog.msg $loadFrame $dialog.message $infoFrame $optionFrame \ + $buttonFrame -side top -fill x set legendFrame [frame $infoFrame.legendFrame] set listFrame [frame $infoFrame.listFrame] @@ -1198,12 +1249,16 @@ proc createDBHeader {} { set listbox [listbox $listFrame.list -width 63 -yscrollcommand "$listFrame.scroll set" ] scrollbar $listFrame.scroll -command "$listbox yview" pack $listFrame.list $listFrame.scroll -side left + pack configure $listFrame.scroll -fill y updateDateBox $listbox button $commandFrame.add -text "Add" -command "addDate $listbox" button $commandFrame.change -text "Change" -command "changeDate $listbox" button $commandFrame.delete -text "Delete" -command "deleteDate $listbox" - pack $commandFrame.add $commandFrame.change $commandFrame.delete -side left + button $commandFrame.moveup -text "MoveUp" -command "moveUpDate $listbox" + button $commandFrame.movedown -text "MoveDown" -command "moveDownDate $listbox" + pack $commandFrame.add $commandFrame.change $commandFrame.delete \ + $commandFrame.moveup $commandFrame.movedown -side left bind $listbox "changeDate $listbox" message $loadFrame.msg -text "Load header information from set:" \ @@ -1252,6 +1307,9 @@ proc createDBHeader {} { destroy $dialog if {$gPrompt(ok) == 1 } { updateDiscussion + if { [llength $gControlDates] > 2 } { + set gControlDates [linsert [lreverse [lrange $gControlDates 1 end]] 0 [lindex $gControlDates 0]] + } eval updateHeader [ eval concat $gControlDates ] } @@ -1800,7 +1858,7 @@ proc createPrefsWindow {} { if { [winfo exists .prefs] } { capaRaise .prefs; return } set prefs [toplevel .prefs] - $gWindowMenu add command -label "Prefrences" -command "capaRaise $prefs" + $gWindowMenu add command -label "Prefernces" -command "capaRaise $prefs" wm title $prefs "Preferences" set frameAll [frame $prefs.frameAll -relief groove -borderwidth 4] @@ -1844,7 +1902,7 @@ proc createPrefsWindow {} { button $frameButton.config -text "Reread capa.config" -command "rereadCapaConfig" button $frameButton.ok -text "Dismiss" -command "destroy $prefs trace vdelete gWhichFile w changePrefFile - removeWindowEntry Prefrences" + removeWindowEntry Prefernces" bind $prefs "removeWindowEntry Preferences" button $frameButton.save -text "Save All" -command "savePrefs" pack $frameButton.impcolor $frameButton.commentcolor $frameButton.config \ @@ -1971,6 +2029,9 @@ 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]] + } if { $error == 1 } { set gHeaderQCount "0" set gControlDates ""