HEX
Server: Apache
System: Linux s198.coreserver.jp 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC 2025 x86_64
User: nagasaki (10062)
PHP: 7.1.33
Disabled: NONE
Upload Files
File: //usr/local/rvm/src/ruby-2.2.10/ext/tk/sample/tkextlib/iwidgets/sample/hierarchy.rb
#!/usr/bin/env ruby
require 'tk'
require 'tkextlib/iwidgets'

def get_files(file)
  dir = (file.empty?)? ENV['HOME'] : TkComm._fromUTF8(file)
  Dir.chdir(dir) rescue return ''
  Dir['*'].sort.collect{|f|
    [TkComm._toUTF8(File.join(dir, f)), TkComm._toUTF8(f)]
  }
end

Tk::Iwidgets::Hierarchy.new(:querycommand=>proc{|arg| get_files(arg.node)},
                            :visibleitems=>'30x15',
                            :labeltext=>ENV['HOME']).pack(:side=>:left,
                                                          :expand=>true,
                                                          :fill=>:both)

# Tk::Iwidgets::Hierarchy.new(:querycommand=>[proc{|n| get_files(n)}, '%n'],
#                           :visibleitems=>'30x15',
#                           :labeltext=>ENV['HOME']).pack(:side=>:left,
#                                                         :expand=>true,
#                                                         :fill=>:both)

Tk.mainloop