Class: Rabbit::Progress

Inherits:
Object
  • Object
show all
Defined in:
lib/rabbit/progress.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeProgress

Returns a new instance of Progress.



6
7
8
9
# File 'lib/rabbit/progress.rb', line 6

def initialize
  @foreground = nil
  @background = nil
end

Instance Attribute Details

#backgroundObject

Returns the value of attribute background.



5
6
7
# File 'lib/rabbit/progress.rb', line 5

def background
  @background
end

#foregroundObject

Returns the value of attribute foreground.



5
6
7
# File 'lib/rabbit/progress.rb', line 5

def foreground
  @foreground
end

#windowObject (readonly)

Returns the value of attribute window.



5
6
7
# File 'lib/rabbit/progress.rb', line 5

def window
  @window
end

Instance Method Details

#clear_colorObject



19
20
21
22
# File 'lib/rabbit/progress.rb', line 19

def clear_color
  @foreground = nil
  @background = nil
end

#end_progressObject



47
48
49
50
51
52
# File 'lib/rabbit/progress.rb', line 47

def end_progress
  return if @max.nil?

  @current = @max
  @bar.fraction = @current / @max
end

#hideObject



54
55
56
57
58
# File 'lib/rabbit/progress.rb', line 54

def hide
  @window.destroy
  @bar = nil
  @window = nil
end

#start_progress(max, parent) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/rabbit/progress.rb', line 24

def start_progress(max, parent)
  return if max.zero?

  @window = Gtk::Window.new(:popup)
  @window.transient_for = parent
  @window.app_paintable = true
  @bar = Gtk::ProgressBar.new
  @bar.show_text = true
  @window.add(@bar)
  @window.show_all
  @bar.fraction = @current = 0
  @max = max.to_f

  setup_progress_color
end

#update_progress(i) ⇒ Object



40
41
42
43
44
45
# File 'lib/rabbit/progress.rb', line 40

def update_progress(i)
  return if @max.nil?

  @current = i
  @bar.fraction = @current / @max
end