home *** CD-ROM | disk | FTP | other *** search
- ////////////////////////
- // AttributeEditor
- // by Charles Lloyd
- ////////////////////////
-
- ///////////////////
- // User Options
- ///////////////////
- id keyArray;
- id valueArray;
-
- id borderSize;
- id cellPadding;
- id cellSpacing;
- id fieldSize;
-
- ////////////////////
- // Internal State
- ////////////////////
- id entryCount;
- id repetitionIndex;
- id isEditable;
-
- - setKeyArray: anArray
- {
- keyArray = anArray;
- entryCount = [keyArray count];
- }
-
- - setValueArray: anArray
- {
- id aValueArrayCount;
- valueArray = anArray;
- aValueArrayCount = [valueArray count];
- if ((entryCount) && (entryCount != aValueArrayCount)) {
- [NSException raise:@"MismatchedCounts"
- format:@"keyArray count == %@, valueArray count == %@",
- entryCount, aValueArrayCount];
- }
- }
-
- - awake
- {
- id anArray1;
- id anArray2;
- anArray1 = @("Key 1", "A Longer Key");
- anArray2 = @("Value 1", "A Longer Value");
- anArray2 = [[anArray2 mutableCopy] autorelease];
-
- [self setKeyArray: anArray1];
- [self setValueArray: anArray2];
- borderSize = 1;
- cellSpacing = 0;
- cellPadding = 2;
- fieldSize = 15;
- repetitionIndex = 0;
- isEditable = NO;
-
- entryCount = nil;
- }
-
- - keyString
- {
- return [keyArray objectAtIndex:repetitionIndex];
- }
-
- - setKeyString:aString
- {
- return nil;
- }
-
- - valueString
- {
- return [valueArray objectAtIndex:repetitionIndex];
- }
-
- - setValueString:aValue
- {
- [valueArray replaceObjectAtIndex:repetitionIndex withObject:aValue];
- }
-