This is ImperialObject.m in view mode; [Download] [Up]
#import "ImperialObject.h" @implementation ImperialObject - (void)awakeFromNib // This is one of the last methods executed after the nib file is loaded. // This is the Best way to initialize an object and jump into // a method after the nib file was loaded. { [BMIPanel makeKeyAndOrderFront:NULL]; [WeightTextField selectText:self]; } - (void)Calc:(id)sender { // Decalare Variables float weight; float height; float heightInt; float index; float gender; float agegroup; float dummyValue; // Assign variables heightInt = [HeightTextField intValue]; weight = [WeightTextField intValue]; // Calculatate BMI and display BMI // Convert Inches into feet height = heightInt / 12; // From Pound to Kilogram dummyValue = (weight*0.453); weight = dummyValue; // From Feet to Meter dummyValue = (0.3048*height); height = dummyValue; index = (weight/(height*height)); // Display BMI index number // Sets TextField as a NSFloatType [[IndexTextField cell] setEntryType:NSFloatType]; // Format the TextField with two number at the left of the floating point // and two numbers at the right of the floating point. [[IndexTextField cell] setFloatingPointFormat:NO left:2 right:2]; [IndexTextField setDoubleValue:index];// Display result [IndexTextField display]; // Used for MiscKit Gauge [IndexGauge setDoubleValue:index];// Display result // Used for MiscKit Gauge [IndexGauge display]; // Gender Male = 1, female = 2 gender = [GenderButton selectedTag]; // Age Group < 18 = 1, 20-29 = 2, >29 = 3 agegroup = [AgeGroupButton selectedTag]; // Figure out in what category the person is in // and display the status for that person. // Below 18, male, normal if ((agegroup == 1) && (gender == 1) && (index < 22)) { [StatusTextField setStringValue:@"Normal"]; [StatusTextField setTextColor:[NSColor greenColor]]; }; // Below 18, male, overweight if ((agegroup == 1) && (gender == 1) && (index > 22)) { [StatusTextField setStringValue:@"Over weight"]; [StatusTextField setTextColor:[NSColor redColor]]; }; // Below 18, female, normal if ((agegroup == 1) && (gender == 2) && (index < 20)) { [StatusTextField setStringValue:@"Normal"]; [StatusTextField setTextColor:[NSColor greenColor]]; }; // Below 18, female, overweight if ((agegroup == 1) && (gender == 2) && (index > 20)) { [StatusTextField setStringValue:@"Over weight"]; [StatusTextField setTextColor:[NSColor redColor]]; }; // 20-29, Male, under weight if ((agegroup == 2) && (gender == 1) && (index < 20)) { [StatusTextField setStringValue:@"Under weight"]; [StatusTextField setTextColor:[NSColor yellowColor]]; }; // 20-29, male, normal if ((agegroup == 2) && (gender == 1) && (index < 27.8) && (index > 20)) { [StatusTextField setStringValue:@"Normal"]; [StatusTextField setTextColor:[NSColor greenColor]]; }; // 20-29, male, over weight if ((agegroup == 2) && (gender == 1) && (index > 27.8)) { [StatusTextField setStringValue:@"Over weight"]; [StatusTextField setTextColor:[NSColor redColor]]; }; // 20-29, female, under weight if ((agegroup == 2) && (gender == 2) && (index < 20)) { [StatusTextField setStringValue:@"Under weight"]; [StatusTextField setTextColor:[NSColor yellowColor]]; }; // 20-29, female, normal if ((agegroup == 2) && (gender == 2) && (index < 27.3) && (index > 20)) { [StatusTextField setStringValue:@"Normal"]; [StatusTextField setTextColor:[NSColor greenColor]]; }; // 20-29, female, over weight if ((agegroup == 2) && (gender == 2) && (index > 27.3)) { [StatusTextField setStringValue:@"Over weight"]; [StatusTextField setTextColor:[NSColor redColor]]; }; // Over 29, Male, under weight if ((agegroup == 3) && (gender == 1) && (index < 20)) { [StatusTextField setStringValue:@"Under weight"]; [StatusTextField setTextColor:[NSColor yellowColor]]; }; // Over 29, male, normal if ((agegroup == 3) && (gender == 1) && (index < 25) && (index > 20)) { [StatusTextField setStringValue:@"Normal"]; [StatusTextField setTextColor:[NSColor greenColor]]; }; // Over 29, male, over weight if ((agegroup == 3) && (gender == 1) && (index > 25)) { [StatusTextField setStringValue:@"Over weight"]; [StatusTextField setTextColor:[NSColor redColor]]; }; // Over 29, female, under weight if ((agegroup == 3) && (gender == 2) && (index < 20)) { [StatusTextField setStringValue:@"Under weight"]; [StatusTextField setTextColor:[NSColor yellowColor]]; }; // Over 29, female, normal if ((agegroup == 3) && (gender == 2) && (index < 24) && (index > 20)) { [StatusTextField setStringValue:@"Normal"]; [StatusTextField setTextColor:[NSColor greenColor]]; }; // Over 29, female, over weight if ((agegroup == 3) && (gender == 2) && (index > 24)) { [StatusTextField setStringValue:@"Over weight"]; [StatusTextField setTextColor:[NSColor redColor]]; }; } - (void)HeightRadioInput:(id)sender { // Assign variables int feetinput; int inchesinput; float convertedinches; float height; // Assigns the value of the currently selected button feetinput = [FeetButton selectedTag]; // Assigns the value of the currently selected button inchesinput = [InchesButton selectedTag]; // Convert inches fraction (5/10) to floating point (0.50) convertedinches = feetinput * 12; height = inchesinput + convertedinches; // Display Height in the Height textfield [HeightTextField setIntValue:height];// Display result [HeightTextField display]; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.