This is really Jython, but on the off chance it might shed some
light, I'm also posting it here.
>Based on some of the stuff that Steven Majewski did, trying to
>create a Cocoa app that loads a nib from Jython. When running, I get
>the following errors:
>
>% jython CurrencyConverter.jy
>(
> NSBundle </System/Library/Frameworks/Foundation.framework> (loaded),
> NSBundle </usr/lib> (loaded),
> NSBundle </System/Library/Frameworks/JavaVM.framework> (loaded),
> NSBundle </usr/lib/java> (loaded)
>)
>./build/CurrencyConverter2.app
>May 11 21:35:32 java[1110] Unknown class `ConverterController' in
>nib file, using `NSObject' instead.
>May 11 21:35:32 java[1110] Unknown class `Converter' in nib file,
>using `NSObject' instead.
>May 11 21:35:32 java[1110] Could not connect the action convert: to
>target of class NSObject
>
>So...why doesn't it know about the classes?
>
>
>#!/usr/bin/env jython
>
>from com.apple.cocoa.foundation import *
>from com.apple.cocoa.application import *
>
>MyApp = None
>_pools = []
>
>tpath = './TempConverter/build/TempConverter.app'
>cpath = './build/CurrencyConverter2.app'
>
>class Converter(NSObject):
> def convert(amount, rate):
> return (amount * rate)
>
>class ConverterController(NSObject):
> def __init__():
> self.converter = Converter()
> self.dollarField = NSTextField()
> self.rateField = NSTextField()
> self.totalField = NSTextField()
>
> def convert(sender):
> rate = self.rateField.floatValue();
> amount = self.dollarField.floatValue();
> total = converter.convert(amount, rate);
>
> self.totalField.setFloatValue(total);
>
>
>def xxx():
> print NSBundle.allFrameworks()
>
>def Pool():
> global _pools
> tmp = NSAutoreleasePool.push()
> _pools.append(tmp)
> return tmp
>
>def App():
> global MyApp
> MyApp = NSApplication.sharedApplication()
> return MyApp
>
>def Bundle( path=cpath ):
> print path
> return NSBundle.bundleWithPath( path )
>
>
>xxx()
>pool = Pool()
>myapp = App()
>bndl = Bundle()
>nib = NSApplication.loadNibFromBundle( bndl, 'MainMenu', myapp )
>if __name__ == '__main__' : myapp.run()
--
_Deirdre Stash-o-Matic: http://weirdre.com http://deirdre.net
Macintosh Developer (seeking work): Will work for Cocoa
"I love deadlines. I like the whooshing sound they make as they fly by."
- Douglas Adams
|