Skip to content

Commit

Permalink
modify NSComboBox to handle attributed strings (#314)
Browse files Browse the repository at this point in the history
* modify NSComboBox to handle attributed strings

* formatting
  • Loading branch information
williameveretteggplant authored Nov 4, 2024
1 parent ec89d16 commit c71f9dd
Showing 1 changed file with 29 additions and 13 deletions.
42 changes: 29 additions & 13 deletions Source/NSComboBoxCell.m
Original file line number Diff line number Diff line change
Expand Up @@ -1775,23 +1775,39 @@ - (NSString *) _stringValueAtIndex: (NSInteger)index
}
else
{
id object = nil;

if (_dataSource == nil)
{
NSLog(@"%@: No data source currently specified", self);
return nil;
}
else if ([_dataSource respondsToSelector:
@selector(comboBox:objectValueForItemAtIndex:)])
NSLog(@"%@: No data source currently specified", self);
}
else if ([_dataSource respondsToSelector:
@selector(comboBox:objectValueForItemAtIndex:)])
{
return [[_dataSource comboBox: (NSComboBox *)[self controlView]
objectValueForItemAtIndex: index] description];
}
else if ([_dataSource respondsToSelector:
@selector(comboBoxCell:objectValueForItemAtIndex:)])
object = [_dataSource comboBox: (NSComboBox *)[self controlView]
objectValueForItemAtIndex: index];
}
else if ([_dataSource respondsToSelector:
@selector(comboBoxCell:objectValueForItemAtIndex:)])
{
return [[_dataSource comboBoxCell: self
objectValueForItemAtIndex: index] description];
}
object = [_dataSource comboBoxCell: self objectValueForItemAtIndex: index];
}

if (object)
{
// Check for attributed string type and return actual string instead..
if ([object isKindOfClass: [NSAttributedString class]])
{
object = [object string];
}
else
{
object = [object description];
}

// Return the request object...
return object;
}
}

return nil;
Expand Down

0 comments on commit c71f9dd

Please sign in to comment.