# File tk/lib/tkextlib/blt/tabset.rb, line 223
def __boolval_optkeys
super() << 'samewidth' << 'tearoff'
end
# File tk/lib/tkextlib/blt/tabset.rb, line 215
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 281
def activate(index)
tk_send('activate', tagindex(index))
self
end
# File tk/lib/tkextlib/blt/tabset.rb, line 323
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 339
def focus(index)
tk_send('focus', tagindex(index))
self
end
# File tk/lib/tkextlib/blt/tabset.rb, line 344
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 351
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 359
def index(str)
num_or_str(tk_send('index', str))
end
# File tk/lib/tkextlib/blt/tabset.rb, line 362
def index_name(tab)
num_or_str(tk_send('index', '-name', tagid(tab)))
end
# File tk/lib/tkextlib/blt/tabset.rb, line 366
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 370
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 383
def invoke(index)
tk_send('invoke', tagindex(index))
end
# File tk/lib/tkextlib/blt/tabset.rb, line 391
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 387
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 396
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 400
def perforation_activate(mode)
tk_send('perforation', 'activate', mode)
self
end
# File tk/lib/tkextlib/blt/tabset.rb, line 404
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 416
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 428
def scan_dragto(x, y)
tk_send_without_enc('scan', 'dragto', x, y)
self
end
# File tk/lib/tkextlib/blt/tabset.rb, line 424
def scan_mark(x, y)
tk_send_without_enc('scan', 'mark', x, y)
self
end
# File tk/lib/tkextlib/blt/tabset.rb, line 433
def see(index)
tk_send('see', tagindex(index))
self
end
# File tk/lib/tkextlib/blt/tabset.rb, line 442
def select(index)
tk_send('select', tagindex(index))
self
end
# File tk/lib/tkextlib/blt/tabset.rb, line 438
def size()
number(tk_send_without_enc('size'))
end
# File tk/lib/tkextlib/blt/tabset.rb, line 447
def tab_dockall
tk_send('tab', 'dockall')
self
end
# File tk/lib/tkextlib/blt/tabset.rb, line 464
def tab_ids(pat=None)
simplelist(tk_send('tab', 'names', pat))
end
# File tk/lib/tkextlib/blt/tabset.rb, line 452
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 458
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 468
def tab_pageheight
number(tk_send('tab', 'pageheight'))
end
# File tk/lib/tkextlib/blt/tabset.rb, line 472
def tab_pagewidth
number(tk_send('tab', 'pagewidth'))
end
# File tk/lib/tkextlib/blt/tabset.rb, line 476
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 291
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 305
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 315
def tabbind_remove(tag, context)
_bind_remove([path, "bind", tagid(tag)], context)
self
end
# File tk/lib/tkextlib/blt/tabset.rb, line 319
def tabbindinfo(tag, context=nil)
_bindinfo([path, "bind", tagid(tag)], context)
end
# File tk/lib/tkextlib/blt/tabset.rb, line 263
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 271
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 480
def xscrollcommand(cmd=Proc.new)
configure_cmd 'scrollcommand', cmd
self
end
# File tk/lib/tkextlib/blt/tabset.rb, line 486
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.