class Qt::RubyThreadFix
Public Class Methods
new()
click to toggle source
Calls superclass method
# File lib/Qt4.rb, line 34 def initialize super() # Enable threading @ruby_thread_sleep_period = 0.01 @ruby_thread_timer = Qt::Timer.new(self) connect(@ruby_thread_timer, SIGNAL('timeout()'), SLOT('ruby_thread_timeout()')) @ruby_thread_timer.start(0) @callback_timer = Qt::Timer.new(self) connect(@callback_timer, SIGNAL('timeout()'), SLOT('callback_timeout()')) @callback_timer.start(1) @callback_timer2 = Qt::Timer.new(self) connect(@callback_timer2, SIGNAL('timeout()'), SLOT('callback_timeout2()')) @running = true end
queue()
click to toggle source
# File lib/Qt4.rb, line 68 def self.queue @@queue end
Public Instance Methods
callback_timeout()
click to toggle source
# File lib/Qt4.rb, line 53 def callback_timeout if !@@queue.empty? # Start a backup timer in case this one goes modal. @callback_timer2.start(100) @@queue.pop.call until @@queue.empty? # Cancel the backup timer @callback_timer2.stop if @callback_timer2 end end
callback_timeout2()
click to toggle source
# File lib/Qt4.rb, line 63 def callback_timeout2 @callback_timer2.interval = 10 @@queue.pop.call until @@queue.empty? end
ruby_thread_timeout()
click to toggle source
# File lib/Qt4.rb, line 49 def ruby_thread_timeout sleep(@ruby_thread_sleep_period) end
stop()
click to toggle source
# File lib/Qt4.rb, line 72 def stop if @running @running = false @ruby_thread_timer.stop @callback_timer.stop @callback_timer2.stop @ruby_thread_timer.dispose @callback_timer.dispose @callback_timer2.dispose @ruby_thread_timer = nil @callback_timer = nil @callback_timer2 = nil end end