TkComm::Event (Class)

In: tk/lib/tk.rb
Parent: Object

Methods

new   scan_args  

Constants

EV_KEY = '#abcdfhikmopstwxyABDEKNRSTWXY'
EV_TYPE = 'nsnnsbnsnsbsxnnnnsnnbsnssnwnn'

Attributes

above  [R] 
borderwidth  [R] 
char  [R] 
count  [R] 
detail  [R] 
focus  [R] 
height  [R] 
keycode  [R] 
keysym  [R] 
keysym_num  [R] 
mode  [R] 
num  [R] 
override  [R] 
place  [R] 
rootwin_id  [R] 
send_event  [R] 
serial  [R] 
state  [R] 
subwindow  [R] 
time  [R] 
type  [R] 
wheel_delta  [R] 
widget  [R] 
width  [R] 
win_hex  [R] 
x  [R] 
x_root  [R] 
y  [R] 
y_root  [R] 

Classes and Modules

Module TkComm::Event::TypeNum

Public Class methods

[Source]

# File tk/lib/tk.rb, line 451
    def initialize(seq,a,b,c,d,f,h,i,k,m,o,p,s,t,w,x,y,
                   aa,bb,dd,ee,kk,nn,rr,ss,tt,ww,xx,yy)
      @serial = seq
      @above = a
      @num = b
      @count = c
      @detail = d
      @focus = f
      @height = h
      @win_hex = i
      @keycode = k
      @mode = m
      @override = o
      @place = p
      @state = s
      @time = t
      @width = w
      @x = x
      @y = y
      @char = aa
      @borderwidth = bb
      @wheel_delta = dd
      @send_event = ee
      @keysym = kk
      @keysym_num = nn
      @rootwin_id = rr
      @subwindow = ss
      @type = tt
      @widget = ww
      @x_root = xx
      @y_root = yy
    end

[Source]

# File tk/lib/tk.rb, line 412
    def self.scan_args(arg_str, arg_val)
      arg_cnv = []
      arg_str.strip.split(/\s+/).each_with_index{|kwd,idx|
        if kwd =~ /^%(.)$/
          if num = EV_KEY.index($1)
            case EV_TYPE[num]
            when ?n
              begin
                val = TkComm::number(arg_val[idx])
              rescue ArgumentError
                # ignore --> no convert

                val = TkComm::string(arg_val[idx])
              end
              arg_cnv << val
            when ?s
              arg_cnv << TkComm::string(arg_val[idx])
            when ?b
              arg_cnv << TkComm::bool(arg_val[idx])
            when ?w
              arg_cnv << TkComm::window(arg_val[idx])
            when ?x
              begin
                arg_cnv << TkComm::number(arg_val[idx])
              rescue ArgumentError
                arg_cnv << arg_val[idx]
              end
            else
              arg_cnv << arg_val[idx]
            end
          else
            arg_cnv << arg_val[idx]
          end
        else
          arg_cnv << arg_val[idx]
        end
      }
      arg_cnv
    end

[Validate]