35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
# 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
set debug 0
set diffver "Version 2.4b1 2008-02-11"
set ::thisScript [file join [pwd] [info script]]
# Do initalisations for needed packages and globals.
# This is not run until needed to speed up command line error reporting.
proc Init {} {
package require Tk 8.4
catch {package require textSearch}
if {[catch {package require Ttk}]} {
if {[catch {package require tile}]} {
puts "Themed Tk not found"
exit
}
}
# Reportedly, the ttk scrollbar looks bad on Aqua
if {[tk windowingsystem] ne "aqua"} {
interp alias {} scrollbar {} ttk::scrollbar
}
# Provide a ttk-friendly toplevel, fixing background and menubar
if {[info commands ttk::toplevel] eq ""} {
proc ttk::toplevel {w args} {
eval [linsert $args 0 tk::toplevel $w]
place [ttk::frame $w.tilebg] -x 0 -y 0 -relwidth 1 -relheight 1
# Menubar looks out of place on linux. This adjusts the background
# Which is enough to make it reasonable.
set bg [ttk::style configure . -background]
option add *Menubutton.background $bg
option add *Menu.background $bg
return $w
}
}
rename ttk::entry ttk::_entry
::snit::widgetadaptor ttk::entry {
delegate method * to hull
delegate option * to hull
constructor {args} {
installhull using ttk::_entry
$self configurelist $args
# Make sure textvariable is initialised
set varName [from args -textvariable ""]
if {$varName ne ""} {
upvar \#0 $varName var
if {![info exists var]} {
set var ""
}
}
}
# Circumvent a bug in ttk::entry that "xview end" does not work.
method xview {args} {
if {[llength $args] == 1} {
set ix [lindex $args 0]
$hull xview [$hull index $ix]
} else {
eval $hull xview $args
}
}
}
interp alias {} toplevel {} ttk::toplevel
package require wcb
if {[catch {package require psballoon}]} {
# Add a dummy if it does not exist.
proc addBalloon {args} {}
} else {
namespace import -force psballoon::addBalloon
|
|
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
|
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
# 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
set debug 0
set diffver "Version 2.4b1 2008-02-20"
set ::thisScript [file join [pwd] [info script]]
# Do initalisations for needed packages and globals.
# This is not run until needed to speed up command line error reporting.
proc Init {} {
package require Tk 8.4
catch {package require textSearch}
package require wcb
if {[catch {package require psballoon}]} {
# Add a dummy if it does not exist.
proc addBalloon {args} {}
} else {
namespace import -force psballoon::addBalloon
|
150
151
152
153
154
155
156
157
158
159
160
161
162
163
|
}
defaultGuiOptions
if {0 && [bind all <Alt-KeyPress>] eq ""} {
bind all <Alt-KeyPress> [bind Menubutton <Alt-KeyPress>]
#after 500 "tk_messageBox -message Miffo"
}
wm withdraw .
}
# Debug function to be able to reread the source even when wrapped in a kit.
proc EskilRereadSource {} {
set this $::thisScript
# FIXA: Better detection of starkit?
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
|
}
defaultGuiOptions
if {0 && [bind all <Alt-KeyPress>] eq ""} {
bind all <Alt-KeyPress> [bind Menubutton <Alt-KeyPress>]
#after 500 "tk_messageBox -message Miffo"
}
wm withdraw .
if {[catch {package require Ttk}]} {
if {[catch {package require tile}]} {
if {[info exists ::eskil_testsuite]} {
return
} else {
puts "Themed Tk not found"
exit
}
}
}
# Reportedly, the ttk scrollbar looks bad on Aqua
if {[tk windowingsystem] ne "aqua"} {
interp alias {} scrollbar {} ttk::scrollbar
}
# Provide a ttk-friendly toplevel, fixing background and menubar
if {[info commands ttk::toplevel] eq ""} {
proc ttk::toplevel {w args} {
eval [linsert $args 0 tk::toplevel $w]
place [ttk::frame $w.tilebg] -x 0 -y 0 -relwidth 1 -relheight 1
# Menubar looks out of place on linux. This adjusts the background
# Which is enough to make it reasonable.
set bg [ttk::style configure . -background]
option add *Menubutton.background $bg
option add *Menu.background $bg
return $w
}
}
rename ttk::entry ttk::_entry
::snit::widgetadaptor ttk::entry {
delegate method * to hull
delegate option * to hull
constructor {args} {
installhull using ttk::_entry
$self configurelist $args
# Make sure textvariable is initialised
set varName [from args -textvariable ""]
if {$varName ne ""} {
upvar \#0 $varName var
if {![info exists var]} {
set var ""
}
}
}
# Circumvent a bug in ttk::entry that "xview end" does not work.
method xview {args} {
if {[llength $args] == 1} {
set ix [lindex $args 0]
$hull xview [$hull index $ix]
} else {
eval $hull xview $args
}
}
}
interp alias {} toplevel {} ttk::toplevel
}
# Debug function to be able to reread the source even when wrapped in a kit.
proc EskilRereadSource {} {
set this $::thisScript
# FIXA: Better detection of starkit?
|