# File tk/lib/tkextlib/blt/tabset.rb, line 227
def __boolval_optkeys
super() << 'samewidth' << 'tearoff'
end
# File tk/lib/tkextlib/blt/tabset.rb, line 219
def __destroy_hook__
Tk::BLT::Tabset::Tab::TabID_TBL.mutex.synchronize{
Tk::BLT::Tabset::Tab::TabID_TBL.delete(@path)
}
end
# File tk/lib/tkextlib/blt/tabset.rb, line 286
def activate(index)
tk_send('activate', tagindex(index))
self
end
# File tk/lib/tkextlib/blt/tabset.rb, line 328
def delete(first, last=None)
tk_send('delete', tagindex(first), tagindex(last))
if first.kind_of?(Tk::BLT::Tabset::Tab)
TabID_TBL.mutex.synchronize{
TabID_TBL[@path].delete(first.id)
}
end
# middle tabs of the range are unknown
if last.kind_of?(Tk::BLT::Tabset::Tab)
TabID_TBL.mutex.synchronize{
TabID_TBL[@path].delete(last.id)
}
end
self
end
# File tk/lib/tkextlib/blt/tabset.rb, line 344
def focus(index)
tk_send('focus', tagindex(index))
self
end
# File tk/lib/tkextlib/blt/tabset.rb, line 349
def get_tab(index)
if (idx = tk_send_without_enc('get', tagindex(index))).empty?
nil
else
Tk::BLT::Tabset::Tab.id2obj(self, idx)
end
end
# File tk/lib/tkextlib/blt/tabset.rb, line 356
def get_tabobj(index)
if (idx = tk_send_without_enc('get', tagindex(index))).empty?
nil
else
Tk::BLT::Tabset::Tab.new(self, nil, name, {})
end
end
# File tk/lib/tkextlib/blt/tabset.rb, line 364
def index(str)
num_or_str(tk_send('index', str))
end
# File tk/lib/tkextlib/blt/tabset.rb, line 367
def index_name(tab)
num_or_str(tk_send('index', '-name', tagid(tab)))
end
# File tk/lib/tkextlib/blt/tabset.rb, line 371
def insert(pos, tab, keys={})
pos = 'end' if pos.nil?
Tk::BLT::Tabset::Tab.new(self, tagindex(pos), tagid(tab), keys)
end
# File tk/lib/tkextlib/blt/tabset.rb, line 375
def insert_tabs(pos, *tabs)
pos = 'end' if pos.nil?
if tabs[-1].kind_of?(Hash)
keys = tabs.pop
else
keys = {}
end
fail ArgumentError, 'no tabs is given' if tabs.empty?
tabs.map!{|tab| tagid(tab)}
tk_send('insert', tagindex(pos), *(tabs + [keys]))
tabs.collect{|tab| Tk::BLT::Tabset::Tab.new(self, nil, tagid(tab))}
end
# File tk/lib/tkextlib/blt/tabset.rb, line 388
def invoke(index)
tk_send('invoke', tagindex(index))
end
# File tk/lib/tkextlib/blt/tabset.rb, line 396
def move_after(index, base_idx)
tk_send('move', tagindex(index), 'after', tagindex(base_idx))
self
end
# File tk/lib/tkextlib/blt/tabset.rb, line 392
def move_before(index, base_idx)
tk_send('move', tagindex(index), 'before', tagindex(base_idx))
self
end
# File tk/lib/tkextlib/blt/tabset.rb, line 401
def nearest(x, y)
Tk::BLT::Tabset::Tab.id2obj(self, num_or_str(tk_send_without_enc('nearest', x, y)))
end
# File tk/lib/tkextlib/blt/tabset.rb, line 405
def perforation_activate(mode)
tk_send('perforation', 'activate', mode)
self
end
# File tk/lib/tkextlib/blt/tabset.rb, line 409
def perforation_highlight(index, *args)
if args.empty?
# index --> mode
tk_send('perforation', 'highlight', index)
elsif args.size == 1
# args[0] --> mode
tk_send('perforation', 'highlight', tagindex(index), args[0])
else # Error: call to get Tcl's error message
tk_send('perforation', 'highlight', tagindex(index), *args)
end
self
end
# File tk/lib/tkextlib/blt/tabset.rb, line 421
def perforation_invoke(index=nil)
if index
tk_send('perforation', 'invoke', tagindex(index))
else
tk_send('perforation', 'invoke')
end
end
# File tk/lib/tkextlib/blt/tabset.rb, line 433
def scan_dragto(x, y)
tk_send_without_enc('scan', 'dragto', x, y)
self
end
# File tk/lib/tkextlib/blt/tabset.rb, line 429
def scan_mark(x, y)
tk_send_without_enc('scan', 'mark', x, y)
self
end
# File tk/lib/tkextlib/blt/tabset.rb, line 438
def see(index)
tk_send('see', tagindex(index))
self
end
# File tk/lib/tkextlib/blt/tabset.rb, line 447
def select(index)
tk_send('select', tagindex(index))
self
end
# File tk/lib/tkextlib/blt/tabset.rb, line 443
def size()
number(tk_send_without_enc('size'))
end
# File tk/lib/tkextlib/blt/tabset.rb, line 452
def tab_dockall
tk_send('tab', 'dockall')
self
end
# File tk/lib/tkextlib/blt/tabset.rb, line 469
def tab_ids(pat=None)
simplelist(tk_send('tab', 'names', pat))
end
# File tk/lib/tkextlib/blt/tabset.rb, line 457
def tab_names(pat=None)
simplelist(tk_send('tab', 'names', pat)).collect{|name|
Tk::BLT::Tabset::Tab.id2obj(self, name)
}
end
# File tk/lib/tkextlib/blt/tabset.rb, line 463
def tab_objs(pat=None)
simplelist(tk_send('tab', 'names', pat)).collect{|name|
Tk::BLT::Tabset::Tab.new(self, nil, name, {})
}
end
# File tk/lib/tkextlib/blt/tabset.rb, line 473
def tab_pageheight
number(tk_send('tab', 'pageheight'))
end
# File tk/lib/tkextlib/blt/tabset.rb, line 477
def tab_pagewidth
number(tk_send('tab', 'pagewidth'))
end
# File tk/lib/tkextlib/blt/tabset.rb, line 481
def tab_tearoff(index, parent=None)
window(tk_send('tab', 'tearoff', tagindex(index), parent))
end
def tabbind(tag, context, cmd=Proc.new, *args)
_bind([path, "bind", tagid(tag)], context, cmd, *args) self
end
# File tk/lib/tkextlib/blt/tabset.rb, line 296
def tabbind(tag, context, *args)
# if args[0].kind_of?(Proc) || args[0].kind_of?(Method)
if TkComm._callback_entry?(args[0]) || !block_given?
cmd = args.shift
else
cmd = Proc.new
end
_bind([path, "bind", tagid(tag)], context, cmd, *args)
self
end
def #tabbind_append(tag, context, cmd=Proc.new, *args)
_bind_append([path, "bind", tagid(tag)], context, cmd, *args) self
end
# File tk/lib/tkextlib/blt/tabset.rb, line 310
def tabbind_append(tag, context, *args)
# if args[0].kind_of?(Proc) || args[0].kind_of?(Method)
if TkComm._callback_entry?(args[0]) || !block_given?
cmd = args.shift
else
cmd = Proc.new
end
_bind_append([path, "bind", tagid(tag)], context, cmd, *args)
self
end
# File tk/lib/tkextlib/blt/tabset.rb, line 320
def tabbind_remove(tag, context)
_bind_remove([path, "bind", tagid(tag)], context)
self
end
# File tk/lib/tkextlib/blt/tabset.rb, line 324
def tabbindinfo(tag, context=nil)
_bindinfo([path, "bind", tagid(tag)], context)
end
# File tk/lib/tkextlib/blt/tabset.rb, line 268
def tagid(tab)
if tab.kind_of?(Tk::BLT::Tabset::Tab)
tab.id
else
tab
end
end
# File tk/lib/tkextlib/blt/tabset.rb, line 276
def tagindex(tab)
if tab.kind_of?(Tk::BLT::Tabset::Tab)
tab.index
else
tab
end
end
# File tk/lib/tkextlib/blt/tabset.rb, line 485
def xscrollcommand(cmd=Proc.new)
configure_cmd 'scrollcommand', cmd
self
end
# File tk/lib/tkextlib/blt/tabset.rb, line 491
def xview(*index)
if index.empty?
list(tk_send_without_enc('view'))
else
tk_send_without_enc('view', *index)
self
end
end
Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.
If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.
If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.
If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.