From 82ad8f80232beed4ff795669d74e5aacc818ff39 Mon Sep 17 00:00:00 2001 From: Hank Ramsey Date: Sat, 29 Nov 2003 23:18:50 +0000 Subject: [PATCH] added input defaulting and error alerts --- macosx/SetTimeWindowController.m | 80 +++++--------------------------- 1 file changed, 12 insertions(+), 68 deletions(-) diff --git a/macosx/SetTimeWindowController.m b/macosx/SetTimeWindowController.m index 210de434b..0907c008b 100644 --- a/macosx/SetTimeWindowController.m +++ b/macosx/SetTimeWindowController.m @@ -50,13 +50,20 @@ - (IBAction)setTime:(id)sender { CelestiaSimulation *sim; - sim = [[CelestiaAppCore sharedAppCore] simulation]; -// NSLog( [dateField stringValue] ); - NSString* fmtString = @"%m/%d/%Y %H:%M:%S"; NSString* dateString = [dateField stringValue]; NSString* timeString = [timeField stringValue]; + NSString* inputString = [ [ dateString stringByAppendingString: @" " ] + stringByAppendingString: timeString ]; + NSString* fmtString = @"%m/%d/%Y %H:%M:%S"; + NSCalendarDate* cdate = [NSCalendarDate dateWithString: inputString calendarFormat: fmtString ]; + NSNumber* jd = [ Astro julianDate: cdate]; + + sim = [[CelestiaAppCore sharedAppCore] simulation]; if ( [dateString isEqualToString: @""] && [timeString isEqualToString: @""]) + { + NSRunAlertPanel(@"No Date or Time Entered",@"Please enter a date and/or time.",nil,nil,nil); return; + } if ( [timeString isEqualToString: @""] ) { NSLog(@"emptyTime"); @@ -74,79 +81,16 @@ NSLog(timeString); } - NSString* inputString = [ [ dateString stringByAppendingString: @" " ] - stringByAppendingString: timeString ]; - NSCalendarDate* cdate = [NSCalendarDate dateWithString: inputString calendarFormat: fmtString ]; if ( cdate == NULL ) { - NSLog(@"bad date"); +// NSLog(@"bad date"); + NSRunAlertPanel(@"Improper Date or Time Format",@"Please enter the date as \"mm/dd/yyyy\" and the time as \"hh:mm:ss\".",nil,nil,nil); return; } NSLog( [cdate description] ); - NSNumber* jd = [ Astro julianDate: cdate]; // float fjd = [jd intValue]; // NSLog ( @"jdate = %", fjd); [sim setDate: jd ]; -/* - CelestiaSimulation *sim; - CelestiaSelection *csel; - CelestiaVector *up; - double distance; - csel = nil; - //NSLog(@"-[GotoWindowController gotoObject:%@]",sender); - sim = [[CelestiaAppCore sharedAppCore] simulation]; - //NSLog(@"[objectField stringValue] = '%@'",[objectField stringValue]); - if ([[objectField stringValue] length]) - csel = [sim findObjectFromPath:[objectField stringValue]]; - if ((csel == nil) || [csel isEmpty]) - return; - [sim setSelection:csel]; - [sim geosynchronousFollow]; - distance = [[csel radius] doubleValue]*5.0; - if ([[distanceField stringValue] length]) - { - //NSLog(@"distanceField is filled in"); - // convert to km if necessary - switch ([unitsButton indexOfSelectedItem]) { - case UNITS_RADII: - //NSLog(@"Converting from radii"); - distance = [distanceField doubleValue]*[[csel radius] doubleValue]; - break; - case UNITS_AU: - //NSLog(@"Converting from AU"); - distance = [[Astro AUtoKilometers:[NSNumber numberWithDouble:[distanceField doubleValue]]] doubleValue]; - break; - case UNITS_KM: - //NSLog(@"don't have to convert from km"); - distance = [distanceField doubleValue]; - break; - default: - //NSLog(@"I don't know what the fuck the button has selected?"); - break; - } - } - distance = [[Astro kilometersToLightYears:[NSNumber numberWithDouble:distance]] doubleValue]; - up = [CelestiaVector vectorWithx:[NSNumber numberWithFloat:0.0] y:[NSNumber numberWithFloat:1.0] z:[NSNumber numberWithFloat:0.0]]; - if ([[latitudeField stringValue] length] && [[longitudeField stringValue] length]) - { - //NSLog(@"lat/lon provided"); - [sim - gotoSelection:[NSNumber numberWithFloat:5.0] - distance:[NSNumber numberWithDouble:distance] - longitude:[NSNumber numberWithDouble:[longitudeField doubleValue]*(M_PI/180.0)] - latitude:[NSNumber numberWithDouble:[latitudeField doubleValue]*(M_PI/180.0)] - up:up - ]; - } else { - //NSLog(@"No lat/lon"); - [sim - gotoSelection:[NSNumber numberWithFloat:5.0] - distance:[NSNumber numberWithDouble:distance] - up:up - coordinateSystem:@"ObserverLocal" - ]; - } -*/ } @end