1import objc 2from Foundation import * 3from AppKit import * 4from PyObjCTools import NibClassBuilder, AppHelper 5 6NibClassBuilder.extractClasses("MainMenu") 7 8 9# class defined in MainMenu.nib 10class Converter(NibClassBuilder.AutoBaseClass): 11 # the actual base class is NSObject 12 13 def convertAmount(self, amt, rate): 14 return amt * rate 15 16# class defined in MainMenu.nib 17class ConverterController(NibClassBuilder.AutoBaseClass): 18 # the actual base class is NSObject 19 # The following outlets are added to the class: 20 # converter 21 # dollarField 22 # rateField 23 # totalField 24 25 def convert_(self, sender): 26 amt = self.dollarField.floatValue() 27 rate = self.rateField.floatValue() 28 29 total = self.converter.convertAmount(rate, amt) 30 self.totalField.setFloatValue_(total) 31 self.rateField.selectText_(self) 32 33 def awakeFromNib(self): 34 self.rateField.window().makeKeyAndOrderFront_(self) 35 self.rateField.selectText_(self) 36 37if __name__ == "__main__": 38 AppHelper.runEventLoop() 39