They do inherit constants, custom methods, etc (see lib/hotcocoa/ mapper.rb, NOTE: ugly file right now, is a target for refactor)

They are modules and those modules are mixed in.

Best,

Rich

On Feb 17, 2009, at 12:46 PM, Matt Aimonetti wrote:

Thanks Rich, but if I do what you recommended, I guess I would not be able to use all the NSView extra stuff defined by the existing NSView mapping (constants, custom methods etc..).

Wouldn't be better to make each mapping a mixin? That would allow us to reuse some default settings and subclassing a mapped class would give us all the mapping goodies.

- Matt



On Tue, Feb 17, 2009 at 4:33 AM, Richard Kilmer <r...@infoether.com> wrote:
This is how I would do it:

class MyNewView < NSView

 def drawRect(rect)
 end

end

HotCocoa::Mappings.map :my_new_view => :"MyNewView" do
 defaults :frame => DefaultEmptyRect, :layout => {}

 def init_with_options(view, options)
   view.initWithFrame options.delete(:frame)
 end
end

Then in your code you can just use it like any HotCocoa mapped class:

my_new_view :frame => [0,0,10,10]

etc.

-rich



On Feb 17, 2009, at 4:15 AM, Matt Aimonetti wrote:

I'm working on a new HotCocoa sample and I need to subclass NSView to override drawRect and add few more methods. I would like to be able to reuse all the goodies from HotCocoa and the view helper, what's the best way to do that?

-Matt
_______________________________________________
MacRuby-devel mailing list
MacRuby-devel@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

_______________________________________________
MacRuby-devel mailing list
MacRuby-devel@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

_______________________________________________
MacRuby-devel mailing list
MacRuby-devel@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

_______________________________________________
MacRuby-devel mailing list
MacRuby-devel@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

Reply via email to