I'm trying to implement the RaiseMan example from Aaron Hillegass's
book in MacRuby. All has gone pretty well until I reached undo. The
idea is to handle the insertObject message each time a Person is
inserted and manipulate the undo stack.
def insertObject(p, inEmployeesAtIndex:index)
NSLog("adding #{p} to #{employees}") # <= Not called, huh?
undo = @undoManager
undo.prepareWithInvocationTarget(self,
removeObjectFromEmployeesAtIndex:index)
if !undo.isUndoing
undo.setActionName("Insert Person")
end
employees.insertObject(p, atIndex:index)
end
The Objective-C signature for this is:
- (void)insertObject:(Person *)p inEmployeesAtIndex:(int)index
Works in Objective-C but in my Ruby, the method is not recognized as a
handler to be invoked when a Person object is to be inserted in the
employees array. I should note that I created the employees array
using Ruby syntax:
@employees ||= []
Changing this to:
@employees ||= NSMutableArray.alloc.init
makes no difference in this scenario.
Any hints with respect to what I'm missing here?
Thanks,
Steve
_______________________________________________
MacRuby-devel mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel