class Vizkit::EventLoopTimersItem

Public Class Methods

new(event_loop,options = Hash.new) click to toggle source
Calls superclass method Vizkit::VizkitItem.new
# File lib/vizkit/vizkit_items.rb, line 1149
def initialize(event_loop,options = Hash.new)
    @options = Kernel.validate_options options,:item_type => :label

    if @options[:item_type] == :label
        super "Timers"
        @timers = Hash.new
        t = event_loop.every 1.0 do
            timers_new = Hash.new
            event_loop.timers.each do |timer|
                next if timer.single_shot?
                item = if @timers.has_key? timer
                           @timers[timer]
                       else
                           label = EventLoopTimerItem.new(timer)
                           value = VizkitItem.new
                           appendRow([label,value])
                           label
                       end
                timers_new[timer] = item
            end
            # remove old timers
            @timers.each_pair do |timer,item|
                if !timers_new.has_key? timer
                    removeRow item.index.row
                end
            end
            @timers = timers_new
        end
        t.doc = "Debug Timer Refresh"
    else
        super()
    end
end