Module: TkGrid (Ruby 2.3.4)

In Files

  • tk/lib/tk/grid.rb

Class/Module Index [+]

Quicksearch

TkGrid

Constants

TkCommandNames

Public Class Methods

add(widget, *args)
 
               # File tk/lib/tk/grid.rb, line 189
def add(widget, *args)
  configure(widget, *args)
end
            
anchor(master, anchor=None)
 
               # File tk/lib/tk/grid.rb, line 13
def anchor(master, anchor=None)
  # master = master.epath if master.kind_of?(TkObject)
  master = _epath(master)
  tk_call_without_enc('grid', 'anchor', master, anchor)
end
            
bbox(master, *args)
 
               # File tk/lib/tk/grid.rb, line 19
def bbox(master, *args)
  # master = master.epath if master.kind_of?(TkObject)
  master = _epath(master)
  args.unshift(master)
  list(tk_call_without_enc('grid', 'bbox', *args))
end
            
column(master, index, keys=nil)
 
               # File tk/lib/tk/grid.rb, line 173
def column(master, index, keys=nil)
  if keys.kind_of?(Hash)
    columnconfigure(master, index, keys)
  else
    columnconfiginfo(master, index, keys)
  end
end
            
columnconfiginfo(master, index, slot=nil)
 
               # File tk/lib/tk/grid.rb, line 115
def columnconfiginfo(master, index, slot=nil)
  # master = master.epath if master.kind_of?(TkObject)
  master = _epath(master)
  if slot
    case slot
    when 'uniform', :uniform
      tk_call_without_enc('grid', 'columnconfigure',
                          master, index, "-#{slot}")
    else
      num_or_str(tk_call_without_enc('grid', 'columnconfigure',
                                     master, index, "-#{slot}"))
    end
  else
    #ilist = list(tk_call_without_enc('grid','columnconfigure',master,index))
    ilist = simplelist(tk_call_without_enc('grid', 'columnconfigure',
                                           master, index))
    info = {}
    while key = ilist.shift
      case key
      when 'uniform'
        info[key[1..-1]] = ilist.shift
      else
        info[key[1..-1]] = tk_tcl2ruby(ilist.shift)
      end
    end
    info
  end
end
            
columnconfigure(master, index, args)
 
               # File tk/lib/tk/grid.rb, line 102
def columnconfigure(master, index, args)
  # master = master.epath if master.kind_of?(TkObject)
  master = _epath(master)
  tk_call_without_enc("grid", 'columnconfigure',
                      master, index, *hash_kv(args))
end
            
configure(*args)

def configure(win, *args)

if args[-1].kind_of?(Hash)
  opts = args.pop
else
  opts = {}
end
params = []
params.push(_epath(win))
args.each{|win|
  case win
  when '-', 'x', '^'  # RELATIVE PLACEMENT
    params.push(win)
  else
    params.push(_epath(win))
  end
}
opts.each{|k, v|
  params.push("-#{k}")
  params.push((v.kind_of?(TkObject))? v.epath: v)
}
if Tk::TCL_MAJOR_VERSION < 8 ||
    (Tk::TCL_MAJOR_VERSION == 8 && Tk::TCL_MINOR_VERSION <= 3)
  if params[0] == '-' || params[0] == 'x' || params[0] == '^'
    tk_call_without_enc('grid', *params)
  else
    tk_call_without_enc('grid', 'configure', *params)
  end
else
  tk_call_without_enc('grid', 'configure', *params)
end

end

 
               # File tk/lib/tk/grid.rb, line 59
