Module: VRStdControlContainer

Includes:
VRMessageHandler
Included in:
VRContainersSet, VRInputboxDialog, VRToolbarUseable
Defined in:
lib/vr/vrcontrol.rb

Overview

Standard Control Container

Constant Summary

Constants included from VRMessageHandler

VRMessageHandler::PREHANDLERSTR

Instance Method Summary collapse

Methods included from VRMessageHandler

#acceptEvents, #addHandler, #addNoRelayMessages, #controlmsg_dispatching, #deleteHandler, #msghandlerinit, #selfmsg_dispatching

Instance Method Details

#self_wmcommand(msg) ⇒ Object



171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
# File 'lib/vr/vrcontrol.rb', line 171

def self_wmcommand(msg)
  id=LOWORD(msg.wParam)
  ct=@controls[id]       # Activated Control
  if !ct then
    if !@_vr_menu then return end
    ct=@_vr_menus[id]
    if !ct then
      return # no handler
    end
  end
  
  messageid=HIWORD(msg.wParam)
  return unless ct._vr_cmdhandlers and ct._vr_cmdhandlers[messageid]

  ct._vr_cmdhandlers[messageid].each do |shandler|
    args=msgarg2handlerarg(shandler[1],msg,shandler[2])
    ct.__send__(shandler[0],*args) if ct.respond_to?(shandler[0])
    msg.retval = controlmsg_dispatching(ct,shandler[0],*args)
  end
end

#stdcontrolcontainerinitObject



160
161
162
163
# File 'lib/vr/vrcontrol.rb', line 160

def stdcontrolcontainerinit
  addHandler(WMsg::WM_COMMAND,"wmcommand",MSGTYPE::ARGPASS,nil)
  addEvent WMsg::WM_COMMAND
end

#vrinitObject



165
166
167
168
169
# File 'lib/vr/vrcontrol.rb', line 165

def vrinit
  super
  stdcontrolcontainerinit
  addNoRelayMessages [WMsg::WM_COMMAND]
end