Hi,

Actually, I already have PBSerialPort m & h files by Paolo Bosetti dropped into 
my project and it works fine. I was wondering is a class could have both 
Objective C and Ruby code but from this discussion I gather the class must be 
either MacRuby or ObjC. Is this correct?

Thanks,
Bob Rice


On Oct 21, 2012, at 2:40 PM, Jim Getzen <j...@getzen.name> wrote:

> You don't need to make a framework or bundle to add Obj-C code to your 
> project. I've been able to just add a .h/.m files directly to the project and 
> call the Obj-C classes contained therein from my MacRuby code, just as if 
> those classes were part of a framework.
> 
> What you can't do, of course, is call straight C functions or constants 
> without a bridgesupport file.
> 
> Jim
> 
> 
> On Oct 21, 2012, at 12:59 PM, Mark Rada <mr...@marketcircle.com> wrote:
> 
> Adding some Objective-C code could be done with a framework as suggested, or 
> by creating a bundle. The bundle process is essentially the same as creating 
> a C extension for Ruby. Any MacRuby project with a C extension could be used 
> as an example:
> 
> https://github.com/pieter/macruby-bundle-example
> https://github.com/Marketcircle/AXElements/tree/master/ext/accessibility/key_coder
> https://github.com/alloy/ObjectiveBacon/tree/master/LanguageBindings/MacRuby/ext
> 
> You can then simply "require 'bundle'" the bundle file that is compiled.
> 
> 
> On 2012-10-21, at 12:44 PM, Colin Thomas-Arnold <coli...@gmail.com> wrote:
> 
>> You can certainly compile a group of stuff as a framework, and add that 
>> framework to your project, but I've never tried to just toss in .h/.m files 
>> and access them from macruby.
>> 
>> Can anyone touch on that?  I'm interested to hear what can be done there...
>> 
>> 
>> AFA translating your code into Obj-C...
>> 
>> 
>> Here's the short version:
>> 
>> self.context = [[NSGraphics currentContext] graphicsPort];
>> 
>> 
>> 
>> And here's the long version!
>> 
>> 
>> // the header file, YourClass.h
>> 
>> @interface YourClass : ParentClass
>> 
>> @property (assign, nonatomic) CGContextRef context;
>> // or void* instead of CGContextRef, but graphicsPort returns a CGContextRef
>> 
>> @end
>> 
>> 
>> 
>> // the implementation file, YourClass.m
>> 
>> #import "YourClass.h"
>> 
>> @implementation YourClass
>> 
>> @synthesize context;
>> 
>> - drawRect:(CGRect)rect
>> {
>>   self.context = [[NSGraphics currentContext] graphicsPort];
>> }
>> 
>> @end
>> 
>> 
>> 
>> 
>> @colinta
>> colinta.com
>> github.com/colinta
>> 
>> 
>> 
>> 
>> On Oct 21, 2012, at 10:19 AM, Robert Carl Rice wrote:
>> 
>>> Hi Mark,
>>> 
>>> Unfortunately, I am not very familiar with objective C syntax. Is it easy 
>>> to mix objective C statements with MacRuby?
>>> For example, How would code the @context = 
>>> NSGraphicsContext.currentContext.graphicsPort in objective C?
>>> 
>>> Thanks,
>>> Bob Rice
>> 
>> _______________________________________________
>> 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
> 
> _______________________________________________
> 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

Reply via email to