# File tk/lib/tk/virtevent.rb, line 38 def TkVirtualEvent.getobj(event) obj = TkVirtualEventTBL[event] if obj obj else if tk_call_without_enc('event', 'info').index("<#{event}>") PreDefVirtEvent.new(event) else fail ArgumentError, "undefined virtual event '<#{event}>'" end end end
# File tk/lib/tk/virtevent.rb, line 64 def add(*sequences) if sequences != [] tk_call_without_enc('event', 'add', "<#{@id}>", *(sequences.collect{|seq| "<#{tk_event_sequence(seq)}>" }) ) TkVirtualEventTBL[@id] = self end self end
# File tk/lib/tk/virtevent.rb, line 75 def delete(*sequences) if sequences == [] tk_call_without_enc('event', 'delete', "<#{@id}>") TkVirtualEventTBL.delete(@id) else tk_call_without_enc('event', 'delete', "<#{@id}>", *(sequences.collect{|seq| "<#{tk_event_sequence(seq)}>" }) ) TkVirtualEventTBL.delete(@id) if info == [] end self end
# File tk/lib/tk/virtevent.rb, line 89 def info tk_call_without_enc('event','info',"<#{@id}>").split(/\s+/).collect!{|seq| l = seq.scan(/<*[^<>]+>*/).collect!{|subseq| case (subseq) when /^<<[^<>]+>>$/ TkVirtualEvent.getobj(subseq[1..-2]) when /^<[^<>]+>$/ subseq[1..-2] else subseq.split('') end }.flatten (l.size == 1) ? l[0] : l } end