def configure(*args)
  if args[-1].kind_of?(Hash)
    opts = args.pop
  else
    opts = {}
  end
  fail ArgumentError, 'no widget is given' if args.empty?
  params = []
  args.flatten(1).each{|win|
    case win
    when '-', ?-              # RELATIVE PLACEMENT (increase columnspan)
      params.push('-')
    when /^-+$/             # RELATIVE PLACEMENT (increase columnspan)
      params.concat(win.to_s.split(//))
    when '^', ?^              # RELATIVE PLACEMENT (increase rowspan)
      params.push('^')
    when /^\^+$/             # RELATIVE PLACEMENT (increase rowspan)
      params.concat(win.to_s.split(//))
    when 'x', :x, ?x, nil, '' # RELATIVE PLACEMENT (empty column)
      params.push('x')
    when /^x+$/             # RELATIVE PLACEMENT (empty column)
      params.concat(win.to_s.split(//))
    else
      params.push(_epath(win))
    end
  }
  opts.each{|k, v|
    params.push("-#{k}")
    params.push(_epath(v))  # have to use 'epath' (hash_kv() is unavailable)
  }
  if Tk::TCL_MAJOR_VERSION < 8 ||
      (Tk::TCL_MAJOR_VERSION == 8 && Tk::TCL_MINOR_VERSION <= 3)
    if params[0] == '-' || params[0] == 'x' || params[0] == '^'
      tk_call_without_enc('grid', *params)
    else
      tk_call_without_enc('grid', 'configure', *params)
    end
  else
    tk_call_without_enc('grid', 'configure', *params)
  end
end
            
Also aliased as: grid
forget(*args)
 
               # File tk/lib/tk/grid.rb, line 193
def forget(*args)
  return '' if args.size == 0
  wins = args.collect{|win|
    # (win.kind_of?(TkObject))? win.epath: win
    _epath(win)
  }
  tk_call_without_enc('grid', 'forget', *wins)
end
            
grid(*args)
Alias for: configure
info(slave)
 
               # File tk/lib/tk/grid.rb, line 202
def info(slave)
  # slave = slave.epath if slave.kind_of?(TkObject)
  slave = _epath(slave)
  #ilist = list(tk_call_without_enc('grid', 'info', slave))
  ilist = simplelist(tk_call_without_enc('grid', 'info', slave))
  info = {}
  while key = ilist.shift
    #info[key[1..-1]] = ilist.shift
    info[key[1..-1]] = tk_tcl2ruby(ilist.shift)
  end
  return info
end
            
location(master, x, y)
 
               # File tk/lib/tk/grid.rb, line 215
def location(master, x, y)
  # master = master.epath if master.kind_of?(TkObject)
  master = _epath(master)
  list(tk_call_without_enc('grid', 'location', master, x, y))
end
            
propagate(master, mode=None)
 
               # File tk/lib/tk/grid.rb, line 221
def propagate(master, mode=None)
  # master = master.epath if master.kind_of?(TkObject)
  master = _epath(master)
  if mode == None
    bool(tk_call_without_enc('grid', 'propagate', master))
  else
    tk_call_without_enc('grid', 'propagate', master, mode)
  end
end
            
remove(*args)
 
               # File tk/lib/tk/grid.rb, line 231
def remove(*args)
  return '' if args.size == 0
  wins = args.collect{|win|
    # (win.kind_of?(TkObject))? win.epath: win
    _epath(win)
  }
  tk_call_without_enc('grid', 'remove', *wins)
end
            
row(master, index, keys=nil)
 
               # File tk/lib/tk/grid.rb, line 181
def row(master, index, keys=nil)
  if keys.kind_of?(Hash)
    rowconfigure(master, index, keys)
  else
    rowconfiginfo(master, index, keys)
  end
end
            
rowconfiginfo(master, index, slot=nil)
 
               # File tk/lib/tk/grid.rb, line 144
def rowconfiginfo(master, index, slot=nil)
  # master = master.epath if master.kind_of?(TkObject)
  master = _epath(master)
  if slot
    case slot
    when 'uniform', :uniform
      tk_call_without_enc('grid', 'rowconfigure',
                          master, index, "-#{slot}")
    else
      num_or_str(tk_call_without_enc('grid', 'rowconfigure',
                                     master, index, "-#{slot}"))
    end
  else
    #ilist = list(tk_call_without_enc('grid', 'rowconfigure', master, index))
    ilist = simplelist(tk_call_without_enc('grid', 'rowconfigure',
                                           master, index))
    info = {}
    while key = ilist.shift
      case key
      when 'uniform'
        info[key[1..-1]] = ilist.shift
      else
        info[key[1..-1]] = tk_tcl2ruby(ilist.shift)
      end
    end
    info
  end
end
            
rowconfigure(master, index, args)
 
               # File tk/lib/tk/grid.rb, line 109
def rowconfigure(master, index, args)
  # master = master.epath if master.kind_of?(TkObject)
  master = _epath(master)
  tk_call_without_enc("grid", 'rowconfigure', master, index, *hash_kv(args))
end
            
size(master)
 
               # File tk/lib/tk/grid.rb, line 240
def size(master)
  # master = master.epath if master.kind_of?(TkObject)
  master = _epath(master)
  list(tk_call_without_enc('grid', 'size', master))
end
            
slaves(master, keys=nil)
 
               # File tk/lib/tk/grid.rb, line 246
def slaves(master, keys=nil)
  # master = master.epath if master.kind_of?(TkObject)
  master = _epath(master)
  list(tk_call_without_enc('grid', 'slaves', master, *hash_kv(args)))
end