tk 0.2.0 → 0.3.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 +43 -0
- data/ext/tk/extconf.rb +4 -2
- data/ext/tk/old-extconf.rb +0 -1
- data/ext/tk/tcltklib.c +46 -148
- data/ext/tk/tkutil/extconf.rb +0 -2
- data/ext/tk/tkutil/tkutil.c +6 -9
- data/lib/multi-tk.rb +95 -315
- data/lib/remote-tk.rb +6 -23
- data/lib/tk.rb +41 -122
- data/lib/tk/bgerror.rb +2 -2
- data/lib/tk/bindtag.rb +1 -1
- data/lib/tk/canvas.rb +6 -14
- data/lib/tk/canvastag.rb +8 -16
- data/lib/tk/font.rb +1 -1
- data/lib/tk/fontchooser.rb +1 -1
- data/lib/tk/image.rb +1 -1
- data/lib/tk/menu.rb +4 -4
- data/lib/tk/msgcat.rb +5 -5
- data/lib/tk/namespace.rb +12 -32
- data/lib/tk/optiondb.rb +3 -73
- data/lib/tk/scale.rb +2 -2
- data/lib/tk/scrollable.rb +4 -2
- data/lib/tk/selection.rb +5 -4
- data/lib/tk/text.rb +8 -16
- 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 +4 -35
- data/lib/tk/variable.rb +7 -5
- data/lib/tk/virtevent.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 +34 -34
- 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 +5 -5
- 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/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 +0 -21
- data/lib/tkextlib/iwidgets/notebook.rb +2 -2
- data/lib/tkextlib/iwidgets/scrolledcanvas.rb +6 -14
- data/lib/tkextlib/iwidgets/tabnotebook.rb +2 -2
- data/lib/tkextlib/tcllib/ctext.rb +2 -2
- data/lib/tkextlib/tcllib/plotchart.rb +5 -5
- data/lib/tkextlib/tcllib/validator.rb +6 -6
- data/lib/tkextlib/tile.rb +1 -1
- data/lib/tkextlib/tile/style.rb +1 -1
- data/lib/tkextlib/tile/treeview.rb +13 -20
- data/lib/tkextlib/tkDND/tkdnd.rb +6 -22
- data/lib/tkextlib/tkHTML/htmlwidget.rb +1 -1
- data/lib/tkextlib/tktable/tktable.rb +1 -1
- data/lib/tkextlib/treectrl/tktreectrl.rb +12 -20
- 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 +4 -4
- metadata +6 -13
- 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/canvastag.rb
CHANGED
@@ -22,31 +22,23 @@ module TkcTagAccess
|
|
22
22
|
@c.bbox(@id)
|
23
23
|
end
|
24
24
|
|
25
|
-
|
26
|
-
# @c.itembind(@id, seq, cmd, *args)
|
27
|
-
# self
|
28
|
-
#end
|
29
|
-
def bind(seq, *args)
|
25
|
+
def bind(seq, *args, &block)
|
30
26
|
# if args[0].kind_of?(Proc) || args[0].kind_of?(Method)
|
31
|
-
if TkComm._callback_entry?(args[0]) || !
|
27
|
+
if TkComm._callback_entry?(args[0]) || !block
|
32
28
|
cmd = args.shift
|
33
29
|
else
|
34
|
-
cmd =
|
30
|
+
cmd = block
|
35
31
|
end
|
36
32
|
@c.itembind(@id, seq, cmd, *args)
|
37
33
|
self
|
38
34
|
end
|
39
35
|
|
40
|
-
|
41
|
-
# @c.itembind_append(@id, seq, cmd, *args)
|
42
|
-
# self
|
43
|
-
#end
|
44
|
-
def bind_append(seq, *args)
|
36
|
+
def bind_append(seq, *args, &block)
|
45
37
|
# if args[0].kind_of?(Proc) || args[0].kind_of?(Method)
|
46
|
-
if TkComm._callback_entry?(args[0]) || !
|
38
|
+
if TkComm._callback_entry?(args[0]) || !block
|
47
39
|
cmd = args.shift
|
48
40
|
else
|
49
|
-
cmd =
|
41
|
+
cmd = block
|
50
42
|
end
|
51
43
|
@c.itembind_append(@id, seq, cmd, *args)
|
52
44
|
self
|
@@ -229,7 +221,7 @@ class TkcTag<TkObject
|
|
229
221
|
|
230
222
|
CTagID_TBL = TkCore::INTERP.create_table
|
231
223
|
|
232
|
-
(Tk_CanvasTag_ID = ['ctag'.freeze,
|
224
|
+
(Tk_CanvasTag_ID = ['ctag'.freeze, '00000']).instance_eval{
|
233
225
|
@mutex = Mutex.new
|
234
226
|
def mutex; @mutex; end
|
235
227
|
freeze
|
@@ -415,7 +407,7 @@ class TkcTagCurrent<TkcTagString
|
|
415
407
|
end
|
416
408
|
|
417
409
|
class TkcGroup<TkcTag
|
418
|
-
(Tk_cGroup_ID = ['tkcg'.freeze,
|
410
|
+
(Tk_cGroup_ID = ['tkcg'.freeze, '00000']).instance_eval{
|
419
411
|
@mutex = Mutex.new
|
420
412
|
def mutex; @mutex; end
|
421
413
|
freeze
|
data/lib/tk/font.rb
CHANGED
data/lib/tk/fontchooser.rb
CHANGED
data/lib/tk/image.rb
CHANGED
data/lib/tk/menu.rb
CHANGED
@@ -186,16 +186,16 @@ class Tk::Menu<TkWindow
|
|
186
186
|
tk_send_without_enc('postcascade', _get_eval_enc_str(index))
|
187
187
|
self
|
188
188
|
end
|
189
|
-
def postcommand(cmd=
|
190
|
-
configure_cmd
|
189
|
+
def postcommand(cmd=nil, &block)
|
190
|
+
configure_cmd('postcommand', cmd || block)
|
191
191
|
self
|
192
192
|
end
|
193
193
|
def set_focus
|
194
194
|
tk_call_without_enc('tk_menuSetFocus', path)
|
195
195
|
self
|
196
196
|
end
|
197
|
-
def tearoffcommand(cmd=
|
198
|
-
configure_cmd
|
197
|
+
def tearoffcommand(cmd=nil, &block)
|
198
|
+
configure_cmd('tearoffcommand', cmd || block)
|
199
199
|
self
|
200
200
|
end
|
201
201
|
def menutype(index)
|
data/lib/tk/msgcat.rb
CHANGED
@@ -37,7 +37,7 @@ class TkMsgCatalog < TkObject
|
|
37
37
|
|
38
38
|
MSGCAT_EXT = '.msg'
|
39
39
|
|
40
|
-
UNKNOWN_CBTBL =
|
40
|
+
UNKNOWN_CBTBL = Hash.new{|hash,key| hash[key] = {}}
|
41
41
|
|
42
42
|
TkCore::INTERP.add_tk_procs('::msgcat::mcunknown', 'args', <<-'EOL')
|
43
43
|
if {[set st [catch {eval {ruby_cmd TkMsgCatalog callback} [namespace current] $args} ret]] != 0} {
|
@@ -289,11 +289,11 @@ class TkMsgCatalog < TkObject
|
|
289
289
|
})
|
290
290
|
end
|
291
291
|
|
292
|
-
def self.def_unknown_proc(cmd=
|
293
|
-
TkMsgCatalog::UNKNOWN_CBTBL[TkCore::INTERP.__getip]['::'] = cmd
|
292
|
+
def self.def_unknown_proc(cmd=nil, &block)
|
293
|
+
TkMsgCatalog::UNKNOWN_CBTBL[TkCore::INTERP.__getip]['::'] = cmd || block
|
294
294
|
end
|
295
|
-
def def_unknown_proc(cmd=
|
296
|
-
TkMsgCatalog::UNKNOWN_CBTBL[TkCore::INTERP.__getip][@namespace.path] = cmd
|
295
|
+
def def_unknown_proc(cmd=nil, &block)
|
296
|
+
TkMsgCatalog::UNKNOWN_CBTBL[TkCore::INTERP.__getip][@namespace.path] = cmd || block
|
297
297
|
end
|
298
298
|
end
|
299
299
|
|
data/lib/tk/namespace.rb
CHANGED
@@ -14,7 +14,7 @@ class TkNamespace < TkObject
|
|
14
14
|
|
15
15
|
Tk_Namespace_ID_TBL = TkCore::INTERP.create_table
|
16
16
|
|
17
|
-
(Tk_Namespace_ID = ["ns".freeze,
|
17
|
+
(Tk_Namespace_ID = ["ns".freeze, "00000"]).instance_eval{
|
18
18
|
@mutex = Mutex.new
|
19
19
|
def mutex; @mutex; end
|
20
20
|
freeze
|
@@ -307,23 +307,12 @@ class TkNamespace < TkObject
|
|
307
307
|
TkNamespace.children(@fullname, pattern)
|
308
308
|
end
|
309
309
|
|
310
|
-
def self.code(script =
|
311
|
-
TkNamespace.new('').code(script)
|
310
|
+
def self.code(script = nil, &block)
|
311
|
+
TkNamespace.new('').code(script || block)
|
312
312
|
end
|
313
|
-
|
314
|
-
def code(script =
|
315
|
-
|
316
|
-
cmd = proc{|*args| ScopeArgs.new(@fullname,*args).instance_eval(script)}
|
317
|
-
elsif script.kind_of?(Proc)
|
318
|
-
cmd = proc{|*args| ScopeArgs.new(@fullname,*args).instance_eval(&script)}
|
319
|
-
else
|
320
|
-
fail ArgumentError, "String or Proc is expected"
|
321
|
-
end
|
322
|
-
TkNamespace::NsCode.new(tk_call_without_enc('namespace', 'code',
|
323
|
-
_get_eval_string(cmd, false)))
|
324
|
-
end
|
325
|
-
=end
|
326
|
-
def code(script = Proc.new)
|
313
|
+
|
314
|
+
def code(script = nil, &block)
|
315
|
+
script ||= block
|
327
316
|
if script.kind_of?(String)
|
328
317
|
cmd = proc{|*args|
|
329
318
|
ret = ScopeArgs.new(@fullname,*args).instance_eval(script)
|
@@ -414,22 +403,13 @@ class TkNamespace < TkObject
|
|
414
403
|
bool(tk_call('namespace', 'ensemble', 'exists', cmd))
|
415
404
|
end
|
416
405
|
|
417
|
-
def self.eval(namespace, cmd =
|
406
|
+
def self.eval(namespace, cmd = nil, *args, &block)
|
407
|
+
cmd ||= block
|
418
408
|
#tk_call('namespace', 'eval', namespace, cmd, *args)
|
419
409
|
TkNamespace.new(namespace).eval(cmd, *args)
|
420
410
|
end
|
421
|
-
=
|
422
|
-
|
423
|
-
#TkNamespace.eval(@fullname, cmd, *args)
|
424
|
-
#ns_tk_call(cmd, *args)
|
425
|
-
code_obj = code(cmd)
|
426
|
-
ret = code_obj.call(*args)
|
427
|
-
# uninstall_cmd(TkCore::INTERP._split_tklist(code_obj.path)[-1])
|
428
|
-
uninstall_cmd(_fromUTF8(TkCore::INTERP._split_tklist(_toUTF8(code_obj.path))[-1]))
|
429
|
-
tk_tcl2ruby(ret)
|
430
|
-
end
|
431
|
-
=end
|
432
|
-
def eval(cmd = Proc.new, *args)
|
411
|
+
def eval(cmd = nil, *args, &block)
|
412
|
+
cmd ||= block
|
433
413
|
code_obj = code(cmd)
|
434
414
|
ret = code_obj.call(*args)
|
435
415
|
uninstall_cmd(_fromUTF8(TkCore::INTERP._split_tklist(_toUTF8(code_obj.path))[-1]))
|
@@ -529,8 +509,8 @@ class TkNamespace < TkObject
|
|
529
509
|
def self.get_unknown_handler
|
530
510
|
tk_tcl2ruby(tk_call('namespace', 'unknown'))
|
531
511
|
end
|
532
|
-
def self.set_unknown_handler(cmd =
|
533
|
-
tk_call('namespace', 'unknown', cmd)
|
512
|
+
def self.set_unknown_handler(cmd = nil, &block)
|
513
|
+
tk_call('namespace', 'unknown', cmd || block)
|
534
514
|
end
|
535
515
|
|
536
516
|
def self.which(name)
|
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
|
@@ -289,12 +225,6 @@ module TkOptionDB
|
|
289
225
|
func.each{|f|
|
290
226
|
cmd_klass.instance_variable_get('@method_tbl')[f.to_s.intern] = nil
|
291
227
|
}
|
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
228
|
|
299
229
|
cmd_klass
|
300
230
|
end
|
data/lib/tk/scale.rb
CHANGED
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
@@ -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
|