Sha256: 40e604c5d951e51dde86e3f73d14a09d29ec59240ca8ba850c82ee315ad18b5b

Contents?: true

Size: 1.45 KB

Versions: 30

Compression:

Stored size: 1.45 KB

Contents

require "forwardable"

require "rabbit/action"
require "rabbit/progress"

module Rabbit
  module Renderer
    module Display
      module Progress
        extend Forwardable

        def_delegator(:@progress, :foreground, :progress_foreground)
        def_delegator(:@progress, :foreground=, :progress_foreground=)
        def_delegator(:@progress, :background, :progress_background)
        def_delegator(:@progress, :background=, :progress_background=)
        def_delegator(:@progress, :clear_color, :clear_progress_color)

        def initialize(*args, &block)
          super
          init_progress
        end

        private
        def init_progress
          @progress = Rabbit::Progress.new
        end

        def start_progress(max)
          return if max.zero?
          update_menu
          @progress.start_progress(max, @canvas.window)
          adjust_progress_window
        end

        def update_progress(i)
          @progress.update_progress(i)
          Utils.process_pending_events
        end

        def end_progress
          @progress.end_progress
          Gtk.timeout_add(100) do
            @progress.window.hide
            update_menu
            false
          end
        end

        def configured(x, y, w, h)
          super
          adjust_progress_window
        end

        def adjust_progress_window
          if @window
            Utils.move_to_top_left(@window, @progress.window)
          end
        end
      end
    end
  end
end

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
rabbit-2.1.2 lib/rabbit/renderer/display/progress.rb
rabbit-2.1.1 lib/rabbit/renderer/display/progress.rb
rabbit-2.1.0 lib/rabbit/renderer/display/progress.rb
rabbit-2.0.9 lib/rabbit/renderer/display/progress.rb
rabbit-2.0.8 lib/rabbit/renderer/display/progress.rb
rabbit-2.0.7 lib/rabbit/renderer/display/progress.rb
rabbit-2.0.6 lib/rabbit/renderer/display/progress.rb
rabbit-2.0.5 lib/rabbit/renderer/display/progress.rb
rabbit-2.0.4 lib/rabbit/renderer/display/progress.rb
rabbit-2.0.3 lib/rabbit/renderer/display/progress.rb
rabbit-2.0.2 lib/rabbit/renderer/display/progress.rb
rabbit-2.0.1 lib/rabbit/renderer/display/progress.rb
rabbit-2.0.0 lib/rabbit/renderer/display/progress.rb
rabbit-1.0.9 lib/rabbit/renderer/display/progress.rb
rabbit-1.0.8 lib/rabbit/renderer/display/progress.rb
rabbit-1.0.7 lib/rabbit/renderer/display/progress.rb
rabbit-1.0.6 lib/rabbit/renderer/display/progress.rb
rabbit-1.0.5 lib/rabbit/renderer/display/progress.rb
rabbit-1.0.4 lib/rabbit/renderer/display/progress.rb
rabbit-1.0.3 lib/rabbit/renderer/display/progress.rb