Re: [MacRuby-devel] NoMethodError for button#on_action in HotCocoa
I found I could fix one problem by moving the label and button declarations outside the layout_view block: w = window(:title => "Window", :size => [300,150]) l = label(:text_align => :center, :text => "", :layout => {:expand => [:width, :height], :align => "center"}) btn = button(:title => "put some text in the label", :layout => {:align => "center"}) lv = layout_view :frame => [0,0,280,130], :layout => {:expand => [:width, :height], :align => :center, :start => true} do |view| view << l view << btn end w << lv And then the button#on_action parameter has to be in braces: btn.on_action{l.text = "some text"}
on_action needs to point to a block: :on_action{l.text = "some text"} or :on_action => :do_stuff def do_stuff Proc.new { puts "stuff" } end You can also do: :on_action => method(:do_stuff) Which I believe won't require a block in your method. - Matt On Tue, Apr 21, 2009 at 1:39 AM, Frisco Del Rosario < friscodelrosario@sbcglobal.net> wrote:
I found I could fix one problem by moving the label and button declarations outside the layout_view block:
w = window(:title => "Window", :size => [300,150])
l = label(:text_align => :center, :text => "", :layout => {:expand => [:width, :height], :align => "center"}) btn = button(:title => "put some text in the label", :layout => {:align => "center"})
lv = layout_view :frame => [0,0,280,130], :layout => {:expand => [:width, :height], :align => :center, :start => true} do |view| view << l view << btn end
w << lv
And then the button#on_action parameter has to be in braces:
btn.on_action{l.text = "some text"} _______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
participants (2)
-
Frisco Del Rosario
-
Matt Aimonetti