def initialize
super()
@current_file = nil
@info_buffer = Gtk::TextBuffer.new
@source_buffer = Gtk::TextBuffer.new
set_title('Ruby/GTK+ Code Demos')
signal_connect('destroy') do
Gtk.main_quit
end
signal_connect("key_press_event") do |widget, event|
if event.state.control_mask? and event.keyval == Gdk::Keyval::GDK_q
destroy
true
else
false
end
end
hbox = Gtk::HBox.new
add(hbox)
tree = create_tree
scrolled_window = Gtk::ScrolledWindow.new
scrolled_window.add(tree)
hbox.pack_start(scrolled_window, false, false, 0)
notebook = Gtk::Notebook.new
hbox.pack_start(notebook, true, true, 0)
notebook.append_page(create_text(@info_buffer, false),
Gtk::Label.new('_Info', true))
notebook.append_page(create_text(@source_buffer, true),
Gtk::Label.new('_Source', true))
@info_buffer.create_tag('title',
{'font' => 'Sans 18'})
@source_buffer.create_tag('comment',
{'foreground' => 'red'})
@source_buffer.create_tag('const',
{'foreground' => 'ForestGreen'})
@source_buffer.create_tag('string',
{
'foreground' => 'RosyBrown',
'weight' => Pango::FontDescription::WEIGHT_BOLD
})
@source_buffer.create_tag('reserved',
{'foreground' => 'purple'})
end