class Tk::BLT::PlotComponent::Pen
Constants
- OBJ_ID
- PenID_TBL
Public Class Methods
id2obj(chart, id)
click to toggle source
# File 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
new(chart, pen=nil, keys={})
click to toggle source
# File 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
new(chart, pen=nil, keys={})
click to toggle source
# File 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
Public Instance Methods
cget(option)
click to toggle source
# File lib/tkextlib/blt/component.rb, line 1092 def cget(option) @chart.pen_cget(@id, option) end
cget_strict(option)
click to toggle source
# File lib/tkextlib/blt/component.rb, line 1095 def cget_strict(option) @chart.pen_cget_strict(@id, option) end
cget_tkstring(option)
click to toggle source
# File lib/tkextlib/blt/component.rb, line 1089 def cget_tkstring(option) @chart.pen_cget_tkstring(@id, option) end
configinfo(key=nil)
click to toggle source
# File lib/tkextlib/blt/component.rb, line 1102 def configinfo(key=nil) @chart.pen_configinfo(@id, key) end
configure(key, value=None)
click to toggle source
# File lib/tkextlib/blt/component.rb, line 1098 def configure(key, value=None) @chart.pen_configure(@id, key, value) self end
current_configinfo(key=nil)
click to toggle source
# File lib/tkextlib/blt/component.rb, line 1105 def current_configinfo(key=nil) @chart.current_pen_configinfo(@id, key) end
delete()
click to toggle source
# File lib/tkextlib/blt/component.rb, line 1109 def delete @chart.pen_delete(@id) self end
id()
click to toggle source
# File lib/tkextlib/blt/component.rb, line 1081 def id @id end
mutex()
click to toggle source
# File lib/tkextlib/blt/component.rb, line 995 def mutex; @mutex; end
name()
click to toggle source
# File lib/tkextlib/blt/component.rb, line 1114 def name @pen end
to_eval()
click to toggle source
# File lib/tkextlib/blt/component.rb, line 1085 def to_eval @id end