[rectOfItemAtIndex:] for horizontal orientation set items from

left to right. [locationForSubmenu:] for horizontal orientation
set submenu below the item in self.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@13662 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Fred Kiefer 2002-05-17 09:20:59 +00:00
parent f7edb957d6
commit 5522e94e87

View file

@ -609,7 +609,7 @@ _addLeftBorderOffsetToRect(NSRect aRect, BOOL isHorizontal)
} }
else else
{ {
theRect.origin.x = _bounds.size.width - (_cellSize.width * (index + 1)); theRect.origin.x = _cellSize.width * index;
theRect.origin.y = _leftBorderOffset; theRect.origin.y = _leftBorderOffset;
} }
@ -680,6 +680,8 @@ _addLeftBorderOffsetToRect(NSRect aRect, BOOL isHorizontal)
else else
submenuFrame = NSZeroRect; submenuFrame = NSZeroRect;
if (_horizontal == NO)
{
if (NSInterfaceStyleForKey(@"NSMenuInterfaceStyle", nil) if (NSInterfaceStyleForKey(@"NSMenuInterfaceStyle", nil)
== GSWindowMakerInterfaceStyle) == GSWindowMakerInterfaceStyle)
{ {
@ -689,15 +691,25 @@ _addLeftBorderOffsetToRect(NSRect aRect, BOOL isHorizontal)
NSMakePoint(aRect.origin.x, NSMakePoint(aRect.origin.x,
aRect.origin.y)]; aRect.origin.y)];
return NSMakePoint (frame.origin.x + frame.size.width, return NSMakePoint (NSMaxX(frame),
subOrigin.y - (submenuFrame.size.height + 3 - subOrigin.y - NSHeight(submenuFrame) - 3 +
2*[NSMenuView menuBarHeight])); 2*[NSMenuView menuBarHeight]);
} }
else else
{ {
return NSMakePoint (frame.origin.x + frame.size.width, return NSMakePoint(NSMaxX(frame),
frame.origin.y + frame.size.height NSMaxY(frame) - NSHeight(submenuFrame));
- submenuFrame.size.height); }
}
else
{
NSRect aRect = [self rectOfItemAtIndex:
[_menu indexOfItemWithSubmenu: aSubmenu]];
NSPoint subOrigin = [_window convertBaseToScreen:
NSMakePoint(NSMinX(aRect),
NSMaxY(aRect))];
return NSMakePoint(subOrigin.x,
subOrigin.y - NSHeight(submenuFrame));
} }
} }