Method: Tk::TreeCtrl::Column#initialize

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

#initialize(parent, keys = {}) ⇒ Column

Returns a new instance of Column.



1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1760

def initialize(parent, keys={})
  @tree = parent
  @tpath = parent.path

  keys = _symbolkey2str(keys)

  Tk::TreeCtrl::Column::TreeCtrlColumnID.mutex.synchronize{
    @path = @id =
      keys.delete('tag') ||
      Tk::TreeCtrl::Column::TreeCtrlColumnID.join(TkCore::INTERP._ip_id_)
    Tk::TreeCtrl::Column::TreeCtrlColumnID[1].succ!
  }

  keys['tag'] = @id

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

  @tree.column_create(keys)
end