File: send_support.tcl

package info (click to toggle)
grass 6.0.2-6
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 40,044 kB
  • ctags: 31,303
  • sloc: ansic: 321,125; tcl: 25,676; sh: 11,176; cpp: 10,098; makefile: 5,025; fortran: 1,846; yacc: 493; lex: 462; perl: 133; sed: 1
file content (40 lines) | stat: -rw-r--r-- 959 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# This file provides support for the scripting operations 
# implemented in nviz

# A quick routine for playing a scriptfile
proc PlayScriptFile {new_file} {
    global ScriptPlaying

    # Now read in a new file name
    # set new_file [create_file_browser .script_file_browser 1]
    set ScriptPlaying [open $new_file r]

    while {[eof $ScriptPlaying] != 1} {
	PlayNextLine
	after 100
    }
    close $ScriptPlaying
    set ScriptPlaying 0
}

proc PlayNextLine {} {
    global ScriptPlaying ProcessName

    if {$ScriptPlaying == 0} return 
    if {[eof $ScriptPlaying] == 1} {
	set ScriptPlaying 0
	return
    }

    set line ""
    set next_line ""
    puts "looking for next line"
    gets $ScriptPlaying next_line
    while {("$next_line" != "!sep!") && ([eof $ScriptPlaying] != 1)} {
	append line $next_line "\n"
	gets $ScriptPlaying next_line
    }
    puts "found it...executing"
    # uplevel \#0 "$line"
    catch "send $ProcessName \"$line\""
}