# File tk/lib/tkextlib/blt/component.rb, line 1276
def self.create(chart, keys={})
  unless self::MarkerTypeName
    fail RuntimeError, "#{self} is an abstract class"
  end
  args, fontkeys, methodkeys = _parse_create_args(keys)
  idnum = tk_call_without_enc(chart.path, 'marker', 'create',
                              self::MarkerTypeName, *args)
  chart.marker_configure(idnum, fontkeys) unless fontkeys.empty?
  chart.marker_configure(idnum, methodkeys) unless methodkeys.empty?
  idnum.to_i  # 'item id' is an integer number
end
             
             
               # File tk/lib/tkextlib/blt/component.rb, line 1288
def self.create_type(chart, type, keys={})
  args, fontkeys, methodkeys = _parse_create_args(keys)
  idnum = tk_call_without_enc(chart.path, 'marker', 'create',
                              type, *args)
  chart.marker_configure(idnum, fontkeys) unless fontkeys.empty?
  chart.marker_configure(idnum, methodkeys) unless methodkeys.empty?
  id = idnum.to_i  # 'item id' is an integer number
  obj = self.allocate
  obj.instance_eval{
    @parent = @chart = chart
    @cpath = chart.path
    @id = id
    Tk::BLT::PlotComponent::Marker::MarkerID_TBL.mutex.synchronize{
      Tk::BLT::PlotComponent::Marker::MarkerID_TBL[@cpath] ||= {}
      Tk::BLT::PlotComponent::Marker::MarkerID_TBL[@cpath][@id] = self
    }
  }
  obj
end
             
             
               # File tk/lib/tkextlib/blt/component.rb, line 1219
def Marker.id2obj(chart, id)
  cpath = chart.path
  MarkerID_TBL.mutex.synchronize{
    if MarkerID_TBL[cpath]
      MarkerID_TBL[cpath][id]? MarkerID_TBL[cpath][id]: id
    else
      id
    end
  }
end
             
             
               # File tk/lib/tkextlib/blt/component.rb, line 1308
def initialize(parent, *args)
  @parent = @chart = parent
  @cpath = parent.path
  @path = @id = create_self(*args) # an integer number as 'item id'
  Tk::BLT::PlotComponent::Marker::MarkerID_TBL.mutex.synchronize{
    Tk::BLT::PlotComponent::Marker::MarkerID_TBL[@cpath] ||= {}
    Tk::BLT::PlotComponent::Marker::MarkerID_TBL[@cpath][@id] = self
  }
end
             
             
               # File tk/lib/tkextlib/blt/component.rb, line 1351
def after(target=None)
  @chart.marker_after(@id, target)
end
             
             
               # File tk/lib/tkextlib/blt/component.rb, line 1355
def before(target=None)
  @chart.marker_before(@id, target)
end
             
             
               # File tk/lib/tkextlib/blt/component.rb, line 1334
def cget(option)
  @chart.marker_cget(@id, option)
end
             
             
               # File tk/lib/tkextlib/blt/component.rb, line 1337
def cget_strict(option)
  @chart.marker_cget_strict(@id, option)
end
             
             
               # File tk/lib/tkextlib/blt/component.rb, line 1331
def cget_tkstring(option)
  @chart.marker_cget_tkstring(@id, option)
end
             
             
               # File tk/lib/tkextlib/blt/component.rb, line 1344
def configinfo(key=nil)
  @chart.marker_configinfo(@id, key)
end
             
             
               # File tk/lib/tkextlib/blt/component.rb, line 1340
def configure(key, value=None)
  @chart.marker_configure(@id, key, value)
  self
end
             
             
               # File tk/lib/tkextlib/blt/component.rb, line 1347
def current_configinfo(key=nil)
  @chart.current_marker_configinfo(@id, key)
end
             
             
               # File tk/lib/tkextlib/blt/component.rb, line 1359
def delete
  @chart.marker_delete(@id)
end
             
             
               # File tk/lib/tkextlib/blt/component.rb, line 1363
def exist?
  @chart.marker_exist(@id)
end
             
            Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.
If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.
If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.
If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.