def generate_index
scripts = Dir.glob('*.rb') - %w(common.rb main.rb)
children = {}
index = []
scripts.each do |fn|
title, klass, depend = script_info(fn)
if depend and not Gtk.const_defined?(depend)
next
end
if title =~ %r{^(.+?)/(.+)$}
parent = $1
child = $2
unless children[parent]
children[parent] = []
index += [[parent, nil, nil, []]]
end
children[parent] += [[child, fn, klass]]
else
index += [[title, fn, klass]]
end
end
children.each_key do |parent|
children[parent].sort! do |a, b|
a[0] <=> b[0]
end
end
index.collect! do |row|
if row[3]
row[3] = children[row[0]]
end
row
end
index.sort! do |a, b|
a[0] <=> b[0]
end
index
end