Changeset 1166 for trunk/instedit.tcl


Ignore:
Timestamp:
Aug 17, 2011 6:17:04 PM (9 years ago)
Author:
toby
Message:

bring sandbox changes over to main release

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/instedit.tcl

    r991 r1166  
    7878    # loop over banks
    7979    set msg {}
    80     for {set i 1} {$i <= $instdat(lastbank)} {incr i} {
    81         instbankinfo rad $i set $instdat(rad$i)
    82         instbankinfo head $i set $instdat(head$i)
    83         if {[string trim $instdat(name$i)] == ""} {
    84             append msg "\n  The instrument name may not be blank"
    85         }
    86         instbankinfo name $i set $instdat(name$i)
    87         set l {}
    88         foreach var {difc difa zero pola ipola kratio} {
    89             lappend l $instdat(${var}$i)
    90         }
    91         if {[instbankinfo icons $i set $l] != 1} {
    92             append msg "\n  There is an error in values for:\n    the wavelength, zero or polarization"
    93         }
    94         # loop over the profile terms
    95 
    96         for {set j 1} {$j <= $instparms(proftypes${i})} {incr j} {
    97             set l {}
    98             for {set k 1} {$k <= $instparms(profterms${i}_$j)} {incr k} {
    99                 lappend l $instdat(prof${i}_${j}_$k)
    100             }
    101             if {[instprofinfo $i $j set [list \
    102                     $instdat(proftype${i}_$j) $instdat(profcut${i}_$j) $l]\
    103                     ] != 1} {
    104                 append msg "\n  There is an error in the values for profile set $j."
    105             }
    106         }
    107         if {$msg != ""} {
    108             MyMessageBox -parent . -title "No save" \
     80    if {[catch {
     81        for {set i 1} {$i <= $instdat(lastbank)} {incr i} {
     82            instbankinfo rad $i set $instdat(rad$i)
     83            instbankinfo head $i set $instdat(head$i)
     84            if {[string trim $instdat(name$i)] == ""} {
     85                append msg "\n  The instrument name may not be blank"
     86            }
     87            instbankinfo name $i set $instdat(name$i)
     88            set l {}
     89            foreach var {difc difa zero pola ipola kratio} {
     90                lappend l $instdat(${var}$i)
     91            }
     92            if {[instbankinfo icons $i set $l] != 1} {
     93                append msg "\n  There is an error in values for:\n    the wavelength, zero or polarization"
     94            }
     95            # loop over the profile terms
     96           
     97            for {set j 1} {$j <= $instparms(proftypes${i})} {incr j} {
     98                set l {}
     99                for {set k 1} {$k <= $instparms(profterms${i}_$j)} {incr k} {
     100                    lappend l $instdat(prof${i}_${j}_$k)
     101                }
     102                if {[instprofinfo $i $j set [list \
     103                                                 $instdat(proftype${i}_$j) $instdat(profcut${i}_$j) $l]\
     104                        ] != 1} {
     105                    append msg "\n  There is an error in the values for profile set $j."
     106                }
     107            }
     108            if {$msg != ""} {
     109                MyMessageBox -parent . -title "No save" \
    109110                    -message "Error in input for bank $i:$msg" -icon warning \
    110111                    -type Sorry -default sorry
    111             return
    112         }
     112                return
     113            }
     114        }
     115    } errmsg]} {
     116        if {$errmsg == ""} return
     117        MyMessageBox -parent . -title "No save" \
     118            -message "Error in input (did you define data type, profile type, etc?):\n$errmsg" -icon warning \
     119            -type Sorry -default sorry
     120        return
    113121    }
    114122    if {$filename == ""} {
     
    150158proc instShowBank {box} {
    151159    global instdat instparms
     160    set instparms(profileframe) {}
     161
    152162    set topfr $box.a
    153163    if {$instparms(bank) == 0} return
     
    159169    }
    160170    if {$instparms(banklabel) == ""} {
    161         puts starting
    162171        return
    163172    }
     
    562571proc AddInstProfile {box b} {
    563572    global instparms instdat
    564     set frame $instparms(profileframe)
    565573    incr instparms(proftypes${b})
    566574    instShowBank $box
     
    759767                -parent $instparms(top) -defaultextension .ins \
    760768                -filetypes {{"Instrument parameters file" ".ins .inst .prm"} {All *.*}}]
     769    } elseif {$filename == "(new)"} {
     770        set instparms(filename) ""
    761771    } else {
    762772        set instparms(filename) $filename
Note: See TracChangeset for help on using the changeset viewer.