Maintenance of Ruby 2.0.0 ended on February 24, 2016. Read more
# File tk/lib/tkextlib/blt/component.rb, line 1005 def self.id2obj(chart, id) cpath = chart.path PenID_TBL.mutex.synchronize{ return id unless PenID_TBL[cpath] PenID_TBL[cpath][id]? PenID_TBL[cpath][id]: id } end
# File tk/lib/tkextlib/blt/component.rb, line 1013 def self.new(chart, pen=nil, keys={}) if pen.kind_of?(Hash) keys = pen pen = nil end if keys keys = _symbolkey2str(keys) not_create = keys.delete('without_creating') else not_create = false end obj = nil PenID_TBL.mutex.synchronize{ chart_path = chart.path PenID_TBL[chart_path] ||= {} if pen && PenID_TBL[chart_path][pen] obj = PenID_TBL[chart_path][pen] else (obj = self.allocate).instance_eval{ if pen @pen = @id = pen.to_s else OBJ_ID.mutex.synchronize{ @pen = @id = OBJ_ID.join(TkCore::INTERP._ip_id_).freeze OBJ_ID[1].succ! } end @path = @id @parent = @chart = chart @cpath = @chart.path Pen::PenID_TBL[@cpath][@pen] = self unless not_create tk_call(@chart, 'pen', 'create', @pen, keys) return obj end } end } obj.configure(keys) if obj && ! keys.empty? obj end
# File tk/lib/tkextlib/blt/component.rb, line 1057 def initialize(chart, pen=nil, keys={}) if pen.kind_of?(Hash) keys = pen pen = nil end if pen @pen = @id = pen.to_s else OBJ_ID.mutex.synchronize{ @pen = @id = OBJ_ID.join(TkCore::INTERP._ip_id_).freeze OBJ_ID[1].succ! } end @path = @id @parent = @chart = chart @cpath = @chart.path Pen::PenID_TBL[@cpath][@pen] = self keys = _symbolkey2str(keys) unless keys.delete('without_creating') # @chart.pen_create(@pen, keys) tk_call(@chart, 'pen', 'create', @pen, keys) end end
# File tk/lib/tkextlib/blt/component.rb, line 1092 def cget(option) @chart.pen_cget(@id, option) end
# File tk/lib/tkextlib/blt/component.rb, line 1095 def cget_strict(option) @chart.pen_cget_strict(@id, option) end
# File tk/lib/tkextlib/blt/component.rb, line 1089 def cget_tkstring(option) @chart.pen_cget_tkstring(@id, option) end
# File tk/lib/tkextlib/blt/component.rb, line 1102 def configinfo(key=nil) @chart.pen_configinfo(@id, key) end
# File tk/lib/tkextlib/blt/component.rb, line 1098 def configure(key, value=None) @chart.pen_configure(@id, key, value) self end
# File tk/lib/tkextlib/blt/component.rb, line 1105 def current_configinfo(key=nil) @chart.current_pen_configinfo(@id, key) end
# File tk/lib/tkextlib/blt/component.rb, line 1109 def delete @chart.pen_delete(@id) self end