[Pyobjc-dev] FahrenheitToCelsiusTransformer
Brought to you by:
ronaldoussoren
From: ufiedler <ufi...@we...> - 2005-02-03 19:21:13
|
Hi, Now I am trying to convert the FahrenheitToCelsiusTransformer example from Apple at file:///Developer/ADC%20Reference%20Library/documentation/Cocoa/ Conceptual/ValueTransformers/index.html. The cocoa version I implemented works as expected. But the python version does not. The registration of the transformer works fine. But allowsReverseTransformation is the only method being called from FahrenheitToCelsiusTransformer? I am using pyobjc 1.2. Thanks u.fiedler class FahrenheitToCelsiusTransformer(NSValueTransformer): def transformedValueClass(self): f=1.2 print "transformedValueClass", f.__class__ return f.__class__ transformedValueClass = accessor(transformedValueClass) def allowsReverseTransformation(self): print "allowsReverseTransformation" return NO def transformedValue(self, value): print "transformedValue", value if value == None: return None fahrenheitInputValue = value # calculate Celsius value celsiusOutputValue = (5.0/9.0)*(fahrenheitInputValue - 32.0) print "transformedValue", value, celsiusOutputValue return celsiusOutputValue def reverseTransformedValue(self, value): print "reverseTransformedValue", value if value == None: return None celsiusInputValue = value # calculate Fahrenheit value fahrenheitOutputValue = ((9.0/5.0) * celsiusInputValue) + 32.0 return fahrenheitOutputValue NibClassBuilder.extractClasses("MainMenu") class TransformerAppDelegate(NibClassBuilder.AutoBaseClass): celsius = ivar('celsius', 'd') def initialize(self): print "initialize" # Registering the Fahrenheit to Celsius value transformer trans = FahrenheitToCelsiusTransformer.alloc().init() NSValueTransformer.setValueTransformer_forName_(trans, u"FahrenheitToCelsiusTransformer") # some tests print " valueTransformerNames", NSValueTransformer.valueTransformerNames() print " valueTransformerForName_", NSValueTransformer.valueTransformerForName_(u"FahrenheitToCelsiusTransfo rmer") print " trans", trans print " type trans", type(trans) print " trans.", ; trans.transformedValueClass() print " trans.", ; trans.transformedValue(4) |