Module: VRMenuUseable

Includes:
VRKeyAcceleratorUseable
Defined in:
lib/vr/vrcontrol.rb

Constant Summary collapse

SetForegroundWindow =
Win32API.new("user32","SetForegroundWindow","I","I")

Instance Method Summary collapse

Methods included from VRKeyAcceleratorUseable

#menuTransTable

Instance Method Details

#newMenu(popup = false) ⇒ Object



1071
1072
1073
1074
1075
1076
1077
1078
# File 'lib/vr/vrcontrol.rb', line 1071

def newMenu(popup=false)
  if popup then
    menu=@screen.factory.newpopup
  else
    menu=@screen.factory.newmenu
  end
  VRMenu.new(menu,self)
end

#newPopupMenuObject

contributed by Yuya-san



1080
1081
1082
# File 'lib/vr/vrcontrol.rb', line 1080

def newPopupMenu    # contributed by Yuya-san
  return self.newMenu(true)
end

#registerMenu(m, name, id, mcaption = "") ⇒ Object



1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
# File 'lib/vr/vrcontrol.rb', line 1060

def registerMenu(m,name,id,mcaption="")
  m.etc= id
  instance_eval("@"+name+"=m")
  @_vr_menus= {} unless defined?(@_vr_menus)
  @_vr_menucaptions= {} unless defined?(@_vr_menucaptions)
  @_vr_menus[id]= m
  @_vr_menucaptions[id] = mcaption
  m.name = name
  m
end

#setMenu(menu, keyacc = false) ⇒ Object



1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
# File 'lib/vr/vrcontrol.rb', line 1084

def setMenu(menu,keyacc=false)
  SetForegroundWindow.call(self.hWnd)
  if menu.is_a?(SWin::Menu) then  
    super menu
    return
  end

  @_vr_menu=menu
  @menu=menu
  super menu.menu
  if keyacc then
    tb = menuTransTable(@_vr_menucaptions)
    SWin::Application.setAccel(self,tb) 
  end
end

#setMenuByArray(arr) ⇒ Object



1111
1112
1113
# File 'lib/vr/vrcontrol.rb', line 1111

def setMenuByArray(arr)
  self.setMenu newMenu(arr)
end

#showPopup(menu) ⇒ Object



1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
# File 'lib/vr/vrcontrol.rb', line 1100

def showPopup(menu)
  SetForegroundWindow.call(self.hWnd)
  if menu.is_a?(SWin::Menu) then  
    m=menu
  else     # asumes it is VRMenu
    m=menu.menu
    @_vr_menu = menu
  end
  popupMenu m,*Cursor.get_screenposition
end