Changeset 756
- Timestamp:
- Dec 4, 2009 5:11:29 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/widplt
- Property rcs:date changed from 2003/11/13 17:21:00 to 2003/11/21 00:46:52
- Property rcs:lines changed from +6 -2 to +152 -28
- Property rcs:rev changed from 1.15 to 1.16
r748 r756 67 67 proc getprofiles {expnam} { 68 68 global WidSetList absSetList wave XY UVWP lblarr ttrange 69 70 if {[expload $expnam] == -1} { 71 tk_dialog .err "EXP Error" "Warning -- Unable to read $expnam" \ 69 global expmap 70 71 if {$expnam != ""} { 72 if {[expload $expnam] == -1} { 73 tk_dialog .err "EXP Error" "Warning -- Unable to read $expnam" \ 72 74 error 0 OK 73 return 74 } 75 mapexp 76 77 global expmap 75 return 76 } 77 mapexp 78 } else { 79 set expmap(powderlist) {} 80 } 78 81 foreach hist $expmap(powderlist) { 79 82 # wavelength … … 85 88 global ABS 86 89 set ABS($hist) [list \ 87 88 89 90 91 92 90 [histinfo $hist abscor1] \ 91 [histinfo $hist abscor2] \ 92 [histinfo $hist abstype] \ 93 $drange \ 94 "Hist $hist" \ 95 $expmap(htype_$hist)] 93 96 lappend absSetList $hist 94 97 } else { … … 106 109 if {$ptype == 1} { 107 110 set UVWP($key) [list [hapinfo $hist $phase pterm1] \ 108 109 111 [hapinfo $hist $phase pterm2] \ 112 [hapinfo $hist $phase pterm3] 0] 110 113 set XY($key) {0 0} 111 114 } elseif {$ptype == 2} { 112 115 set UVWP($key) [list [hapinfo $hist $phase pterm1] \ 113 114 115 116 [hapinfo $hist $phase pterm2] \ 117 [hapinfo $hist $phase pterm3] \ 118 [hapinfo $hist $phase pterm9]] 116 119 set XY($key) [list [hapinfo $hist $phase pterm4] \ 117 [hapinfo $hist $phase pterm5]]120 [hapinfo $hist $phase pterm5]] 118 121 } elseif {$ptype == 3 || $ptype == 4} { 119 122 set UVWP($key) [list [hapinfo $hist $phase pterm1] \ 120 121 122 123 [hapinfo $hist $phase pterm2] \ 124 [hapinfo $hist $phase pterm3] \ 125 [hapinfo $hist $phase pterm4]] 123 126 if {$ptype == 3} { 124 127 set XY($key) [list [hapinfo $hist $phase pterm5] \ 125 [hapinfo $hist $phase pterm6]]128 [hapinfo $hist $phase pterm6]] 126 129 } else { 127 130 set XY($key) [list [hapinfo $hist $phase pterm5] 0] … … 956 959 } 957 960 961 #------------------------------------------------------------------------- 962 # export current plot to Grace 963 #------------------------------------------------------------------------- 964 if {$tcl_platform(platform) == "unix"} { 965 set graph(GraceFile) /tmp/grace_out.agr 966 } else { 967 set graph(GraceFile) C:/graceout.agr 968 } 969 proc exportgrace {} { 970 global graph box 971 global tcl_platform graph 972 catch {toplevel .export} 973 raise .export 974 eval destroy [grid slaves .export] 975 set col 5 976 grid [label .export.1a -text Title:] -column 1 -row 1 977 set graph(title) [$box cget -title] 978 grid [entry .export.1b -width 60 -textvariable graph(title)] \ 979 -column 2 -row 1 -columnspan 4 980 grid [label .export.2a -text Subtitle:] -column 1 -row 2 981 grid [entry .export.2b -width 60 -textvariable graph(subtitle)] \ 982 -column 2 -row 2 -columnspan 4 983 grid [label .export.3a -text "File name:"] -column 1 -row 3 984 grid [entry .export.3b -width 60 -textvariable graph(GraceFile)] \ 985 -column 2 -row 3 -columnspan 4 986 grid [button .export.help -text Help -bg yellow \ 987 -command "MakeWWWHelp liveplot.html grace"] \ 988 -column [incr col -1] -row 4 989 grid [button .export.c -text "Close" \ 990 -command "set graph(export) 0; destroy .export"] \ 991 -column [incr col -1] -row 4 992 if {$tcl_platform(platform) == "unix" && [auto_execok xmgrace] != ""} { 993 grid [button .export.d -text "Export & \nstart grace" \ 994 -command "set graph(export) 1; destroy .export"] \ 995 -column [incr col -1] -row 4 996 } 997 grid [button .export.e -text "Export" \ 998 -command "set graph(export) 2; destroy .export"] \ 999 -column [incr col -1] -row 4 1000 tkwait window .export 1001 if {$graph(export) == 0} return 1002 if {[catch { 1003 set fp [open $graph(GraceFile) w] 1004 puts $fp [output_grace $box $graph(title) $graph(subtitle)] 1005 close $fp 1006 } errmsg]} { 1007 MyMessageBox -parent . -title "Export Error" \ 1008 -message "An error occured during the export: $errmsg" \ 1009 -icon error -type Ignore -default ignore 1010 return 1011 } 1012 1013 if {$graph(export) == 1} { 1014 set err [catch {exec xmgrace $graph(GraceFile) &} errmsg] 1015 if $err { 1016 MyMessageBox -parent . -title "Grace Error" \ 1017 -message "An error occured launching grace (xmgrace): $errmsg" \ 1018 -icon error -type Ignore -default ignore 1019 } 1020 } else { 1021 MyMessageBox -parent . -title "OK" \ 1022 -message "File $graph(GraceFile) created" \ 1023 -type OK -default ok 1024 } 1025 } 1026 #------------------------------------------------------------------------- 1027 # export current plot as .csv file 1028 #------------------------------------------------------------------------- 1029 proc makecsvfile {} { 1030 global graph box expnam program 1031 global tcl_platform graph 1032 set typelist { 1033 {{Comma separated} {.csv} } 1034 {{Text File} {.txt} } 1035 } 1036 set file [tk_getSaveFile -filetypes $typelist \ 1037 -initialfile ${expnam}_$program.csv] 1038 if {$file == ""} return 1039 set varlist {} 1040 set line {} 1041 foreach element_name [$box element names] { 1042 lappend varlist ${element_name}_x 1043 set ${element_name}_x [$box element cget $element_name -xdata] 1044 lappend varlist ${element_name}_y 1045 set ${element_name}_y [$box element cget $element_name -ydata] 1046 append line [$box element cget $element_name -label] "-X, " 1047 append line [$box element cget $element_name -label] "-Y, " 1048 } 1049 set fp [open $file w] 1050 # get x and y axis limits 1051 foreach v {x y} { 1052 foreach "${v}min ${v}max" [$box ${v}axis limits] {} 1053 puts $fp "\"$v axis range [set ${v}min] to [set ${v}max]\"" 1054 puts $fp "\"$v axis label [$box ${v}axis cget -title]\"" 1055 } 1056 puts $fp $line 1057 set i 0 1058 set done 1 1059 while {$done} { 1060 set line {} 1061 set done 0 1062 foreach var $varlist { 1063 set val [lindex [set $var] $i] 1064 if {$val != ""} {set done 1} 1065 append line "$val, " 1066 } 1067 if {$done} {puts $fp $line} 1068 incr i 1069 } 1070 close $fp 1071 } 1072 1073 958 1074 set graph(legend) 0 959 1075 set graph(equivwave) {} … … 1066 1182 .a.file.menu add cascade -label "Edit Curve" -menu .a.file.menu.edit 1067 1183 } 1184 #.a.file.menu add command -label "Make PostScript" -command makepostscriptout 1068 1185 menu .a.file.menu.edit 1069 .a.file.menu add command -label "Make PostScript" -command makepostscriptout 1186 .a.file.menu add cascade -label "Export plot" -menu .a.file.menu.export 1187 menu .a.file.menu.export 1188 .a.file.menu.export add command -label "Make PostScript" \ 1189 -command makepostscriptout 1190 if {$blt_version > 2.3 && $blt_version != 8.0} { 1191 source [file join $expgui(scriptdir) graceexport.tcl] 1192 .a.file.menu.export add command -label "to Grace" -command exportgrace 1193 } 1194 .a.file.menu.export add command -label "as .csv file" \ 1195 -command makecsvfile 1070 1196 .a.file.menu add command -label Quit -command "destroy ." 1071 1197 pack [menubutton .a.options -text Options -underline 0 -menu .a.options.menu] \ … … 1106 1232 #---------------------------------------------------------------- 1107 1233 # OK now go get the profile info 1108 if {$expnam != ""} { 1109 getprofiles $expnam 1110 } 1234 getprofiles $expnam 1111 1235 #---------------------------------------------------------------- 1112 1236
Note: See TracChangeset
for help on using the changeset viewer.