diff options
author | stuconnolly <stuart02@gmail.com> | 2009-05-27 13:30:34 +0000 |
---|---|---|
committer | stuconnolly <stuart02@gmail.com> | 2009-05-27 13:30:34 +0000 |
commit | 4cb9f0b6ab99875d487ae9c2c438595978222a3e (patch) | |
tree | be63b305825ba346a73f5bb267bd7113150b61a2 /Source/TableStatus.m | |
parent | de6f4edd315c319bd7fbc37907176d665aa454dc (diff) | |
download | sequelpro-4cb9f0b6ab99875d487ae9c2c438595978222a3e.tar.gz sequelpro-4cb9f0b6ab99875d487ae9c2c438595978222a3e.tar.bz2 sequelpro-4cb9f0b6ab99875d487ae9c2c438595978222a3e.zip |
Redesigned table information pane.
Diffstat (limited to 'Source/TableStatus.m')
-rw-r--r-- | Source/TableStatus.m | 152 |
1 files changed, 0 insertions, 152 deletions
diff --git a/Source/TableStatus.m b/Source/TableStatus.m deleted file mode 100644 index d5bc5da4..00000000 --- a/Source/TableStatus.m +++ /dev/null @@ -1,152 +0,0 @@ -// -// $Id$ -// -// TableStatus.m -// sequel-pro -// -// Created by Jason Hallford (jason.hallford@byu.edu) on Th July 08 2004. -// sequel-pro Copyright (c) 2002-2003 Lorenz Textor. All rights reserved. -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// More info at <http://code.google.com/p/sequel-pro/> - -#import "TableStatus.h" -#import "SPTableData.h" -#import "SPStringAdditions.h" - -@implementation TableStatus - -- (void)setConnection:(CMMCPConnection *)theConnection -{ - mySQLConnection = theConnection; - [mySQLConnection retain]; -} - -- (NSString*)formatValueWithKey:(NSString *)aKey inDictionary:(NSDictionary*)statusDict withLabel:(NSString*)label -{ - NSString *value = [statusDict objectForKey:aKey]; - - if ([value isKindOfClass:[NSNull class]]) { - value = @"--"; - } - else { - // Format size strings - if ([aKey isEqualToString:@"Data_length"] || - [aKey isEqualToString:@"Max_data_length"] || - [aKey isEqualToString:@"Index_length"] || - [aKey isEqualToString:@"Data_free"]) { - - value = [NSString stringForByteSize:[value intValue]]; - } - // Format date strings to the user's long date format - else if ([aKey isEqualToString:@"Create_time"] || - [aKey isEqualToString:@"Update_time"]) { - - // Create date formatter - NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; - - [dateFormatter setFormatterBehavior:NSDateFormatterBehavior10_4]; - - [dateFormatter setDateStyle:NSDateFormatterLongStyle]; - [dateFormatter setTimeStyle:NSDateFormatterMediumStyle]; - - value = [dateFormatter stringFromDate:[NSDate dateWithNaturalLanguageString:value]]; - } - } - - NSString *labelVal = [NSString stringWithFormat:@"%@: %@", label, value]; - - return labelVal; -} - -- (void)loadTable:(NSString *)aTable -{ - // Store the table name away for future use... - selectedTable = aTable; - - // Retrieve the table status information via the table data cache - statusFields = [tableDataInstance statusValues]; - - // No table selected or view selected - if([aTable isEqualToString:@""] || !aTable || [[statusFields objectForKey:@"Engine"] isEqualToString:@"View"]) { - - if ([[statusFields objectForKey:@"Engine"] isEqualToString:@"View"]) { - [tableName setStringValue:[NSString stringWithFormat:@"Name: %@", selectedTable]]; - [tableType setStringValue:@"Type: View"]; - } else { - [tableName setStringValue:@"Name: --"]; - [tableType setStringValue:@"Type: --"]; - } - - [tableCreatedAt setStringValue:@"Created At: --"]; - [tableUpdatedAt setStringValue:@"Updated At: --"]; - - // Assign the row values... - [rowsNumber setStringValue:@"Number Of: --"]; - [rowsFormat setStringValue:@"Format: --"]; - [rowsAvgLength setStringValue:@"Avg. Length: --"]; - [rowsAutoIncrement setStringValue:@"Auto Increment: --"]; - - // Assign the size values... - [sizeData setStringValue:@"Data: --"]; - [sizeMaxData setStringValue:@"Max Data: --"]; - [sizeIndex setStringValue:@"Index: --"]; - [sizeFree setStringValue:@"Free: --"]; - - // Finally, set the value of the comments box - [commentsBox setStringValue:@"--"]; - - return; - } - - // Assign the table values... - [tableName setStringValue:[NSString stringWithFormat:@"Name: %@",selectedTable]]; - [tableType setStringValue:[self formatValueWithKey:@"Engine" inDictionary:statusFields withLabel:@"Type"]]; - [tableCreatedAt setStringValue:[self formatValueWithKey:@"Create_time" inDictionary:statusFields withLabel:@"Created At"]]; - [tableUpdatedAt setStringValue:[self formatValueWithKey:@"Update_time" inDictionary:statusFields withLabel:@"Updated At"]]; - - // Assign the row values... - [rowsNumber setStringValue:[self formatValueWithKey:@"Rows" inDictionary:statusFields withLabel:@"Approx. Number"]]; - [rowsFormat setStringValue:[self formatValueWithKey:@"Row_format" inDictionary:statusFields withLabel:@"Format"]]; - [rowsAvgLength setStringValue:[self formatValueWithKey:@"Avg_row_length" inDictionary:statusFields withLabel:@"Avg. Length"]]; - [rowsAutoIncrement setStringValue:[self formatValueWithKey:@"Auto_increment" inDictionary:statusFields withLabel:@"Auto Increment"]]; - - // Assign the size values... - [sizeData setStringValue:[self formatValueWithKey:@"Data_length" inDictionary:statusFields withLabel:@"Data"]]; - [sizeMaxData setStringValue:[self formatValueWithKey:@"Max_data_length" inDictionary:statusFields withLabel:@"Max Data"]]; - [sizeIndex setStringValue:[self formatValueWithKey:@"Index_length" inDictionary:statusFields withLabel:@"Index"]]; - [sizeFree setStringValue:[self formatValueWithKey:@"Data_free" inDictionary:statusFields withLabel:@"Free"]]; - - // Finally, assign the comments... - [commentsBox setStringValue:[statusFields objectForKey:@"Comment"]]; - - return; -} - -- (IBAction)reloadTable:(id)sender -{ - [tableDataInstance resetStatusData]; - [self loadTable:selectedTable]; -} - -- (id)init -{ - self = [super init]; - - return self; -} - -@end |