File: tree-progress.rb

package info (click to toggle)
ruby-gnome2 3.1.0-1%2Bdeb9u1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 16,072 kB
  • ctags: 17,433
  • sloc: ansic: 93,621; ruby: 62,273; xml: 335; sh: 246; makefile: 25
file content (56 lines) | stat: -rw-r--r-- 1,132 bytes parent folder | download | duplicates (5)
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
=begin
  tree_progress.rb - Gtk::TreeView and Gtk::CellRendererProgress
  sample script.

  Copyright (C) 2004-2015 Darren Willis, Masao Mutoh
  Copyright (c) 2004-2015 Ruby-GNOME2 Project Team
  This program is licenced under the same licence as Ruby-GNOME2.
=end

require "gtk3"

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") do
  Gtk.main_quit
end

win.add(view)
win.show_all

dir = 1
GLib::Timeout.add(100) do
  value = prog2[1] + dir

  dir = - dir if value > 100
  dir = - dir if value < 0

  prog2[1] += dir

  GLib::Source::CONTINUE
end

Gtk.main