# File tk/lib/tkextlib/blt/tabset.rb, line 26 def self.id2obj(tabset, id) tpath = tabset.path TabID_TBL.mutex.synchronize{ if TabID_TBL[tpath] TabID_TBL[tpath][id]? TabID_TBL[tpath][id]: id else id end } end
# File tk/lib/tkextlib/blt/tabset.rb, line 37 def self.new(parent, pos=nil, name=nil, keys={}) if pos.kind_of?(Hash) keys = pos name = nil pos = nil end if name.kind_of?(Hash) keys = name name = nil end obj = nil TabID_TBL.mutex.synchronize{ if name && TabID_TBL[parent.path] && TabID_TBL[parent.path][name] obj = TabID_TBL[parent.path][name] if pos if pos.to_s == 'end' obj.move_after('end') else obj.move_before(pos) end end obj.configure if keys && ! keys.empty? else (obj = self.allocate).instance_eval{ initialize(parent, pos, name, keys) TabID_TBL[@tpath] = {} unless TabID_TBL[@tpath] TabID_TBL[@tpath][@id] = self } end } obj end
# File tk/lib/tkextlib/blt/tabset.rb, line 70 def initialize(parent, pos, name, keys) @t = parent @tpath = parent.path if name @path = @id = name unless (list(tk_call(@tpath, 'tab', 'names', @id)).empty?) if pos idx = tk_call(@tpath, 'index', '-name', @id) if pos.to_s == 'end' tk_call(@tpath, 'move', idx, 'after', 'end') else tk_call(@tpath, 'move', idx, 'before', pos) end end tk_call(@tpath, 'tab', 'configure', @id, keys) else pos = 'end' unless pos tk_call(@tpath, 'insert', pos, @id, keys) end else pos = 'end' unless pos TabsetTab_ID.mutex.synchronize{ @path = @id = TabsetTab_ID.join(TkCore::INTERP._ip_id_) TabsetTab_ID[1].succ! } tk_call(@tpath, 'insert', pos, @id, keys) end end
def bind(context, cmd=Proc.new, *args)
@t.tab_bind(@id, context, cmd, *args) self
end
# File tk/lib/tkextlib/blt/tabset.rb, line 103 def bind(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 @t.tab_bind(@id, context, cmd, *args) self end
def #bind_append(context, cmd=Proc.new, *args)
@t.tab_bind_append(@id, context, cmd, *args) self
end
# File tk/lib/tkextlib/blt/tabset.rb, line 117 def bind_append(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 @t.tab_bind_append(@id, context, cmd, *args) self end
# File tk/lib/tkextlib/blt/tabset.rb, line 127 def bind_remove(context) @t.tab_bind_remove(@id, context) self end
# File tk/lib/tkextlib/blt/tabset.rb, line 131 def bindinfo(context=nil) @t.tab_bindinfo(@id, context) end
# File tk/lib/tkextlib/blt/tabset.rb, line 138 def cget(*args) @t.tab_cget(@id, *args) end
# File tk/lib/tkextlib/blt/tabset.rb, line 141 def cget_strict(*args) @t.tab_cget_strict(@id, *args) end
# File tk/lib/tkextlib/blt/tabset.rb, line 135 def cget_tkstring(*args) @t.tab_cget_tkstring(@id, *args) end
# File tk/lib/tkextlib/blt/tabset.rb, line 147 def configinfo(*args) @t.tab_configinfo(@id, *args) end
# File tk/lib/tkextlib/blt/tabset.rb, line 144 def configure(*args) @t.tab_configure(@id, *args) end
# File tk/lib/tkextlib/blt/tabset.rb, line 150 def current_configinfo(*args) @t.current_tab_configinfo(@id, *args) end
# File tk/lib/tkextlib/blt/tabset.rb, line 154 def delete() @t.delete(@id) TabID_TBL.mutex.synchronize{ TabID_TBL[@tpath].delete(@id) } self end
# File tk/lib/tkextlib/blt/tabset.rb, line 166 def focus() @t.focus(self.index) end
# File tk/lib/tkextlib/blt/tabset.rb, line 162 def get_name() @id.dup end
# File tk/lib/tkextlib/blt/tabset.rb, line 170 def index() @t.index_name(@id) end
# File tk/lib/tkextlib/blt/tabset.rb, line 174 def invoke() @t.invoke(self.index) end
# File tk/lib/tkextlib/blt/tabset.rb, line 181 def move_after(idx) @t.move_after(self.index, idx) end
# File tk/lib/tkextlib/blt/tabset.rb, line 178 def move_before(idx) @t.move_before(self.index, idx) end
# File tk/lib/tkextlib/blt/tabset.rb, line 185 def perforation_highlight(mode) @t.perforation_highlight(self.index, mode) end
# File tk/lib/tkextlib/blt/tabset.rb, line 188 def perforation_invoke() @t.perforation_invoke(self.index) end