class Tk::Iwidgets::Tabset
Constants
- TkCommandNames
- WidgetClassName
Public Instance Methods
add(keys={})
click to toggle source
# File lib/tkextlib/iwidgets/tabset.rb, line 66 def add(keys={}) window(tk_call(@path, 'add', *hash_kv(keys))) end
delete(idx1, idx2=nil)
click to toggle source
# File lib/tkextlib/iwidgets/tabset.rb, line 70 def delete(idx1, idx2=nil) if idx2 tk_call(@path, 'delete', index(idx1), index(idx2)) else tk_call(@path, 'delete', index(idx1)) end self end
index(idx)
click to toggle source
# File lib/tkextlib/iwidgets/tabset.rb, line 79 def index(idx) number(tk_call(@path, 'index', tagid(idx))) end
insert(idx, keys={})
click to toggle source
# File lib/tkextlib/iwidgets/tabset.rb, line 83 def insert(idx, keys={}) window(tk_call(@path, 'insert', index(idx), *hash_kv(keys))) end
next()
click to toggle source
# File lib/tkextlib/iwidgets/tabset.rb, line 87 def next tk_call(@path, 'next') self end
prev()
click to toggle source
# File lib/tkextlib/iwidgets/tabset.rb, line 92 def prev tk_call(@path, 'prev') self end
select(idx)
click to toggle source
# File lib/tkextlib/iwidgets/tabset.rb, line 97 def select(idx) tk_call(@path, 'select', index(idx)) self end
show_tab(idx)
click to toggle source
# File lib/tkextlib/iwidgets/tabset.rb, line 102 def show_tab(idx) if index(idx) == 0 self.start = 0 return end return unless @canvas ||= self.winfo_children[0] delta = 1 if (delta = cget(:gap)) == 'overlap' || (delta = self.winfo_pixels(delta) + 1) <= 0 case cget(:tabpos) when 's', 'n' if (head = tabcget(idx, :left)) < 0 self.start -= head return end tabs_size = @canvas.winfo_width tab_start, tab_end = @canvas . find_overlapping(head, 0, head + delta, @canvas.winfo_height) . find_all{|id| @canvas.itemtype(id) == TkcPolygon} . map!{|id| bbox = @canvas.bbox(id); [bbox[0], bbox[2]]} . max when 'e', 'w' if (head = tabcget(idx, :top)) < 0 self.start -= head return end tabs_size = @canvas.winfo_height tab_start, tab_end = @canvas . find_overlapping(0, head, @canvas.winfo_width, head + delta) . find_all{|id| @canvas.itemtype(id) == TkcPolygon} . map!{|id| bbox = @canvas.bbox(id); [bbox[1], bbox[3]]} . max end if (size = tab_end - tab_start + 1) > tabs_size self.start -= tab_start elsif head + size > tabs_size self.start -= head + size - tabs_size end self end
tagid(tagOrId)
click to toggle source
# File lib/tkextlib/iwidgets/tabset.rb, line 35 def tagid(tagOrId) if tagOrId.kind_of?(Tk::Itk::Component) tagOrId.name else #_get_eval_string(tagOrId) tagOrId end end
Private Instance Methods
__boolval_optkeys()
click to toggle source
Calls superclass method
TkConfigMethod#__boolval_optkeys
# File lib/tkextlib/iwidgets/tabset.rb, line 56 def __boolval_optkeys super() << 'equaltabs' << 'raiseselect' << 'tabborders' end
__item_cget_cmd(id)
click to toggle source
# File lib/tkextlib/iwidgets/tabset.rb, line 25 def __item_cget_cmd(id) [self.path, 'tabcget', id] end
__item_config_cmd(id)
click to toggle source
# File lib/tkextlib/iwidgets/tabset.rb, line 30 def __item_config_cmd(id) [self.path, 'tabconfigure', id] end
__strval_optkeys()
click to toggle source
Calls superclass method
TkConfigMethod#__strval_optkeys
# File lib/tkextlib/iwidgets/tabset.rb, line 61 def __strval_optkeys super() << 'backdrop' end