diff options
author | Bibiko <bibiko@eva.mpg.de> | 2009-08-10 16:38:54 +0000 |
---|---|---|
committer | Bibiko <bibiko@eva.mpg.de> | 2009-08-10 16:38:54 +0000 |
commit | 2c7f2098004f5fe90189c536affc73dfe67393e9 (patch) | |
tree | 0e9c2de229d366c07311a536249757696a138423 /Source/TableContent.m | |
parent | f083576763c6c97b03943e335a6948411e7214ef (diff) | |
download | sequelpro-2c7f2098004f5fe90189c536affc73dfe67393e9.tar.gz sequelpro-2c7f2098004f5fe90189c536affc73dfe67393e9.tar.bz2 sequelpro-2c7f2098004f5fe90189c536affc73dfe67393e9.zip |
• added to the FieldEditorSheet a max text length validation
• added the max text length validation for the TableContent while editing in the FieldEditorSheet
• reinvoked the validation of the max text length for TableContent editing while editing in a cell
• fixed in TableContent: prevent the editing of data cells in gray if the cell displays the gray NULL value
Diffstat (limited to 'Source/TableContent.m')
-rw-r--r-- | Source/TableContent.m | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/Source/TableContent.m b/Source/TableContent.m index c0d77959..e94037f3 100644 --- a/Source/TableContent.m +++ b/Source/TableContent.m @@ -237,7 +237,7 @@ // Set the line break mode and an NSFormatter subclass which truncates long strings for display [dataCell setLineBreakMode:NSLineBreakByTruncatingTail]; - //[dataCell setFormatter:[[SPDataCellFormatter new] autorelease]]; + [dataCell setFormatter:[[SPDataCellFormatter new] autorelease]]; // Set field length limit if field is a varchar to match varchar length if ([[columnDefinition objectForKey:@"typegrouping"] isEqualToString:@"string"]) { @@ -1876,9 +1876,17 @@ * This function changes the text color of text/blob fields which are not yet loaded to gray */ - (void)tableView:(CMCopyTable *)aTableView willDisplayCell:(id)cell forTableColumn:(NSTableColumn*)aTableColumn row:(int)row -{ +{ + + // If user wants to edit 'cell' set text color to black and return to avoid + // writing in gray if value was NULL + if ( [aTableView editedColumn] == [[aTableColumn identifier] intValue] && [aTableView editedRow] == row) { + [cell setTextColor:[NSColor blackColor]]; + return; + } + NSDictionary *column = NSArrayObjectAtIndex(dataColumns, [[aTableColumn identifier] intValue]); - + // For NULL cell's display the user's NULL value placeholder in grey to easily distinguish it from other values if ([cell respondsToSelector:@selector(setTextColor:)]) { @@ -2139,7 +2147,7 @@ if ([multipleLineEditingButton state] == NSOnState || isBlob) { SPFieldEditorController *fieldEditor = [[SPFieldEditorController alloc] init]; - + [fieldEditor setTextMaxLength:[[[aTableColumn dataCellForRow:rowIndex] formatter] textLimit]]; id editData = [[fieldEditor editWithObject:[[filteredResult objectAtIndex:rowIndex] objectAtIndex:[[aTableColumn identifier] intValue]] fieldName:[[aTableColumn headerCell] stringValue] usingEncoding:[mySQLConnection encoding] @@ -2152,7 +2160,7 @@ isEditingRow = YES; currentlyEditingRow = rowIndex; } - + [[filteredResult objectAtIndex:rowIndex] replaceObjectAtIndex:[[aTableColumn identifier] intValue] withObject:[editData copy]]; } |