Class: NSMenuItem

Inherits:
Object
  • Object
show all
Defined in:
lib/drink-menu/ext/ns_menu_item.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#rac_commandObject

Returns the value of attribute rac_command.



2
3
4
# File 'lib/drink-menu/ext/ns_menu_item.rb', line 2

def rac_command
  @rac_command
end

#rac_originalTargetObject

Returns the value of attribute rac_originalTarget.



3
4
5
# File 'lib/drink-menu/ext/ns_menu_item.rb', line 3

def rac_originalTarget
  @rac_originalTarget
end

#rac_stateSignalObject

Returns the value of attribute rac_stateSignal.



4
5
6
# File 'lib/drink-menu/ext/ns_menu_item.rb', line 4

def rac_stateSignal
  @rac_stateSignal
end

Instance Method Details

#rac_commandPerformAction(sender) ⇒ Object



44
45
46
# File 'lib/drink-menu/ext/ns_menu_item.rb', line 44

def rac_commandPerformAction(sender)
  rac_command.execute(sender)
end

#rac_hijackActionAndTargetIfNeededObject



31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/drink-menu/ext/ns_menu_item.rb', line 31

def rac_hijackActionAndTargetIfNeeded
  hijackSelector = :"rac_commandPerformAction:"

  return if target == self and action == hijackSelector

  NSLog("WARNING: NSControl.rac_command hijacks the control's existing target and action. You can access the original target via the rac_originalTarget property.") if target

  self.rac_originalTarget = target

  self.target = self
  self.action = hijackSelector
end

#validateMenuItem(item) ⇒ Object



48
49
50
51
52
# File 'lib/drink-menu/ext/ns_menu_item.rb', line 48

def validateMenuItem(item)
  return rac_originalTarget.validateMenuItem(item) if rac_originalTarget and rac_originalTarget.respondsToSelector(:"validateMenuItem:")

  rac_command.canExecute
end