1import time 2import sys 3from AppKit import * 4 5 6class Converter (NSObject): 7 def convertAmount(self, amt, rate): 8 return amt*rate 9 10 11class ConverterController (NSObject): 12 13 # First define the IB Outlets, the 'ivar' calls below define new 14 # instance variables in the objective-C class (e.g. visible 15 # for introspection in objective-C) 16 converter = objc.IBOutlet() 17 dollarField = objc.IBOutlet() 18 rateField = objc.IBOutlet() 19 totalField = objc.IBOutlet() 20 21 def awakeFromNib(self): 22 # Provide some defaults for the user... 23 self.dollarField.setFloatValue_(2.0) 24 self.rateField.setFloatValue_(3.0) 25 26 @objc.IBAction 27 def convert_(self, sender): 28 rate = self.rateField.floatValue() 29 amt = self.dollarField.floatValue() 30 31 total = self.converter.convertAmount(rate, amt) 32 self.totalField.setFloatValue_(total) 33 self.rateField.selectText_(self) 34 35 #x = NSRunAlertPanel("Calculation Result", 36 # "The result is %s"%(total), "OK", None, None) 37 38 39sys.exit(NSApplicationMain(sys.argv)) 40