mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
2000-04-10
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
7194267b3b
commit
4a67017698
2 changed files with 70 additions and 46 deletions
|
@ -350,6 +350,10 @@ module TkComm
|
|||
_bind_core('+', what, context, cmd, args)
|
||||
end
|
||||
|
||||
def _bind_remove(what, context)
|
||||
tk_call(*(what + ["<#{tk_event_sequence(context)}>", '']))
|
||||
end
|
||||
|
||||
def _bindinfo(what, context=nil)
|
||||
if context
|
||||
tk_call(*what+["<#{tk_event_sequence(context)}>"]).collect {|cmdline|
|
||||
|
@ -366,7 +370,7 @@ module TkComm
|
|||
end
|
||||
end
|
||||
private :install_bind, :tk_event_sequence,
|
||||
:_bind_core, :_bind, :_bind_append, :_bindinfo
|
||||
:_bind_core, :_bind, :_bind_append, ,:_bind_remove, :_bindinfo
|
||||
|
||||
def bind(tagOrClass, context, cmd=Proc.new, args=nil)
|
||||
_bind(["bind", tagOrClass], context, cmd, args)
|
||||
|
@ -376,6 +380,10 @@ module TkComm
|
|||
_bind_append(["bind", tagOrClass], context, cmd, args)
|
||||
end
|
||||
|
||||
def bind_remove(tagOrClass, context)
|
||||
_bind_remove(['bind', tagOrClass], context)
|
||||
end
|
||||
|
||||
def bindinfo(tagOrClass, context=nil)
|
||||
_bindinfo(['bind', tagOrClass], context)
|
||||
end
|
||||
|
@ -729,6 +737,10 @@ module TkBindCore
|
|||
Tk.bind_append(to_eval, context, cmd, args)
|
||||
end
|
||||
|
||||
def bind_remove(context)
|
||||
Tk.bind_remove(to_eval, context)
|
||||
end
|
||||
|
||||
def bindinfo(context=nil)
|
||||
Tk.bindinfo(to_eval, context)
|
||||
end
|
||||
|
|
|
@ -428,8 +428,16 @@ class TkText<TkTextWin
|
|||
rsearch_with_length(pat,start,stop)[0]
|
||||
end
|
||||
|
||||
def _dump(type, *index)
|
||||
str = tk_send('dump', type, *index)
|
||||
def dump(type_info, *index)
|
||||
args = type_info.collect{|inf|
|
||||
if inf.kind_of? Array
|
||||
inf[0] = '-' + inf[0]
|
||||
inf
|
||||
else
|
||||
'-' + inf
|
||||
end
|
||||
}.flatten
|
||||
str = tk_send('dump', *(args + index))
|
||||
result = []
|
||||
sel = nil
|
||||
i = 0
|
||||
|
@ -501,24 +509,64 @@ class TkText<TkTextWin
|
|||
end
|
||||
kvis # result is [[key1, value1, index1], [key2, value2, index2], ...]
|
||||
end
|
||||
private :_dump
|
||||
|
||||
def _retrieve_braced_text(str, i)
|
||||
cnt = 0
|
||||
idx = i
|
||||
while idx < str.size
|
||||
case str[idx]
|
||||
when ?{
|
||||
cnt += 1
|
||||
when ?}
|
||||
cnt -= 1
|
||||
if cnt == 0
|
||||
break
|
||||
end
|
||||
end
|
||||
idx += 1
|
||||
end
|
||||
return str[i+1..idx-1], idx + 2
|
||||
end
|
||||
private :_retrieve_braced_text
|
||||
|
||||
def _retrieve_backslashed_text(str, i)
|
||||
j = i
|
||||
idx = nil
|
||||
loop {
|
||||
idx = str.index(/ /, j)
|
||||
if str[idx-1] == ?\\
|
||||
j += 1
|
||||
else
|
||||
break
|
||||
end
|
||||
}
|
||||
val = str[i..(idx-1)]
|
||||
val.gsub!(/\\( |\{|\})/, '\1')
|
||||
return val, idx + 1
|
||||
end
|
||||
private :_retrieve_backslashed_text
|
||||
|
||||
def dump_all(*index)
|
||||
_dump('-all', *index)
|
||||
dump(['all'], *index)
|
||||
end
|
||||
def dump_command(cmd, *index)
|
||||
dump([['command', cmd]], *index)
|
||||
end
|
||||
def dump_mark(*index)
|
||||
_dump('-mark', *index)
|
||||
dump(['mark'], *index)
|
||||
end
|
||||
def dump_tag(*index)
|
||||
_dump('-tag', *index)
|
||||
dump(['tag'], *index)
|
||||
end
|
||||
def dump_text(*index)
|
||||
_dump('-text', *index)
|
||||
dump(['text'], *index)
|
||||
end
|
||||
def dump_window(*index)
|
||||
_dump('-window', *index)
|
||||
dump(['window'], *index)
|
||||
end
|
||||
def dump_image(*index)
|
||||
dump(['image'], *index)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
class TkTextTag<TkObject
|
||||
|
@ -831,42 +879,6 @@ class TkTextWindow<TkObject
|
|||
end
|
||||
end
|
||||
|
||||
def _retrieve_braced_text(str, i)
|
||||
cnt = 0
|
||||
idx = i
|
||||
while idx < str.size
|
||||
case str[idx]
|
||||
when ?{
|
||||
cnt += 1
|
||||
when ?}
|
||||
cnt -= 1
|
||||
if cnt == 0
|
||||
break
|
||||
end
|
||||
end
|
||||
idx += 1
|
||||
end
|
||||
return str[i+1..idx-1], idx + 2
|
||||
end
|
||||
private :_retrieve_braced_text
|
||||
|
||||
def _retrieve_backslashed_text(str, i)
|
||||
j = i
|
||||
idx = nil
|
||||
loop {
|
||||
idx = str.index(/ /, j)
|
||||
if str[idx-1] == ?\\
|
||||
j += 1
|
||||
else
|
||||
break
|
||||
end
|
||||
}
|
||||
val = str[i..(idx-1)]
|
||||
val.gsub!(/\\( |\{|\})/, '\1')
|
||||
return val, idx + 1
|
||||
end
|
||||
private :_retrieve_backslashed_text
|
||||
|
||||
end
|
||||
|
||||
class TkTextImage<TkObject
|
||||
|
|
Loading…
Reference in a new issue