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