Module: VRMessageParentRelayer

Includes:
VRMessageHandler
Defined in:
lib/vr/vruby.rb

Constant Summary

Constants included from VRMessageHandler

VRMessageHandler::PREHANDLERSTR

Instance Method Summary collapse

Methods included from VRMessageHandler

#acceptEvents, #addHandler, #addNoRelayMessages, #deleteHandler, #msghandlerinit

Instance Method Details

#controlmsg_dispatching(ct, methodname, *args) ⇒ Object



384
385
386
387
# File 'lib/vr/vruby.rb', line 384

def controlmsg_dispatching(ct,methodname,*args)
  mthdname = "#{ct.name}_#{methodname}"
  @parent.controlmsg_dispatching(self,mthdname,*args)
end

#messageparentrelayerinitObject



374
375
376
# File 'lib/vr/vruby.rb', line 374

def messageparentrelayerinit
  @_vr_messageparentrelayer=true
end

#msghandler(msg) ⇒ Object

almost same as VRMessageHandler#msghandler



393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
# File 'lib/vr/vruby.rb', line 393

def msghandler(msg)   # almost same as VRMessageHandler#msghandler
  if @_vr_msg_norelays.include?(msg.msg) then   # no relays
    return super
  end

  r = nil
  if msg.hWnd==self.hWnd then # FormEvent
    if @_vr_handlers then   # error occurs if the class is not adaptable.
      @_vr_handlers[msg.msg].each do |shandler|
        args=msgarg2handlerarg(shandler[1],msg,shandler[2])
        mthdname = "#{@name}_#{shandler[0]}"
        if @parent.respond_to?(mthdname)
          r = @parent.__send__(mthdname,*args) 
        end
      end
    end
  else  # other's WM event
  end

  # fire default handler?
  if SKIP_DEFAULTHANDLER==r then
    1
  elsif  r.is_a?(SKIP_DEFAULTHANDLER) then
    msg.retval=r.retval
  else
    nil
  end
end

#selfmsg_dispatching(methodname, *args) ⇒ Object



389
390
391
# File 'lib/vr/vruby.rb', line 389

def selfmsg_dispatching(methodname,*args)
  @parent.controlmsg_dispatching(self,methodname,*args)
end

#vrinitObject



379
380
381
382
# File 'lib/vr/vruby.rb', line 379

def vrinit
  super
  messageparentrelayerinit
end