︙ | | | ︙ | |
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
#
#----------------------------------------------------------------------
# $Revision$
#----------------------------------------------------------------------
# the next line restarts using tclsh \
exec tclsh "$0" "$@"
package provide app-eskil 2.0
package require Tcl 8.4
# Stop Tk from meddling with the command line by copying it first.
set ::eskil(argv) $::argv
set ::eskil(argc) $::argc
set ::argv {}
set ::argc 0
|
<
|
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
#
#----------------------------------------------------------------------
# $Revision$
#----------------------------------------------------------------------
# the next line restarts using tclsh \
exec tclsh "$0" "$@"
package require Tcl 8.4
# Stop Tk from meddling with the command line by copying it first.
set ::eskil(argv) $::argv
set ::eskil(argc) $::argc
set ::argv {}
set ::argc 0
|
︙ | | | ︙ | |
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
}
# Debug function to be able to reread the source even when wrapped in a kit.
proc EskilRereadSource {} {
set this $::thisScript
# Are we in a Starkit?
if {[regexp {^(.*eskil)((?:\.[^/]+)?)(/lib/app-eskil.*)$} $this -> \
pre ext post]} {
if {$ext ne ".vfs"} {
# If the unpacked vfs directory is available, read from that
# instead.
set src $pre.vfs$post
if {[file readable $src]} {
set this $src
|
|
|
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
}
# Debug function to be able to reread the source even when wrapped in a kit.
proc EskilRereadSource {} {
set this $::thisScript
# Are we in a Starkit?
if {[regexp {^(.*eskil)((?:\.[^/]+)?)(/src/.*)$} $this -> \
pre ext post]} {
if {$ext ne ".vfs"} {
# If the unpacked vfs directory is available, read from that
# instead.
set src $pre.vfs$post
if {[file readable $src]} {
set this $src
|
︙ | | | ︙ | |
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
|
if {[file isdirectory [file join $dir CVS]]} {
if {[auto_execok cvs] ne ""} {
return "CVS"
}
# Error?
}
# ClearCase
# Maybe cd to dir first? FIXA
if {[auto_execok cleartool] != ""} {
if {![catch {exec cleartool pwv -s} view] && $view != "** NONE **"} {
return "CT"
}
}
# RCS
if {[file isdirectory [file join $dir RCS]] || [file exists $file,v]} {
if {[auto_execok rcs] ne ""} {
return "RCS"
}
# Error?
|
<
>
>
>
>
|
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
|
if {[file isdirectory [file join $dir CVS]]} {
if {[auto_execok cvs] ne ""} {
return "CVS"
}
# Error?
}
# ClearCase
if {[auto_execok cleartool] != ""} {
set old [pwd]
cd $dir
if {![catch {exec cleartool pwv -s} view] && $view != "** NONE **"} {
cd $old
return "CT"
}
cd $old
}
# RCS
if {[file isdirectory [file join $dir RCS]] || [file exists $file,v]} {
if {[auto_execok rcs] ne ""} {
return "RCS"
}
# Error?
|
︙ | | | ︙ | |
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
|
#####################################
# Help and startup functions
#####################################
proc makeNuisance {top {str {Hi there!}}} {
if {[lsearch [image names] nuisance] < 0} {
set file [file join $::thisDir Nuisance.gif]
if {![file exists $file]} return
image create photo nuisance -file $file
}
destroy $top.nui
toplevel $top.nui
wm transient $top.nui $top
|
|
|
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
|
#####################################
# Help and startup functions
#####################################
proc makeNuisance {top {str {Hi there!}}} {
if {[lsearch [image names] nuisance] < 0} {
set file [file join $::thisDir .. Nuisance.gif]
if {![file exists $file]} return
image create photo nuisance -file $file
}
destroy $top.nui
toplevel $top.nui
wm transient $top.nui $top
|
︙ | | | ︙ | |
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
|
}
}
}
proc makeHelpWin {} {
global Pref
set doc [file join $::thisDir doc/eskil.txt]
if {![file exists $doc]} return
set w [helpWin .he "Eskil Help"]
set t [Scroll y text $w.t -width 85 -height 35]
pack $w.t -side top -expand 1 -fill both
configureDocWin $t
|
|
|
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
|
}
}
}
proc makeHelpWin {} {
global Pref
set doc [file join $::thisDir .. doc/eskil.txt]
if {![file exists $doc]} return
set w [helpWin .he "Eskil Help"]
set t [Scroll y text $w.t -width 85 -height 35]
pack $w.t -side top -expand 1 -fill both
configureDocWin $t
|
︙ | | | ︙ | |
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
|
proc makeDocWin {fileName} {
set w [helpWin .doc "Eskil Help"]
set t [Scroll y text $w.t -width 80 -height 25]
pack $w.t -side top -expand 1 -fill both
configureDocWin $t
if {![file exists $::thisDir/doc/$fileName]} {
$t insert end "ERROR: Could not find doc file "
$t insert end \"$fileName\"
return
}
insertTaggedText $t $::thisDir/doc/$fileName
#focus $t
$t configure -state disabled
}
proc makeTutorialWin {} {
global Pref
set doc [file join $::thisDir doc/tutorial.txt]
if {![file exists $doc]} return
if {[catch {cd [file join $::thisDir examples]}]} {
tk_messageBox -icon error -title "Eskil Error" -message \
"Could not locate examples directory." \
-type ok
return
}
#set ::diff(tutorial) 1
|
|
|
|
|
|
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
|
proc makeDocWin {fileName} {
set w [helpWin .doc "Eskil Help"]
set t [Scroll y text $w.t -width 80 -height 25]
pack $w.t -side top -expand 1 -fill both
configureDocWin $t
if {![file exists $::thisDir/../doc/$fileName]} {
$t insert end "ERROR: Could not find doc file "
$t insert end \"$fileName\"
return
}
insertTaggedText $t $::thisDir/../doc/$fileName
#focus $t
$t configure -state disabled
}
proc makeTutorialWin {} {
global Pref
set doc [file join $::thisDir .. doc/tutorial.txt]
if {![file exists $doc]} return
if {[catch {cd [file join $::thisDir .. examples]}]} {
tk_messageBox -icon error -title "Eskil Error" -message \
"Could not locate examples directory." \
-type ok
return
}
#set ::diff(tutorial) 1
|
︙ | | | ︙ | |
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
|
package require Tk
tk appname Eskil
}
} elseif {$arg eq "-o"} {
set nextArg mergeFile
} elseif {$arg eq "-r"} {
set nextArg revision
} else {
set apa [file normalize [file join [pwd] $arg]]
if {![file exists $apa]} {
puts "Bad argument: $arg"
exit
} else {
lappend files $apa
|
>
>
|
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
|
package require Tk
tk appname Eskil
}
} elseif {$arg eq "-o"} {
set nextArg mergeFile
} elseif {$arg eq "-r"} {
set nextArg revision
} elseif {$arg eq "-debug"} {
set ::debug 1
} else {
set apa [file normalize [file join [pwd] $arg]]
if {![file exists $apa]} {
puts "Bad argument: $arg"
exit
} else {
lappend files $apa
|
︙ | | | ︙ | |