Extended maintenance of Ruby versions 1.8.7 and 1.9.2 ended on July 31, 2014. Read more
# File tk/lib/tkextlib/blt/component.rb, line 644 def Element.id2obj(chart, id) cpath = chart.path ElementID_TBL.mutex.synchronize{ return id unless ElementID_TBL[cpath] ElementID_TBL[cpath][id]? ElementID_TBL[cpath][id]: id } end
# File tk/lib/tkextlib/blt/component.rb, line 652 def self.new(chart, element=nil, keys={}) if element.kind_of?(Hash) keys = element element = nil end if keys keys = _symbolkey2str(keys) not_create = keys.delete('without_creating') else not_create = false end obj = nil ElementID_TBL.mutex.synchronize{ chart_path = chart.path ElementID_TBL[chart_path] ||= {} if element && ElementID_TBL[chart_path][element] obj = ElementID_TBL[chart_path][element] else (obj = self.allocate).instance_eval{ if element @element = @id = element.to_s else OBJ_ID.mutex.synchronize{ @element = @id = OBJ_ID.join(TkCore::INTERP._ip_id_).freeze OBJ_ID[1].succ! } end @path = @id @parent = @chart = chart @cpath = @chart.path @typename = self.class::ElementTypeName Element::ElementID_TBL[@cpath][@element] = self unless not_create tk_call(@chart, @typename, 'create', @element, keys) return obj end } end } obj.configure(keys) if obj && ! keys.empty? obj end
# File tk/lib/tkextlib/blt/component.rb, line 697 def initialize(chart, element=nil, keys={}) # dummy:: not called by 'new' method if element.kind_of?(Hash) keys = element element = nil end if element @element = @id = element.to_s else OBJ_ID.mutex.synchronize{ @element = @id = OBJ_ID.join(TkCore::INTERP._ip_id_).freeze OBJ_ID[1].succ! } end @path = @id @parent = @chart = chart @cpath = @chart.path @typename = self.class::ElementTypeName # Element::ElementID_TBL[@cpath][@element] = self keys = _symbolkey2str(keys) unless keys.delete('without_creating') # @chart.element_create(@element, keys) tk_call(@chart, @typename, 'create', @element, keys) end end
# File tk/lib/tkextlib/blt/component.rb, line 753 def activate(*args) @chart.element_activate(@id, *args) end
# File tk/lib/tkextlib/blt/component.rb, line 732 def cget(option) # @chart.element_cget(@id, option) @chart.__send__(@typename + '_cget', @id, option) end
# File tk/lib/tkextlib/blt/component.rb, line 736 def cget_strict(option) @chart.__send__(@typename + '_cget_strict', @id, option) end
# File tk/lib/tkextlib/blt/component.rb, line 757 def closest(x, y, var, keys={}) # @chart.element_closest(x, y, var, @id, keys) @chart.__send__(@typename + '_closest', x, y, var, @id, keys) end
# File tk/lib/tkextlib/blt/component.rb, line 744 def configinfo(key=nil) # @chart.element_configinfo(@id, key) @chart.__send__(@typename + '_configinfo', @id, key) end
# File tk/lib/tkextlib/blt/component.rb, line 739 def configure(key, value=None) # @chart.element_configure(@id, key, value) @chart.__send__(@typename + '_configure', @id, key, value) self end
# File tk/lib/tkextlib/blt/component.rb, line 748 def current_configinfo(key=nil) # @chart.current_element_configinfo(@id, key) @chart.__send__('current_' << @typename << '_configinfo', @id, key) end
# File tk/lib/tkextlib/blt/component.rb, line 762 def deactivate @chart.element_deactivate(@id) self end
# File tk/lib/tkextlib/blt/component.rb, line 767 def delete @chart.element_delete(@id) self end
# File tk/lib/tkextlib/blt/component.rb, line 772 def exist? @chart.element_exist?(@id) end
# File tk/lib/tkextlib/blt/component.rb, line 636 def mutex; @mutex; end
# File tk/lib/tkextlib/blt/component.rb, line 776 def name @element end