Method: QObject#initialize

Defined in:
lib/QWebChannel/QObject.rb

#initialize(name, data, webChannel) ⇒ QObject

def addMethod(methodData)



200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
# File 'lib/QWebChannel/QObject.rb', line 200

def initialize(name, data, webChannel)
    @signalNameObjectHash={} #信号名字与信号对象的映射。
    @__id__=name
    @webChannel=webChannel
    @propertyNameIndexMap={} #记录映射关系。属性名字与属性索引之间的映射关系。
    
    webChannel.objects[name]=self
    
    puts "__id__: #{@__id__}" #debug.
    
    
    @__objectSignals__ = {}
    
    @__propertyCache__ = {}
    
    @object=self
    
    data['methods'].each do |method|
        puts "current method: #{method}" #debug
        addMethod(method)
    end
    
    data['properties'].each do |property|
        bindGetterSetter(property)
    end
    
    data['signals'].each do |signal|
        addSignal(signal, false)
    end
    
    puts "enums: #{data['enums']}" #Debug.
    
    if data['enums']
        data['enums'].each do |name|
            @object[name]=data['enums'][name]
        end #data['enums'].each do |name|
    end #if data['enums']
end