Fix display of pull down menus to not show their first item, which

holds the title, and fix the attachment of pull down menus to their
button. In addition, fix -setTitle: to actually set the title of a
pull down menu.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30807 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Wolfgang Lux 2010-06-22 07:34:31 +00:00
parent 3b077dae8a
commit 4a7cd92c2d
3 changed files with 112 additions and 42 deletions

View file

@ -646,8 +646,11 @@ static NSImage *_pbc_image[5];
[[_menu menuRepresentation] setHighlightedItemIndex:
[_menu indexOfItem: _selectedItem]];
[[_menu menuRepresentation] setNeedsDisplayForItemAtIndex:
[_menu indexOfItem: oldSelectedItem]];
if (oldSelectedItem)
{
[[_menu menuRepresentation] setNeedsDisplayForItemAtIndex:
[_menu indexOfItem: oldSelectedItem]];
}
}
- (void) selectItemAtIndex: (int)index
@ -669,6 +672,32 @@ static NSImage *_pbc_image[5];
[self selectItem: anItem];
}
- (NSString *)title
{
id <NSMenuItem> selectedItem;
if (!_pbcFlags.usesItemFromMenu)
{
selectedItem = _menuItem;
}
else if (_pbcFlags.pullsDown)
{
if ([_menu numberOfItems] == 0)
{
selectedItem = _menuItem;
}
else
{
selectedItem = [_menu itemAtIndex: 0];
}
}
else
{
selectedItem = [self selectedItem];
}
return [selectedItem title];
}
- (void) setTitle: (NSString *)aString
{
id <NSMenuItem> anItem;
@ -688,6 +717,7 @@ static NSImage *_pbc_image[5];
else
{
anItem = [_menu itemAtIndex: 0];
[anItem setTitle: aString];
}
}
else
@ -830,8 +860,14 @@ static NSImage *_pbc_image[5];
if (_pbcFlags.pullsDown)
selectedItem = -1;
else
selectedItem = [self indexOfSelectedItem];
else
{
selectedItem = [self indexOfSelectedItem];
if (selectedItem == -1)
{
selectedItem = 0;
}
}
if (selectedItem > 0)
{