tk 0.1.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.gitignore +2 -0
- data/MANUAL_tcltklib.eng +0 -2
- data/MANUAL_tcltklib.ja +0 -2
- data/README.ActiveTcl +1 -1
- data/README.md +53 -1
- data/ext/tk/extconf.rb +4 -2
- data/ext/tk/old-extconf.rb +0 -1
- data/ext/tk/tcltklib.c +47 -149
- data/ext/tk/tkutil/extconf.rb +0 -2
- data/ext/tk/tkutil/tkutil.c +6 -9
- data/lib/multi-tk.rb +99 -320
- data/lib/remote-tk.rb +8 -25
- data/lib/tk.rb +49 -130
- data/lib/tk/autoload.rb +3 -3
- data/lib/tk/bgerror.rb +2 -2
- data/lib/tk/bindtag.rb +1 -1
- data/lib/tk/canvas.rb +7 -15
- data/lib/tk/canvastag.rb +11 -19
- data/lib/tk/entry.rb +1 -1
- data/lib/tk/font.rb +1 -1
- data/lib/tk/fontchooser.rb +1 -1
- data/lib/tk/grid.rb +4 -4
- data/lib/tk/image.rb +1 -1
- data/lib/tk/itemconfig.rb +4 -4
- data/lib/tk/itemfont.rb +3 -3
- data/lib/tk/listbox.rb +1 -1
- data/lib/tk/menu.rb +4 -4
- data/lib/tk/menuspec.rb +0 -1
- data/lib/tk/msgcat.rb +5 -5
- data/lib/tk/namespace.rb +14 -34
- data/lib/tk/optiondb.rb +3 -74
- data/lib/tk/optionobj.rb +1 -1
- data/lib/tk/scale.rb +3 -3
- data/lib/tk/scrollable.rb +4 -2
- data/lib/tk/selection.rb +5 -4
- data/lib/tk/text.rb +9 -17
- data/lib/tk/textmark.rb +1 -1
- data/lib/tk/texttag.rb +7 -15
- data/lib/tk/timer.rb +2 -2
- data/lib/tk/tk_mac.rb +18 -18
- data/lib/tk/validation.rb +6 -37
- data/lib/tk/variable.rb +10 -8
- data/lib/tk/virtevent.rb +1 -1
- data/lib/tk/winfo.rb +1 -1
- data/lib/tkextlib/blt/barchart.rb +0 -17
- data/lib/tkextlib/blt/bitmap.rb +1 -1
- data/lib/tkextlib/blt/component.rb +40 -40
- data/lib/tkextlib/blt/dragdrop.rb +6 -6
- data/lib/tkextlib/blt/graph.rb +0 -17
- data/lib/tkextlib/blt/stripchart.rb +0 -17
- data/lib/tkextlib/blt/tabset.rb +16 -31
- data/lib/tkextlib/blt/tree.rb +6 -6
- data/lib/tkextlib/blt/treeview.rb +14 -14
- data/lib/tkextlib/blt/watch.rb +1 -1
- data/lib/tkextlib/bwidget/labelentry.rb +6 -14
- data/lib/tkextlib/bwidget/listbox.rb +13 -29
- data/lib/tkextlib/bwidget/notebook.rb +6 -14
- data/lib/tkextlib/bwidget/progressdlg.rb +2 -2
- data/lib/tkextlib/bwidget/spinbox.rb +6 -14
- data/lib/tkextlib/bwidget/tree.rb +19 -35
- data/lib/tkextlib/itcl/incr_tcl.rb +2 -2
- data/lib/tkextlib/itk/incr_tk.rb +7 -29
- data/lib/tkextlib/iwidgets/calendar.rb +0 -15
- data/lib/tkextlib/iwidgets/entryfield.rb +1 -22
- data/lib/tkextlib/iwidgets/notebook.rb +2 -2
- data/lib/tkextlib/iwidgets/promptdialog.rb +1 -1
- data/lib/tkextlib/iwidgets/scrolledcanvas.rb +6 -14
- data/lib/tkextlib/iwidgets/spinner.rb +1 -1
- data/lib/tkextlib/iwidgets/tabnotebook.rb +2 -2
- data/lib/tkextlib/iwidgets/tabset.rb +1 -1
- data/lib/tkextlib/pkg_checker.rb +1 -1
- data/lib/tkextlib/tcllib/crosshair.rb +2 -2
- data/lib/tkextlib/tcllib/ctext.rb +2 -2
- data/lib/tkextlib/tcllib/plotchart.rb +5 -5
- data/lib/tkextlib/tcllib/tablelist_core.rb +3 -3
- data/lib/tkextlib/tcllib/validator.rb +6 -6
- data/lib/tkextlib/tile.rb +1 -2
- data/lib/tkextlib/tile/style.rb +1 -1
- data/lib/tkextlib/tile/treeview.rb +15 -22
- data/lib/tkextlib/tkDND/tkdnd.rb +63 -24
- data/lib/tkextlib/tkHTML/htmlwidget.rb +1 -1
- data/lib/tkextlib/tktable/tktable.rb +2 -2
- data/lib/tkextlib/treectrl/tktreectrl.rb +13 -21
- data/lib/tkextlib/vu/pie.rb +1 -1
- data/sample/binding_sample.rb +2 -2
- data/sample/cmd_res_test.rb +1 -1
- data/sample/demos-en/widget +21 -21
- data/sample/demos-jp/widget +4 -4
- data/sample/multi-ip_sample.rb +0 -3
- data/sample/multi-ip_sample2.rb +1 -1
- data/sample/resource.en +3 -3
- data/sample/resource.ja +3 -3
- data/sample/tcltklib/sample1.rb +2 -2
- data/sample/tkballoonhelp.rb +2 -2
- data/sample/tkextlib/tkHTML/ss.rb +0 -6
- data/sample/tkmulticolumnlist.rb +2 -2
- data/sample/tkmultilistframe.rb +2 -2
- data/sample/tkoptdb.rb +14 -16
- data/tk.gemspec +7 -8
- metadata +13 -15
- data/ChangeLog.tkextlib +0 -949
- data/old-README.tcltklib.ja +0 -159
- data/sample/binstr_usage.rb +0 -46
- data/sample/remote-ip_sample2.rb +0 -57
- data/sample/safe-tk.rb +0 -132
- data/sample/tkoptdb-safeTk.rb +0 -74
- data/sample/tktree.rb +0 -104
- data/sample/tktree.tcl +0 -305
data/lib/tk/optiondb.rb
CHANGED
|
@@ -9,7 +9,7 @@ module TkOptionDB
|
|
|
9
9
|
extend Tk
|
|
10
10
|
|
|
11
11
|
TkCommandNames = ['option'.freeze].freeze
|
|
12
|
-
(CmdClassID = ['CMD_CLASS'.freeze,
|
|
12
|
+
(CmdClassID = ['CMD_CLASS'.freeze, '00000']).instance_eval{
|
|
13
13
|
@mutex = Mutex.new
|
|
14
14
|
def mutex; @mutex; end
|
|
15
15
|
freeze
|
|
@@ -139,31 +139,6 @@ module TkOptionDB
|
|
|
139
139
|
class << @@resource_proc_class
|
|
140
140
|
private :new
|
|
141
141
|
|
|
142
|
-
=begin
|
|
143
|
-
CARRIER = '.'.freeze
|
|
144
|
-
METHOD_TBL = TkCore::INTERP.create_table
|
|
145
|
-
ADD_METHOD = false
|
|
146
|
-
SAFE_MODE = 4
|
|
147
|
-
=end
|
|
148
|
-
|
|
149
|
-
=begin
|
|
150
|
-
def __closed_block_check__(str)
|
|
151
|
-
depth = 0
|
|
152
|
-
str.scan(/[{}]/){|x|
|
|
153
|
-
if x == "{"
|
|
154
|
-
depth += 1
|
|
155
|
-
elsif x == "}"
|
|
156
|
-
depth -= 1
|
|
157
|
-
end
|
|
158
|
-
if depth <= 0 && !($' =~ /\A\s*\Z/)
|
|
159
|
-
fail RuntimeError, "bad string for procedure : #{str.inspect}"
|
|
160
|
-
end
|
|
161
|
-
}
|
|
162
|
-
str
|
|
163
|
-
end
|
|
164
|
-
private :__closed_block_check__
|
|
165
|
-
=end
|
|
166
|
-
|
|
167
142
|
def __check_proc_string__(str)
|
|
168
143
|
# If you want to check the proc_string, do it in this method.
|
|
169
144
|
# Please define this in the block given to 'new_proc_class' method.
|
|
@@ -185,13 +160,12 @@ module TkOptionDB
|
|
|
185
160
|
"not support resource-proc '#{id.id2name}' for #{self.name}"
|
|
186
161
|
end
|
|
187
162
|
proc_str = proc_source
|
|
188
|
-
proc_str = '{' + proc_str + '}' unless /\A\{.*\}\Z/ =~ proc_str
|
|
163
|
+
proc_str = '{' + proc_str + '}' unless /\A\{.*\}\Z/m =~ proc_str
|
|
189
164
|
#proc_str = __closed_block_check__(proc_str)
|
|
190
165
|
proc_str = __check_proc_string__(proc_str)
|
|
191
166
|
res_proc = proc{
|
|
192
167
|
begin
|
|
193
|
-
|
|
194
|
-
eval("$SAFE = #{@safe_mode};\nProc.new" + proc_str)
|
|
168
|
+
eval("Proc.new" + proc_str)
|
|
195
169
|
rescue SyntaxError=>err
|
|
196
170
|
raise SyntaxError,
|
|
197
171
|
TkCore::INTERP._toUTF8(err.message.gsub(/\(eval\):\d:/,
|
|
@@ -208,44 +182,6 @@ module TkOptionDB
|
|
|
208
182
|
end
|
|
209
183
|
@@resource_proc_class.freeze
|
|
210
184
|
|
|
211
|
-
=begin
|
|
212
|
-
def __create_new_class(klass, func, safe = 4, add = false, parent = nil)
|
|
213
|
-
klass = klass.to_s if klass.kind_of? Symbol
|
|
214
|
-
unless (?A..?Z) === klass[0]
|
|
215
|
-
fail ArgumentError, "bad string '#{klass}' for class name"
|
|
216
|
-
end
|
|
217
|
-
unless func.kind_of? Array
|
|
218
|
-
fail ArgumentError, "method-list must be Array"
|
|
219
|
-
end
|
|
220
|
-
func_str = func.join(' ')
|
|
221
|
-
if parent == nil
|
|
222
|
-
install_win(parent)
|
|
223
|
-
elsif parent <= @@resource_proc_class
|
|
224
|
-
install_win(parent::CARRIER)
|
|
225
|
-
else
|
|
226
|
-
fail ArgumentError, "parent must be Resource-Proc class"
|
|
227
|
-
end
|
|
228
|
-
carrier = Tk.tk_call_without_enc('frame', @path, '-class', klass)
|
|
229
|
-
|
|
230
|
-
body = <<-"EOD"
|
|
231
|
-
class #{klass} < TkOptionDB.module_eval('@@resource_proc_class')
|
|
232
|
-
CARRIER = '#{carrier}'.freeze
|
|
233
|
-
METHOD_TBL = TkCore::INTERP.create_table
|
|
234
|
-
ADD_METHOD = #{add}
|
|
235
|
-
SAFE_MODE = #{safe}
|
|
236
|
-
%w(#{func_str}).each{|f| METHOD_TBL[f.intern] = nil }
|
|
237
|
-
end
|
|
238
|
-
EOD
|
|
239
|
-
|
|
240
|
-
if parent.kind_of?(Class) && parent <= @@resource_proc_class
|
|
241
|
-
parent.class_eval(body)
|
|
242
|
-
eval(parent.name + '::' + klass)
|
|
243
|
-
else
|
|
244
|
-
eval(body)
|
|
245
|
-
eval('TkOptionDB::' + klass)
|
|
246
|
-
end
|
|
247
|
-
end
|
|
248
|
-
=end
|
|
249
185
|
def __create_new_class(klass, func, safe = 4, add = false, parent = nil)
|
|
250
186
|
if klass.kind_of?(TkWindow)
|
|
251
187
|
carrier = klass.path
|
|
@@ -274,7 +210,6 @@ module TkOptionDB
|
|
|
274
210
|
unless func.kind_of?(Array)
|
|
275
211
|
fail ArgumentError, "method-list must be Array"
|
|
276
212
|
end
|
|
277
|
-
func_str = func.join(' ')
|
|
278
213
|
|
|
279
214
|
if parent.kind_of?(Class) && parent <= @@resource_proc_class
|
|
280
215
|
cmd_klass = Class.new(parent)
|
|
@@ -289,12 +224,6 @@ module TkOptionDB
|
|
|
289
224
|
func.each{|f|
|
|
290
225
|
cmd_klass.instance_variable_get('@method_tbl')[f.to_s.intern] = nil
|
|
291
226
|
}
|
|
292
|
-
=begin
|
|
293
|
-
cmd_klass.const_set(:METHOD_TBL, TkCore::INTERP.create_table)
|
|
294
|
-
cmd_klass.const_set(:ADD_METHOD, add)
|
|
295
|
-
cmd_klass.const_set(:SAFE_MODE, safe)
|
|
296
|
-
func.each{|f| cmd_klass::METHOD_TBL[f.to_s.intern] = nil }
|
|
297
|
-
=end
|
|
298
227
|
|
|
299
228
|
cmd_klass
|
|
300
229
|
end
|
data/lib/tk/optionobj.rb
CHANGED
data/lib/tk/scale.rb
CHANGED
|
@@ -78,8 +78,8 @@ class Tk::Scale<TkWindow
|
|
|
78
78
|
super(slot, value)
|
|
79
79
|
end
|
|
80
80
|
|
|
81
|
-
def command(cmd=
|
|
82
|
-
configure('command'=>cmd)
|
|
81
|
+
def command(cmd=nil, &block)
|
|
82
|
+
configure('command'=>cmd || block)
|
|
83
83
|
end
|
|
84
84
|
|
|
85
85
|
def get(x=None, y=None)
|
|
@@ -102,7 +102,7 @@ class Tk::Scale<TkWindow
|
|
|
102
102
|
get
|
|
103
103
|
end
|
|
104
104
|
|
|
105
|
-
def value=
|
|
105
|
+
def value=(val)
|
|
106
106
|
set(val)
|
|
107
107
|
val
|
|
108
108
|
end
|
data/lib/tk/scrollable.rb
CHANGED
|
@@ -6,7 +6,8 @@ require 'tk'
|
|
|
6
6
|
|
|
7
7
|
module Tk
|
|
8
8
|
module XScrollable
|
|
9
|
-
def xscrollcommand(cmd=
|
|
9
|
+
def xscrollcommand(cmd=nil, &block)
|
|
10
|
+
cmd ||= block
|
|
10
11
|
configure_cmd 'xscrollcommand', cmd
|
|
11
12
|
# Tk.update # avoid scrollbar trouble
|
|
12
13
|
self
|
|
@@ -40,7 +41,8 @@ module Tk
|
|
|
40
41
|
end
|
|
41
42
|
|
|
42
43
|
module YScrollable
|
|
43
|
-
def yscrollcommand(cmd=
|
|
44
|
+
def yscrollcommand(cmd = (use_block = true), &block)
|
|
45
|
+
cmd = block if use_block
|
|
44
46
|
configure_cmd 'yscrollcommand', cmd
|
|
45
47
|
# Tk.update # avoid scrollbar trouble
|
|
46
48
|
self
|
data/lib/tk/selection.rb
CHANGED
|
@@ -43,18 +43,19 @@ module TkSelection
|
|
|
43
43
|
TkSelection.get_on_display(self, sel)
|
|
44
44
|
end
|
|
45
45
|
|
|
46
|
-
def self.handle(win, func=
|
|
46
|
+
def self.handle(win, func=nil, keys=nil, &b)
|
|
47
|
+
func ||= b
|
|
47
48
|
if func.kind_of?(Hash) && keys == nil
|
|
48
49
|
keys = func
|
|
49
|
-
func =
|
|
50
|
+
func = b
|
|
50
51
|
end
|
|
51
52
|
args = ['selection', 'handle']
|
|
52
53
|
args.concat(hash_kv(keys))
|
|
53
54
|
args.concat([win, func])
|
|
54
55
|
tk_call_without_enc(*args)
|
|
55
56
|
end
|
|
56
|
-
def handle(func=
|
|
57
|
-
TkSelection.handle(self, func, keys, &b)
|
|
57
|
+
def handle(func=nil, keys=nil, &b)
|
|
58
|
+
TkSelection.handle(self, func || b, keys, &b)
|
|
58
59
|
end
|
|
59
60
|
|
|
60
61
|
def self.get_owner(sel=nil)
|
data/lib/tk/text.rb
CHANGED
|
@@ -326,7 +326,7 @@ class Tk::Text<TkTextWin
|
|
|
326
326
|
_fromUTF8(tk_send_without_enc('get', "1.0", "end - 1 char"))
|
|
327
327
|
end
|
|
328
328
|
|
|
329
|
-
def value=
|
|
329
|
+
def value=(val)
|
|
330
330
|
tk_send_without_enc('delete', "1.0", 'end')
|
|
331
331
|
tk_send_without_enc('insert', "1.0", _get_eval_enc_str(val))
|
|
332
332
|
val
|
|
@@ -641,9 +641,9 @@ class Tk::Text<TkTextWin
|
|
|
641
641
|
}
|
|
642
642
|
args << _get_eval_enc_str(idx1) << _get_eval_enc_str(idx2)
|
|
643
643
|
if cnt <= 1
|
|
644
|
-
number(tk_send_without_enc('count', *
|
|
644
|
+
number(tk_send_without_enc('count', *args))
|
|
645
645
|
else
|
|
646
|
-
list(tk_send_without_enc('count', *
|
|
646
|
+
list(tk_send_without_enc('count', *args))
|
|
647
647
|
end
|
|
648
648
|
end
|
|
649
649
|
|
|
@@ -771,31 +771,23 @@ class Tk::Text<TkTextWin
|
|
|
771
771
|
alias deltag tag_delete
|
|
772
772
|
alias delete_tag tag_delete
|
|
773
773
|
|
|
774
|
-
|
|
775
|
-
# _bind([@path, 'tag', 'bind', tag], seq, cmd, *args)
|
|
776
|
-
# self
|
|
777
|
-
#end
|
|
778
|
-
def tag_bind(tag, seq, *args)
|
|
774
|
+
def tag_bind(tag, seq, *args, &block)
|
|
779
775
|
# if args[0].kind_of?(Proc) || args[0].kind_of?(Method)
|
|
780
|
-
if TkComm._callback_entry?(args[0]) || !
|
|
776
|
+
if TkComm._callback_entry?(args[0]) || !block
|
|
781
777
|
cmd = args.shift
|
|
782
778
|
else
|
|
783
|
-
cmd =
|
|
779
|
+
cmd = block
|
|
784
780
|
end
|
|
785
781
|
_bind([@path, 'tag', 'bind', tag], seq, cmd, *args)
|
|
786
782
|
self
|
|
787
783
|
end
|
|
788
784
|
|
|
789
|
-
|
|
790
|
-
# _bind_append([@path, 'tag', 'bind', tag], seq, cmd, *args)
|
|
791
|
-
# self
|
|
792
|
-
#end
|
|
793
|
-
def tag_bind_append(tag, seq, *args)
|
|
785
|
+
def tag_bind_append(tag, seq, *args, &block)
|
|
794
786
|
# if args[0].kind_of?(Proc) || args[0].kind_of?(Method)
|
|
795
|
-
if TkComm._callback_entry?(args[0]) || !
|
|
787
|
+
if TkComm._callback_entry?(args[0]) || !block
|
|
796
788
|
cmd = args.shift
|
|
797
789
|
else
|
|
798
|
-
cmd =
|
|
790
|
+
cmd = block
|
|
799
791
|
end
|
|
800
792
|
_bind_append([@path, 'tag', 'bind', tag], seq, cmd, *args)
|
|
801
793
|
self
|
data/lib/tk/textmark.rb
CHANGED
|
@@ -10,7 +10,7 @@ class TkTextMark<TkObject
|
|
|
10
10
|
|
|
11
11
|
TMarkID_TBL = TkCore::INTERP.create_table
|
|
12
12
|
|
|
13
|
-
(Tk_TextMark_ID = ['mark'.freeze,
|
|
13
|
+
(Tk_TextMark_ID = ['mark'.freeze, '00000']).instance_eval{
|
|
14
14
|
@mutex = Mutex.new
|
|
15
15
|
def mutex; @mutex; end
|
|
16
16
|
freeze
|
data/lib/tk/texttag.rb
CHANGED
|
@@ -12,7 +12,7 @@ class TkTextTag<TkObject
|
|
|
12
12
|
|
|
13
13
|
TTagID_TBL = TkCore::INTERP.create_table
|
|
14
14
|
|
|
15
|
-
(Tk_TextTag_ID = ['tag'.freeze,
|
|
15
|
+
(Tk_TextTag_ID = ['tag'.freeze, '00000']).instance_eval{
|
|
16
16
|
@mutex = Mutex.new
|
|
17
17
|
def mutex; @mutex; end
|
|
18
18
|
freeze
|
|
@@ -191,31 +191,23 @@ class TkTextTag<TkObject
|
|
|
191
191
|
@t.current_tag_configinfo @id, key
|
|
192
192
|
end
|
|
193
193
|
|
|
194
|
-
|
|
195
|
-
# _bind([@t.path, 'tag', 'bind', @id], seq, cmd, *args)
|
|
196
|
-
# self
|
|
197
|
-
#end
|
|
198
|
-
def bind(seq, *args)
|
|
194
|
+
def bind(seq, *args, &block)
|
|
199
195
|
# if args[0].kind_of?(Proc) || args[0].kind_of?(Method)
|
|
200
|
-
if TkComm._callback_entry?(args[0]) || !
|
|
196
|
+
if TkComm._callback_entry?(args[0]) || !block
|
|
201
197
|
cmd = args.shift
|
|
202
198
|
else
|
|
203
|
-
cmd =
|
|
199
|
+
cmd = block
|
|
204
200
|
end
|
|
205
201
|
_bind([@t.path, 'tag', 'bind', @id], seq, cmd, *args)
|
|
206
202
|
self
|
|
207
203
|
end
|
|
208
204
|
|
|
209
|
-
|
|
210
|
-
# _bind_append([@t.path, 'tag', 'bind', @id], seq, cmd, *args)
|
|
211
|
-
# self
|
|
212
|
-
#end
|
|
213
|
-
def bind_append(seq, *args)
|
|
205
|
+
def bind_append(seq, *args, &block)
|
|
214
206
|
# if args[0].kind_of?(Proc) || args[0].kind_of?(Method)
|
|
215
|
-
if TkComm._callback_entry?(args[0]) || !
|
|
207
|
+
if TkComm._callback_entry?(args[0]) || !block
|
|
216
208
|
cmd = args.shift
|
|
217
209
|
else
|
|
218
|
-
cmd =
|
|
210
|
+
cmd = block
|
|
219
211
|
end
|
|
220
212
|
_bind_append([@t.path, 'tag', 'bind', @id], seq, cmd, *args)
|
|
221
213
|
self
|
data/lib/tk/timer.rb
CHANGED
|
@@ -12,13 +12,13 @@ class TkTimer
|
|
|
12
12
|
|
|
13
13
|
TkCommandNames = ['after'.freeze].freeze
|
|
14
14
|
|
|
15
|
-
(Tk_CBID = ['a'.freeze,
|
|
15
|
+
(Tk_CBID = ['a'.freeze, '00000']).instance_eval{
|
|
16
16
|
@mutex = Mutex.new
|
|
17
17
|
def mutex; @mutex; end
|
|
18
18
|
freeze
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
Tk_CBTBL =
|
|
21
|
+
Tk_CBTBL = {}
|
|
22
22
|
|
|
23
23
|
TkCore::INTERP.add_tk_procs('rb_after', 'id', <<-'EOL')
|
|
24
24
|
if {[set st [catch {eval {ruby_cmd TkTimer callback} $id} ret]] != 0} {
|
data/lib/tk/tk_mac.rb
CHANGED
|
@@ -17,48 +17,48 @@ module Tk::Mac
|
|
|
17
17
|
extend TkCore
|
|
18
18
|
|
|
19
19
|
# event handler callbacks
|
|
20
|
-
def self.def_ShowPreferences(cmd=
|
|
21
|
-
ip_eval("proc ::tk::mac::ShowPreferences {} { #{install_cmd(cmd)} }")
|
|
20
|
+
def self.def_ShowPreferences(cmd=nil, &block)
|
|
21
|
+
ip_eval("proc ::tk::mac::ShowPreferences {} { #{install_cmd(cmd || block)} }")
|
|
22
22
|
nil
|
|
23
23
|
end
|
|
24
24
|
|
|
25
|
-
def self.def_OpenApplication(cmd=
|
|
26
|
-
ip_eval("proc ::tk::mac::OpenApplication {} { #{install_cmd(cmd)} }")
|
|
25
|
+
def self.def_OpenApplication(cmd=nil, &block)
|
|
26
|
+
ip_eval("proc ::tk::mac::OpenApplication {} { #{install_cmd(cmd || block)} }")
|
|
27
27
|
nil
|
|
28
28
|
end
|
|
29
29
|
|
|
30
|
-
def self.def_ReopenApplication(cmd=
|
|
31
|
-
ip_eval("proc ::tk::mac::ReopenApplication {} { #{install_cmd(cmd)} }")
|
|
30
|
+
def self.def_ReopenApplication(cmd=nil, &block)
|
|
31
|
+
ip_eval("proc ::tk::mac::ReopenApplication {} { #{install_cmd(cmd || block)} }")
|
|
32
32
|
nil
|
|
33
33
|
end
|
|
34
34
|
|
|
35
|
-
def self.def_OpenDocument(cmd=
|
|
36
|
-
ip_eval("proc ::tk::mac::OpenDocument {args} { eval #{install_cmd(cmd)} $args }")
|
|
35
|
+
def self.def_OpenDocument(cmd=nil, &block)
|
|
36
|
+
ip_eval("proc ::tk::mac::OpenDocument {args} { eval #{install_cmd(cmd || block)} $args }")
|
|
37
37
|
nil
|
|
38
38
|
end
|
|
39
39
|
|
|
40
|
-
def self.def_PrintDocument(cmd=
|
|
41
|
-
ip_eval("proc ::tk::mac::PrintDocument {args} { eval #{install_cmd(cmd)} $args }")
|
|
40
|
+
def self.def_PrintDocument(cmd=nil, &block)
|
|
41
|
+
ip_eval("proc ::tk::mac::PrintDocument {args} { eval #{install_cmd(cmd || block)} $args }")
|
|
42
42
|
nil
|
|
43
43
|
end
|
|
44
44
|
|
|
45
|
-
def self.def_Quit(cmd=
|
|
46
|
-
ip_eval("proc ::tk::mac::Quit {} { #{install_cmd(cmd)} }")
|
|
45
|
+
def self.def_Quit(cmd=nil, &block)
|
|
46
|
+
ip_eval("proc ::tk::mac::Quit {} { #{install_cmd(cmd || block)} }")
|
|
47
47
|
nil
|
|
48
48
|
end
|
|
49
49
|
|
|
50
|
-
def self.def_OnHide(cmd=
|
|
51
|
-
ip_eval("proc ::tk::mac::OnHide {} { #{install_cmd(cmd)} }")
|
|
50
|
+
def self.def_OnHide(cmd=nil, &block)
|
|
51
|
+
ip_eval("proc ::tk::mac::OnHide {} { #{install_cmd(cmd || block)} }")
|
|
52
52
|
nil
|
|
53
53
|
end
|
|
54
54
|
|
|
55
|
-
def self.def_OnShow(cmd=
|
|
56
|
-
ip_eval("proc ::tk::mac::OnShow {} { #{install_cmd(cmd)} }")
|
|
55
|
+
def self.def_OnShow(cmd=nil, &block)
|
|
56
|
+
ip_eval("proc ::tk::mac::OnShow {} { #{install_cmd(cmd || block)} }")
|
|
57
57
|
nil
|
|
58
58
|
end
|
|
59
59
|
|
|
60
|
-
def self.def_ShowHelp(cmd=
|
|
61
|
-
ip_eval("proc ::tk::mac::ShowHelp {} { #{install_cmd(cmd)} }")
|
|
60
|
+
def self.def_ShowHelp(cmd=nil, &block)
|
|
61
|
+
ip_eval("proc ::tk::mac::ShowHelp {} { #{install_cmd(cmd || block)} }")
|
|
62
62
|
nil
|
|
63
63
|
end
|
|
64
64
|
|
data/lib/tk/validation.rb
CHANGED
|
@@ -294,7 +294,8 @@ class TkValidateCommand
|
|
|
294
294
|
['vcmd', 'validatecommand', 'invcmd', 'invalidcommand']
|
|
295
295
|
end
|
|
296
296
|
|
|
297
|
-
def _initialize_for_cb_class(klass, cmd =
|
|
297
|
+
def _initialize_for_cb_class(klass, cmd = nil, *args, &block)
|
|
298
|
+
cmd ||= block
|
|
298
299
|
extra_args_tbl = klass._get_extra_args_tbl
|
|
299
300
|
|
|
300
301
|
if args.compact.size > 0
|
|
@@ -302,7 +303,7 @@ class TkValidateCommand
|
|
|
302
303
|
args = args.join(' ')
|
|
303
304
|
keys = klass._get_subst_key(args)
|
|
304
305
|
if cmd.kind_of?(String)
|
|
305
|
-
id = cmd
|
|
306
|
+
@id = cmd
|
|
306
307
|
elsif cmd.kind_of?(TkCallbackEntry)
|
|
307
308
|
@id = install_cmd(cmd)
|
|
308
309
|
else
|
|
@@ -317,7 +318,7 @@ class TkValidateCommand
|
|
|
317
318
|
else
|
|
318
319
|
keys, args = klass._get_all_subst_keys
|
|
319
320
|
if cmd.kind_of?(String)
|
|
320
|
-
id = cmd
|
|
321
|
+
@id = cmd
|
|
321
322
|
elsif cmd.kind_of?(TkCallbackEntry)
|
|
322
323
|
@id = install_cmd(cmd)
|
|
323
324
|
else
|
|
@@ -332,8 +333,8 @@ class TkValidateCommand
|
|
|
332
333
|
end
|
|
333
334
|
end
|
|
334
335
|
|
|
335
|
-
def initialize(cmd =
|
|
336
|
-
_initialize_for_cb_class(self.class::ValidateArgs, cmd, *args)
|
|
336
|
+
def initialize(cmd = nil, *args, &block)
|
|
337
|
+
_initialize_for_cb_class(self.class::ValidateArgs, cmd || block, *args)
|
|
337
338
|
end
|
|
338
339
|
|
|
339
340
|
def to_eval
|
|
@@ -363,36 +364,4 @@ module TkValidation
|
|
|
363
364
|
end
|
|
364
365
|
|
|
365
366
|
Tk::ValidateConfigure.__def_validcmd(binding, ValidateCmd)
|
|
366
|
-
|
|
367
|
-
=begin
|
|
368
|
-
def validatecommand(cmd = Proc.new, args = nil)
|
|
369
|
-
if cmd.kind_of?(ValidateCmd)
|
|
370
|
-
configure('validatecommand', cmd)
|
|
371
|
-
elsif args
|
|
372
|
-
configure('validatecommand', [cmd, args])
|
|
373
|
-
else
|
|
374
|
-
configure('validatecommand', cmd)
|
|
375
|
-
end
|
|
376
|
-
end
|
|
377
|
-
=end
|
|
378
|
-
# def validatecommand(*args, &b)
|
|
379
|
-
# __validcmd_call(ValidateCmd, 'validatecommand', *args, &b)
|
|
380
|
-
# end
|
|
381
|
-
# alias vcmd validatecommand
|
|
382
|
-
|
|
383
|
-
=begin
|
|
384
|
-
def invalidcommand(cmd = Proc.new, args = nil)
|
|
385
|
-
if cmd.kind_of?(ValidateCmd)
|
|
386
|
-
configure('invalidcommand', cmd)
|
|
387
|
-
elsif args
|
|
388
|
-
configure('invalidcommand', [cmd, args])
|
|
389
|
-
else
|
|
390
|
-
configure('invalidcommand', cmd)
|
|
391
|
-
end
|
|
392
|
-
end
|
|
393
|
-
=end
|
|
394
|
-
# def invalidcommand(*args, &b)
|
|
395
|
-
# __validcmd_call(ValidateCmd, 'invalidcommand', *args, &b)
|
|
396
|
-
# end
|
|
397
|
-
# alias invcmd invalidcommand
|
|
398
367
|
end
|