class QSignal
Public Class Methods
new(signalName, signalIndex, object, isPropertyNotifySignal)
click to toggle source
# File lib/QWebChannel/QSignal.rb, line 2 def initialize(signalName, signalIndex, object, isPropertyNotifySignal) @signalName=signalName @signalIndex=signalIndex @object=object @webChannel=@object.webChannel @isPropertyNotifySignal=isPropertyNotifySignal end
Public Instance Methods
connect(callback)
click to toggle source
# File lib/QWebChannel/QSignal.rb, line 10 def connect(callback) @object.__objectSignals__[@signalIndex]=@object.__objectSignals__[@signalIndex] || [] @object.__objectSignals__[@signalIndex] << callback if (!@isPropertyNotifySignal && @signalName!= "destroyed") @webChannel.exec( { "type" => QWebChannelMessageTypes::CONNECTTOSIGNAL, "object" => @object.__id__, "signal" => @signalIndex } ) end end
disconnect(callback)
click to toggle source
# File lib/QWebChannel/QSignal.rb, line 19 def disconnect(callback) @object.__objectSignals__[signalIndex]=@object.__objectSignals__[signalIndex] || [] idx=@object.__objectSignals__[signalIndex].indexOf(callback) @object.__objectSignals__[signalIndex].delete_at(idx) if (!isPropertyNotifySignal && @object.__objectSignals__[signalIndex].length == 0) @webChannel.exec( { "type" => QWebChannelMessageTypes::DISCONNECTFROMSIGNAL, "object" => @object.__id__, "signal" => signalIndex } ) end #if (!isPropertyNotifySignal && @object.__objectSignals__[signalIndex].length == 0) end