Maintenance of Ruby 2.0.0 ended on February 24, 2016. Read more
# File tk/lib/tkextlib/blt/component.rb, line 684 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 692 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 737 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 797 def activate(*args) @chart.element_activate(@id, *args) end
# File tk/lib/tkextlib/blt/component.rb, line 776 def cget(option) # @chart.element_cget(@id, option) @chart.__send__(@typename + '_cget', @id, option) end
# File tk/lib/tkextlib/blt/component.rb, line 780 def cget_strict(option) @chart.__send__(@typename + '_cget_strict', @id, option) end
# File tk/lib/tkextlib/blt/component.rb, line 772 def cget_tkstring(option) # @chart.element_cget(@id, option) @chart.__send__(@typename + '_cget_tkstring', @id, option) end
# File tk/lib/tkextlib/blt/component.rb, line 801 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 788 def configinfo(key=nil) # @chart.element_configinfo(@id, key) @chart.__send__(@typename + '_configinfo', @id, key) end
# File tk/lib/tkextlib/blt/component.rb, line 783 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 792 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 806 def deactivate @chart.element_deactivate(@id) self end
# File tk/lib/tkextlib/blt/component.rb, line 811 def delete @chart.element_delete(@id) self end
# File tk/lib/tkextlib/blt/component.rb, line 816 def exist? @chart.element_exist?(@id) end
# File tk/lib/tkextlib/blt/component.rb, line 676 def mutex; @mutex; end
# File tk/lib/tkextlib/blt/component.rb, line 820 def name @element end