Method: Tk::TreeCtrl::Element#initialize

Defined in:
lib/tkextlib/treectrl/tktreectrl.rb

#initialize(parent, type, keys = nil) ⇒ Element

Returns a new instance of Element.



1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1863

def initialize(parent, type, keys=nil)
  @tree = parent
  @tpath = parent.path
  @type = type.to_s
  Tk::TreeCtrl::Element::TreeCtrlElementID.mutex.synchronize{
    @path = @id =
      Tk::TreeCtrl::Element::TreeCtrlElementID.join(TkCore::INTERP._ip_id_)
    Tk::TreeCtrl::Element::TreeCtrlElementID[1].succ!
  }

  Tk::TreeCtrl::Element::TreeCtrlElementID_TBL.mutex.synchronize{
    Tk::TreeCtrl::Element::TreeCtrlElementID_TBL[@tpath] ||= {}
    Tk::TreeCtrl::Element::TreeCtrlElementID_TBL[@tpath][@id] = self
  }

  @tree.element_create(@id, @type, keys)
end