1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
=begin
tree_progress.rb - Gtk::TreeView and Gtk::CellRendererProgress
sample script.
Copyright (C) 2004-2006 Darren Willis, Masao Mutoh
This program is licenced under the same licence as Ruby-GNOME2.
$Id: tree_progress.rb,v 1.3 2006/06/17 13:18:12 mutoh Exp $
=end
require 'gtk2'
if str = Gtk.check_version(2, 6, 0)
puts "This sample requires GTK+ 2.6.0 or later"
puts str
exit
end
win = Gtk::Window.new("Gtk::CellRendererProgress sample")
win.set_default_size(300, 50)
model = Gtk::ListStore.new(String, Float)
view = Gtk::TreeView.new(model)
prog = model.append
prog[0] = "bar 1"
prog[1] = 50
prog1 = model.append
prog1[0] = "bar 2"
prog1[1] = 5
prog2 = model.append
prog2[0] = "bar 3"
prog2[1] = 10
arenderer = Gtk::CellRendererText.new
acol = Gtk::TreeViewColumn.new("words", arenderer, :text => 0)
view.append_column(acol)
prenderer = Gtk::CellRendererProgress.new
pcol = Gtk::TreeViewColumn.new("Progress", prenderer, :value => 1)
view.append_column(pcol)
win.signal_connect("delete_event"){
Gtk.main_quit
}
win.add(view)
win.show_all
dir = 1
thr = Thread.new do
loop {
prog2[1] += dir
if prog2[1] > 100
prog2[1] = 100
dir = - dir
end
if prog2[1] < 0
prog2[1] = 0
dir = - dir
end
sleep 0.01
}
end
Gtk.main
|