Hi David,
Try NSLog instead of puts. Also you can override puts to #NSLog.
I have some production MacRuby code up at
https://github.com/jsilverMDX/GlobalChat2/tree/master/globalchat%202%20OSX
that's in the App Store.
Look here for an example of a working MacRuby app that uses IB and Sockets.
Try firing an action on seperate view controller and storing your
information there. I don't use Window object for much except showing and
hiding views.
Domo
jsilver
On 02/12/2012 05:30, david kramf wrote:
Thank you very much Andy and Jim
I followed your remarks , played with the code and I am still
surprised. It turns out that awakeFromNib is called before
applicationDidFinishLaunching so there MyController is already
initialized and has the correct window as the his instance variable.
NSWindow has both a delegate protocol and a Controller class and so I
called setDelegate and setController . Everything seems OK but the
methods willLoad and didLoad are not called although clearly my class
is both the delegate and the controller of my window . So I am still
left asking what am I doing wrong (??).
Are there MacRuby code samples I can use. I read Lim,Chueng and
McAnally book. I wonder where can I find more samples. I am also not
sure I am doing everything correct with the IB . My blue box that
represents MyController list "showWindow: " as a "Received Action" ,
but I could not connect it to any element of window draw in the XIB file.
David
class AppDelegate
attr_accessor :window
def applicationDidFinishLaunching(a_notification)
puts " Insert code here to initialize your application"
wCtrl = @window.delegate
puts "no delegate" if wCtrl == nil
win = wCtrl.window
puts "win is nil" if win == nil
puts "title of window is #{win.title}"
ctrl = @window.windowController
puts "no controller" if ctrl == nil
puts "class of delegate is #{wCtrl.class}"
puts "class of controller is #{ctrl.class}"
puts "both are equal " if wCtrl == ctrl
x = ctrl.showWindow
puts "x class is #{x.class} "unlessx == nil
#puts "window nil " if win == nil
#wCtrl.close
end
end
class MyController < NSWindowController
attr_accessor :window
def initialize
puts "in initialize"
initWithWindowNibName("tow")
#puts "after initialization window is #{@window.title}"
end
def routine
puts "in routine"
end
#def initWithWindow(window)
# puts "in initWithWindow"
# super(@window)
#end
def awakeFromNib
@window.setDelegate(self)
@window.setWindowController(self)
puts " at end of awake from nib. title is #{@window.title}"
end
def windowWillLoad
puts "window will be soon loaded"
end
def windowDidLoad
puts "window loaded"
end
def windowTitleForDocumentDisplayName(displayName)
"Hello World"
end
def showWindow
puts "in showWindow"
super(self)
end
def close
puts "in close window is #{@window.title}"
super
end
end
*at end of awake from nib. title is two*
* Insert code here to initialize your application*
*title of window is two*
*class of delegate is MyController*
*class of controller is MyController*
*both are equal *
*in showWindow*
*x class is MyController *
On Dec 1, 2012, at 3:00 AM, Andy Park wrote:
Without being able to verify anything for accuracy at the moment, it
looks like your window's delegate is not set to the controller at the
time the events are occurring.
Check if you need to set this - try tracing the window's delegate at
different points of the controller's lifecycle.
On 30 Nov 2012, at 00:50, david kramf <dakr....@gmail.com
<mailto:dakr....@gmail.com>> wrote:
Hi,
In the copied below code only the awakeFromNib is executed . Can
someone explain me what do I do wrong ? Window is displayed and I
expected all other methods to be called.
Thanks, David
class MyController < NSWindowController
attr_accessor :window
def awakeFromNib
@window.delegate = self
puts " at end of awake from nib. title is #{@window.title}"
end
def windowWillLoad
puts "window will be soon loaded"
end
def windowDidLoad
puts "window loaded"
end
def windowTitleForDocumentDisplayName(displayName)
"Hello World"
end
_______________________________________________
MacRuby-devel mailing list
MacRuby-devel@lists.macosforge.org
<mailto:MacRuby-devel@lists.macosforge.org>
http://lists.macosforge.org/mailman/listinfo/macruby-devel
_______________________________________________
MacRuby-devel mailing list
MacRuby-devel@lists.macosforge.org
<mailto:MacRuby-devel@lists.macosforge.org>
http://lists.macosforge.org/mailman/listinfo/macruby-devel
_______________________________________________
MacRuby-devel mailing list
MacRuby-devel@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo/macruby-devel
_______________________________________________
MacRuby-devel mailing list
MacRuby-devel@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo/macruby-devel