133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
|
# File 'lib/QParser.rb', line 133
def connect(widget)
if @value[0] == "{"[0] then
unless @value[-1] == "}"[0] then
error "syntax ereror: ignore connect #{k}=\"#{@value}\"","connect"
return
end
pr = SlotProc.new( lambda{ widget.instance_eval( @value[1..-2] ) } )
target = pr
slot = :call
else
if @value.index '.'
t,s = @value.split('.')
target = widget.instance_variable_get(t.to_sym)
debug "target name = #{t} target = #{target}","connect" if debug_level >= QDMLDebug::Minimal
slot = s.to_sym
else
target = widget
slot = @value.to_sym
end
end
debug "target is #{target} , widget is #{widget}","connect" if debug_level >= QDMLDebug::Minimal
widget.connect(@wid,SIGNAL(@sig),target,SLOT(slot))
end
|