Sha256: 6291205686b154d04b1682fc51c76b6ac0cee6259260cbde1fbacff12504c120

Contents?: true

Size: 1.01 KB

Versions: 34

Compression:

Stored size: 1.01 KB

Contents

# Bottom-up implementation of a Directory lister
class Wx::GenericDirCtrl
  module DirCtrlTree 
    # The TreeCtrl contained in a GenericDirCtrl already has C++ data
    # associated with the items. If these are returned to Ruby crashes
    # will result. So this module sets the TreeCtrl to return the path
    # string.
    def get_item_data(tree_id)
      root_id = get_root_item
      return "" if tree_id == root_id

      path = item_text(tree_id)
      while tree_id = item_parent(tree_id) and tree_id != root_id
        path = item_text(tree_id) + "/#{path}" 
      end
      unless Wx::PLATFORM == 'WXMSW'
        path = "/" + path
      end
      path
    end

    alias :get_item_path :get_item_data

    # Not allowed
    def set_item_data(tree_id, data)
      Kernel.raise "Item data cannot be set for a GenericDirCtrl's Tree"
    end
  end
  
  wx_get_tree_ctrl = instance_method(:get_tree_ctrl)
  define_method(:get_tree_ctrl) do 
    tree = wx_get_tree_ctrl.bind(self).call
    tree.extend(DirCtrlTree)
    tree
  end
end

Version data entries

34 entries across 34 versions & 4 rubygems

Version Path
wxruby3-0.9.0.pre.rc.3 lib/wx/core/genericdirctrl.rb
wxruby3-0.9.0.pre.rc.2 lib/wx/core/genericdirctrl.rb
wxruby3-0.9.0.pre.rc.1 lib/wx/core/genericdirctrl.rb
wxruby3-0.9.0.pre.beta.14 lib/wx/core/genericdirctrl.rb
wxruby3-0.9.0.pre.beta.13 lib/wx/core/genericdirctrl.rb
wxruby3-0.9.0.pre.beta.11 lib/wx/core/genericdirctrl.rb
wxruby3-0.9.0.pre.beta.10 lib/wx/core/genericdirctrl.rb
wxruby3-0.9.0.pre.beta.9 lib/wx/core/genericdirctrl.rb
wxruby3-0.9.0.pre.beta.8 lib/wx/core/genericdirctrl.rb
wxruby64-2.0.1-x64-mingw32 lib/wx/classes/genericdirctrl.rb
wxruby-ruby19-2.0.1-x86-mingw32 lib/wx/classes/genericdirctrl.rb
wxruby-ruby19-2.0.1-x86-linux lib/wx/classes/genericdirctrl.rb
wxruby-ruby19-2.0.1-x86-darwin-9 lib/wx/classes/genericdirctrl.rb
wxruby-2.0.1-x86-mswin32-60 lib/wx/classes/genericdirctrl.rb
wxruby-2.0.1-x86-mingw32 lib/wx/classes/genericdirctrl.rb
wxruby-2.0.1-x86-linux lib/wx/classes/genericdirctrl.rb
wxruby-2.0.1-universal-darwin-9 lib/wx/classes/genericdirctrl.rb
wxruby-1.9.10-universal-darwin-9 lib/wx/classes/genericdirctrl.rb
wxruby-1.9.10-x86-linux lib/wx/classes/genericdirctrl.rb
wxruby-1.9.10-x86-mswin32-60 lib/wx/classes/genericdirctrl.rb