This is MiniSQLLoginPanel.m in view mode; [Download] [Up]
// MiniSQLLoginPanel:Panel #import "MiniSQLLoginPanel.h" #import "MiniSQLAdaptor.h" @implementation MiniSQLLoginPanel - doCancel:sender { [NXApp stopModal:NX_CANCELTAG]; return self; } - doLogin:sender { [NXApp stopModal:NX_OKTAG]; return self; } - (void)setConnectionDictionary:(NSDictionary *)aDictionary { NSString *hostname; NSString *database; NSString *name; NSString *password; [self disableFlushWindow]; database = [aDictionary objectForKey:DATABASE]; if (!database) { database = @""; } hostname = [aDictionary objectForKey:HOSTNAME]; if (!hostname) { hostname = @""; } name = [aDictionary objectForKey:NAME]; if (!name) { name = @""; } password = [aDictionary objectForKey:PASSWORD]; if (!password) { password = @""; } [nameField setStringValue:[name cString]]; [passwordField setStringValue:[password cString]]; [databaseField setStringValue:[database cString]]; [hostnameField setStringValue:[hostname cString]]; // select the first empty field, or the password field if none // are empty. if ([database length] == 0) { [databaseField selectText:self]; } else if ([hostname length] == 0) { [hostnameField selectText:self]; } else if ([name length] == 0) { [nameField selectText:self]; } else { [passwordField selectText:self]; } [self reenableFlushWindow]; [self flushWindowIfNeeded]; } - (NSDictionary *) connectionDictionary { NSString *name; NSString *password; NSString *hostname; NSString *database; NSMutableDictionary *info; info = [NSMutableDictionary dictionaryWithCapacity:4]; database = [NSString stringWithCString:[databaseField stringValue]]; if (database) { [info setObject:database forKey:DATABASE]; } hostname = [NSString stringWithCString:[hostnameField stringValue]]; if (hostname) { [info setObject:hostname forKey:HOSTNAME]; } name = [NSString stringWithCString:[nameField stringValue]]; if (name) { [info setObject:name forKey:NAME]; } password = [NSString stringWithCString:[passwordField stringValue]]; if (password) { [info setObject:password forKey:PASSWORD]; } return info; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.